diff --git a/AUTHORS b/AUTHORS index 9f72f04689895b1cf28eaa87f342c7a7a5292d77..951dadbbfcabcec5bf829dc6dd8513b98ee19e14 100644 --- a/AUTHORS +++ b/AUTHORS @@ -52,6 +52,7 @@ - Damien DASSIEU - Benjamin BOISSE - Pacôme GASNIER +- Wassim BOUALI # TRANSLATORS: diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e1a81efb6086862f77ca9837b40173166348d2e..8bee72b0608e1f6cd1c5ab69757db8355238a3c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ that explain the infaisability by the solver of a set of constraints - Modification proposal: id for modification bunch, modification applicability, email notification - Room preferences: user interface improvement, room exclusion +- Interface allowing user to manage differents constraints ## [0.3.0] - 2019-11-07 ### Added diff --git a/FlOpEDT/FlOpEDT/settings/local.py b/FlOpEDT/FlOpEDT/settings/local.py index 21b040b6ae83758e05cdcdc7efb3e66400127e55..b3c244858059ac8742843619924a2b7e37cd4e55 100644 --- a/FlOpEDT/FlOpEDT/settings/local.py +++ b/FlOpEDT/FlOpEDT/settings/local.py @@ -102,3 +102,4 @@ DEBUG_TOOLBAR_CONFIG = { } INTERNAL_IPS = ['127.0.0.1'] + diff --git a/FlOpEDT/api/TTapp/serializers.py b/FlOpEDT/api/TTapp/serializers.py index 13779386a78ad58a0d66a22f61ddee659320d3ca..a03a8497c5e5de866fbcffaf90b937a30c42f721 100644 --- a/FlOpEDT/api/TTapp/serializers.py +++ b/FlOpEDT/api/TTapp/serializers.py @@ -153,8 +153,10 @@ class TTConstraintSerializer(serializers.ModelSerializer): else : #Récupère le modele en relation avec un ManyToManyField ou un ForeignKey mod = field.related_model - typenamesplit= str(mod)[8:-2].split(".") - typename = typenamesplit[0]+"."+typenamesplit[2] + + typenamesplit = str(mod)[8:-2].split(".") + typename = typenamesplit[0] + "." + typenamesplit[2] + acceptablelist = mod.objects.values("id") #Filtre les ID dans acceptable list en fonction du department diff --git a/FlOpEDT/base/core/period_weeks.py b/FlOpEDT/base/core/period_weeks.py index 2be6a56854d4a71403e59bf811943cba73392a51..08e6fd182f990d35afd2e4e0addea16b4cbb8e62 100644 --- a/FlOpEDT/base/core/period_weeks.py +++ b/FlOpEDT/base/core/period_weeks.py @@ -91,7 +91,7 @@ class PeriodWeeks(): """ return Course.objects \ .filter( - year=year, + week__year=year, week__in=list(range(start, end + 1)), module__train_prog__department=department) \ .distinct() \ diff --git a/FlOpEDT/base/static/base/img/LasuppressiondesIRP.png b/FlOpEDT/base/static/base/img/LasuppressiondesIRP.png new file mode 100644 index 0000000000000000000000000000000000000000..768f6008c8a8f6eb2f73b6f8a249bab0c1bcb314 Binary files /dev/null and b/FlOpEDT/base/static/base/img/LasuppressiondesIRP.png differ diff --git a/FlOpEDT/base/static/base/img/ajout.png b/FlOpEDT/base/static/base/img/ajout.png new file mode 100644 index 0000000000000000000000000000000000000000..6226473ef32e63eab9c45c927b205b83230dbc9f Binary files /dev/null and b/FlOpEDT/base/static/base/img/ajout.png differ diff --git a/FlOpEDT/base/static/base/img/copier-coller-1.png b/FlOpEDT/base/static/base/img/copier-coller-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2d51532069ccb72c7368a469aba031af14f8bc0a Binary files /dev/null and b/FlOpEDT/base/static/base/img/copier-coller-1.png differ diff --git a/FlOpEDT/base/static/base/img/suppression.jpg b/FlOpEDT/base/static/base/img/suppression.jpg new file mode 100644 index 0000000000000000000000000000000000000000..165921f4c4be5ff3400dfa2902e31de631fb1397 Binary files /dev/null and b/FlOpEDT/base/static/base/img/suppression.jpg differ diff --git a/FlOpEDT/base/static/base/img/suppression.png b/FlOpEDT/base/static/base/img/suppression.png new file mode 100644 index 0000000000000000000000000000000000000000..67c616269cac4d525145b6736457eb6eb7614a81 Binary files /dev/null and b/FlOpEDT/base/static/base/img/suppression.png differ diff --git a/FlOpEDT/base/static/base/img/valider.png b/FlOpEDT/base/static/base/img/valider.png new file mode 100644 index 0000000000000000000000000000000000000000..7b05b73c8dbfb45845c02bd55f6f0ec7cf290326 Binary files /dev/null and b/FlOpEDT/base/static/base/img/valider.png differ diff --git a/FlOpEDT/base/static/base/variables.js b/FlOpEDT/base/static/base/variables.js index b3a227123840c4b8ded898d1d710bd265aa2f9ad..3abd79303645b6fa177ec3c106f89d870081635c 100644 --- a/FlOpEDT/base/static/base/variables.js +++ b/FlOpEDT/base/static/base/variables.js @@ -126,11 +126,14 @@ var file_fetch = function main(name, data) { file_fetch[name].data = data; file_fetch[name].done = true; - if (file_fetch.groups.done && file_fetch.constraints.done - && file_fetch.rooms.done) { - file_fetch.constraints.callback(); - file_fetch.rooms.callback(); - file_fetch.groups.callback(); + + // callback all when all received + if (!Object.keys(file_fetch).some(function(att){ + return !file_fetch[att].done ; + })) { + Object.keys(file_fetch).forEach(function(att){ + file_fetch[att].callback() ; + }); } } diff --git a/FlOpEDT/solve_board/static/solve_board/easySelect.js b/FlOpEDT/solve_board/static/solve_board/easySelect.js new file mode 100644 index 0000000000000000000000000000000000000000..4fc083f29973834c7555b07e12c011bfa2bb2d18 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/easySelect.js @@ -0,0 +1,308 @@ +//The options are on the bottom + +(function ($) { + $.fn.easySelect = function (options) { + return this.each(function () { + var settings = $.extend({ + search: true, + buttons: false, + placeholder: 'Select item', + selectColor: '#414c52', + placeholderColor: '#838383', + itemTitle: 'Selected items', + showEachItem: false, + width: '100%', + dropdownMaxHeight: 'auto' + }, options); + + var $this = $(this), + + numberOfOptions = $(this).children('option').length; + + $this.addClass('s-hidden'); + + $this.wrap('
'); + var $main = $this.closest('.easySelect').css('width', settings.width); + + $this.after('
'); + + var $styledSelect = $this.next('div.styledSelect'); + + $styledSelect.text(settings.placeholder).css('color', settings.placeholderColor); + + var MaxAllowed = $this.data("max"); + + var clear = $('',{ + 'class': 'clearSelectfromDiv', + html: '×', + 'style': 'display: none', + }).prependTo($main); + + var $list = $('