diff --git a/doc/configure_instance.rst b/doc/configure_instance.rst index 5c52e5de3a93b962833a256dfa30efabc0b404c5..721e5ec2c9d46386163ea501d3d00c182d6f02bd 100644 --- a/doc/configure_instance.rst +++ b/doc/configure_instance.rst @@ -396,7 +396,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 6798b5673e49554ab2091271009e76468c52063f..c5af561a06ca7b90317bdb96e1b31d3ca73feabc 100644 --- a/src/strass/strass_app/locale/en/LC_MESSAGES/django.po +++ b/src/strass/strass_app/locale/en/LC_MESSAGES/django.po @@ -2840,6 +2840,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 f88d736dd13f6f0c62ff6411f54934ba8634f163..171655e2fb2c33b1d0f30c5fcc2e7f1a6db254df 100644 --- a/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po +++ b/src/strass/strass_app/locale/fr/LC_MESSAGES/django.po @@ -2969,6 +2969,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"],