diff --git a/doc/configure_instance.rst b/doc/configure_instance.rst index 1fbcba1aa2c71791313536b23d99fc8eb599b0fd..fe19cd6619a46e673818c0decf71d406af480d4b 100644 --- a/doc/configure_instance.rst +++ b/doc/configure_instance.rst @@ -402,7 +402,10 @@ Assign reviewers, again ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Link: https://strass-master.dev.pasteur.cloud/setup/review/overview/ -You can still assign and re-assign reviewers. A reviewer can be automatically unassigned if zhe was not manually assigned and have not started yet to provide a review +.. note:: + You can re-run reviewers assignation **without risk** of data loss. + +You can still assign and re-assign reviewers. A reviewer can be automatically unassigned only if zhe was not manually assigned and have not started yet to provide a review. Reviews that have been already started are kept. **Use case: new conflicts of interest** diff --git a/src/strass/strass_app/locale/en/LC_MESSAGES/django.po b/src/strass/strass_app/locale/en/LC_MESSAGES/django.po index 63b137f638cf881adfc16a3bf71ebd674b0d0a26..e0b64836ac523e8b18232f8385e50befbe5872ae 100644 --- a/src/strass/strass_app/locale/en/LC_MESSAGES/django.po +++ b/src/strass/strass_app/locale/en/LC_MESSAGES/django.po @@ -2844,6 +2844,15 @@ msgstr "" "automatically assigned. Any review that is either manually assigned or " "already answered by the author will be kept." +msgid "ComputeAutoReviewView information about" +msgstr "" +"When re-running assignation data loss is prevented. Any review that is " +"either manually assigned or already answered by the author will be kept, i.e " +"a reviewer will not be unsigned if zhe have started to review.<br/>Re-" +"running the assignation is useful when new reviewers arrive or new conflicts " +"of interest declared, see <a href=\"/doc/configure_instance.html#assign-" +"reviewers-again\" target=\"_blank\">documentation</a> for more." + msgid "MassMailingWizard.Prepare.title" msgstr "Preparing the mass mailing" diff --git a/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po b/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po index 5828bdc68c767dd50cacbe72a569474e98ba8b4c..380375970a200105b90baa86c2743ebf0edfa590 100644 --- a/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po +++ b/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po @@ -2973,6 +2973,16 @@ msgstr "" "vides et assignées automatiquement. Une review qui est donc soit " "manuellement assignée, soit déjà remplie sera gardée." +msgid "ComputeAutoReviewView information about" +msgstr "" +"Vous ne pouvez pas perdre de donnée en relançant l'assignation. Toutes les " +"reviews attribuées manuellement ou déjà commencées seront conservées. En " +"d'autre terme un(e) reviewer ne sera pas dé-assigné d'un candidat si iel à " +"commencé à écrire la review.<br/>Relancer l'assignation est utile en cas de " +"nouveau reviewer, ou de nouveau conflit d'intérêt, voir la <a href=\"/doc/" +"configure_instance.html#assign-reviewers-again\" " +"target=\"_blank\">documentation</a>." + msgid "MassMailingWizard.Prepare.title" msgstr "Préparer le message" diff --git a/src/strass/strass_app/templates/strass_app/review_allocation.html b/src/strass/strass_app/templates/strass_app/review_allocation.html index 5f4d10cadb5a0991c098d33f069d6ae7450b5fc3..4081e72304576cc9b7beca05e0a2aca6ac0c08ca 100644 --- a/src/strass/strass_app/templates/strass_app/review_allocation.html +++ b/src/strass/strass_app/templates/strass_app/review_allocation.html @@ -41,6 +41,7 @@ data-target="#modalForm" data-modal-title="{%trans 'Automatized allocation of reviewer'%}" data-modal-submit="{%trans 'Compute automatic allocation'%}" + data-modal-css-class="modal-dialog modal-lg" ><i class="fa fa-cogs"></i> {%trans "Compute automatic allocation" %}...</a> </div> {% endblock page_title_right%} diff --git a/src/strass/strass_app/views.py b/src/strass/strass_app/views.py index f0f9dd238e6a54c7f63a28e86425286cc7fadbc8..945b7fc917aab0ebc40f6a504c0481e40c54c959 100644 --- a/src/strass/strass_app/views.py +++ b/src/strass/strass_app/views.py @@ -2102,6 +2102,22 @@ class ReviewAllocationFormView(mixins.OnlyJuryManagerMixin, ModalFormMixin, Form success_url = reverse_lazy('strass:review-allocation') form_class = forms.ReviewPerCandidateForm + def get_form(self, form_class=None): + form = super().get_form() + helper = FormHelper() + helper.form_tag = False + helper.layout = layout.Layout( + layout.HTML('<p>' + gettext("ComputeAutoReviewView information about") + '</p>'), + 'stage', + 'count', + 'match', + 'reviewer_groups', + 'candidate_groups', + 'refused_candidate_groups', + ) + form.helper = helper + return form + def form_valid(self, form): review_allocation.compute_allocation( min_review_per_candidate=form.cleaned_data["count"],