diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo
index 8dfc74b2d..7f7aaf9ee 100644
Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ
diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po
index 2784d4124..705dc97c8 100644
--- a/locale/en/LC_MESSAGES/django.po
+++ b/locale/en/LC_MESSAGES/django.po
@@ -5703,6 +5703,47 @@ msgstr "Task edited"
msgid "Taak verwijderd"
msgstr "Task deleted"
+#: proposals/forms.py:190
+msgid "Je dient een eindverantwoordelijke op te geven."
+msgstr "You are required to specify the researcher with final responsibility."
+
+#: proposals/forms.py:579
+msgid "Nieuwe beoogde startdatum"
+msgstr "New intended start date"
+
+#: proposals/models.py:517
+#: proposals/templates/proposals/vue_templates/proposal_archive_list.html:115
+#: proposals/templates/proposals/vue_templates/proposal_list.html:166
+msgid "Eindverantwoordelijke onderzoeker"
+msgstr "Researcher with final responsibility"
+
+#: proposals/templates/proposals/proposal_update_date_start.html:14
+#: proposals/templates/proposals/proposal_update_date_start.html:28
+msgid "Startdatum aanpassen"
+msgstr "Edit start date"
+
+#: proposals/templates/proposals/proposal_update_date_start.html:17
+msgid ""
+"Op deze pagina kan de startdatum worden aangepast van de aanvraag %(title)s "
+"(referentienummer %(ref_number)s). Let op! Als de review al "
+"is afgerond, wordt de nieuwe startdatum niet automatisch weergegeven in de "
+"PDF. Mocht je de PDF opnieuw willen genereren, neem hierover dan contact op "
+"met"
+msgstr ""
+"On this page, the start date of proposal %(title)s (reference number "
+"%(ref_number)s) can be edited. Note! If the review has "
+"already been concluded, the new start date will not be displayed in the PDF. "
+"If you would like the PDF to be generated with the new start date, please "
+"reach out to "
+
+#: reviews/templates/reviews/vue_templates/review_list.html:122
+msgid "Reviewronde beƫindigd: "
+msgstr "Reviewing round ended: "
+
+#: reviews/utils/review_actions.py:304
+msgid "Startdatum wijzigen"
+msgstr "Edit start date"
+
#~ msgid ""
#~ "De revisie bevat interventieonderzoek, terwijl de originele aanvraag dat "
#~ "niet bevat."
diff --git a/proposals/forms.py b/proposals/forms.py
index 382492b49..bb860fb6f 100644
--- a/proposals/forms.py
+++ b/proposals/forms.py
@@ -21,6 +21,7 @@
from .validators import UniqueTitleValidator
from .widgets import SelectMultipleUser, SelectUser
+from cdh.core.forms import DateField
class ProposalForm(UserKwargModelFormMixin, SoftValidationMixin,
ConditionalModelForm):
@@ -583,6 +584,15 @@ class Meta:
'dmp_file'
]
+class ProposalUpdateDateStartForm(forms.ModelForm):
+ date_start = DateField(label=_('Nieuwe beoogde startdatum'))
+
+ class Meta:
+ model = Proposal
+ fields = [
+ 'date_start'
+ ]
+
class ProposalSubmitForm(forms.ModelForm):
class Meta:
model = Proposal
diff --git a/proposals/templates/proposals/proposal_update_date_start.html b/proposals/templates/proposals/proposal_update_date_start.html
new file mode 100644
index 000000000..389eceac6
--- /dev/null
+++ b/proposals/templates/proposals/proposal_update_date_start.html
@@ -0,0 +1,33 @@
+{% extends "base/base.html" %}
+
+{% load static %}
+{% load i18n %}
+
+{% block header_title %}
+ {% trans "Formulieren aanpassen" %} - {{ block.super }}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {% trans "Startdatum aanpassen" %}
+
+
+ {% blocktrans trimmed with title=proposal.title ref_number=proposal.reference_number %}
+ Op deze pagina kan de startdatum worden aangepast van de aanvraag {{ title }}
+ (referentienummer {{ ref_number }}). Let op! Als de review al is afgerond,
+ wordt de nieuwe startdatum niet automatisch weergegeven in de PDF. Mocht je de PDF
+ opnieuw willen genereren, neem hierover dan contact op met
+ {% endblocktrans %}
+ portalsupport.gw@uu.nl.
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/proposals/urls.py b/proposals/urls.py
index d7dcd56e5..8b42ab94c 100644
--- a/proposals/urls.py
+++ b/proposals/urls.py
@@ -15,7 +15,8 @@
ProposalSubmitPreApproved, ProposalUpdatePreApproved, \
ProposalUsersOnlyArchiveView, \
ProposalCopyAmendment, ProposalsPublicArchiveView, \
- ProposalUpdateDataManagement, TranslatedConsentFormsView
+ ProposalUpdateDataManagement, TranslatedConsentFormsView, \
+ ProposalUpdateDateStart
from .views.study_views import StudyStart, StudyConsent
from .views.wmo_views import WmoCreate, WmoUpdate, \
@@ -84,6 +85,8 @@
name='data_management'),
path('update_data_management//', ProposalUpdateDataManagement.as_view(),
name='update_data_management'),
+ path('update_date_start//', ProposalUpdateDateStart.as_view(),
+ name='update_date_start'),
path('submit//', include([
path('', ProposalSubmit.as_view(), name='submit'),
diff --git a/proposals/views/proposal_views.py b/proposals/views/proposal_views.py
index 2c767133b..ad3fa98ec 100644
--- a/proposals/views/proposal_views.py
+++ b/proposals/views/proposal_views.py
@@ -28,7 +28,8 @@
from ..forms import ProposalConfirmationForm, ProposalCopyForm, \
ProposalDataManagementForm, ProposalForm, ProposalStartPracticeForm, \
ProposalSubmitForm, RevisionProposalCopyForm, AmendmentProposalCopyForm, \
- ProposalUpdateDataManagementForm, TranslatedConsentForms
+ ProposalUpdateDataManagementForm, ProposalUpdateDateStartForm, \
+ TranslatedConsentForms
from ..models import Proposal, Wmo
from ..utils import generate_pdf, generate_ref_number
from proposals.mixins import ProposalMixin, ProposalContextMixin, \
@@ -376,7 +377,19 @@ class ProposalUpdateDataManagement(GroupRequiredMixin, generic.UpdateView):
def get_success_url(self):
"""Continue to the URL specified in the 'next' POST parameter"""
return reverse('reviews:detail', args=[self.object.latest_review().pk])
+
+class ProposalUpdateDateStart(GroupRequiredMixin, generic.UpdateView):
+ """
+ Allows the secretary to change the date_start on the Proposal level
+ """
+ model = Proposal
+ template_name = 'proposals/proposal_update_date_start.html'
+ form_class = ProposalUpdateDateStartForm
+ group_required = settings.GROUP_SECRETARY
+ def get_success_url(self):
+ """Continue to the URL specified in the 'next' POST parameter"""
+ return reverse('reviews:detail', args=[self.object.latest_review().pk])
class ProposalSubmit(ProposalContextMixin, AllowErrorsOnBackbuttonMixin, UpdateView, ):
model = Proposal
diff --git a/reviews/api/views.py b/reviews/api/views.py
index 9d8953025..37d5aa0a8 100644
--- a/reviews/api/views.py
+++ b/reviews/api/views.py
@@ -360,6 +360,8 @@ def get_context(self):
'CLOSED': Review.CLOSED,
'GO': Review.GO,
'GO_POST_HOC': Review.GO_POST_HOC,
+ 'REVISION': Review.REVISION,
+
}
context['current_user_pk'] = self.request.user.pk
diff --git a/reviews/templates/reviews/vue_templates/review_list.html b/reviews/templates/reviews/vue_templates/review_list.html
index f56929f52..b9f90fcea 100644
--- a/reviews/templates/reviews/vue_templates/review_list.html
+++ b/reviews/templates/reviews/vue_templates/review_list.html
@@ -118,6 +118,12 @@
{{ review.get_stage_display }}
{% endverbatim %}
+
+ {% trans "Reviewronde beƫindigd: " %}
+ {% verbatim %}
+ {{ review.date_end | date("DD-MM-YYYY") }}
+ {% endverbatim %}
+
diff --git a/reviews/utils/review_actions.py b/reviews/utils/review_actions.py
index a9d61bc2c..41801ca66 100644
--- a/reviews/utils/review_actions.py
+++ b/reviews/utils/review_actions.py
@@ -22,6 +22,7 @@ def __init__(self, review, user):
DiscontinueReview(review, user),
SendConfirmation(review, user),
ChangeArchiveStatus(review, user),
+ ChangeDateStart(review, user),
]
self.ufl_actions = []
@@ -281,4 +282,24 @@ def description(self):
return _('Verberg aanvraag uit het archief')
else:
return _('Plaats aanvraag in het archief.')
+
+class ChangeDateStart(ReviewAction):
+
+ def is_available(self):
+
+ user = self.user
+
+ user_groups = user.groups.values_list("name", flat=True)
+ if not settings.GROUP_SECRETARY in user_groups:
+ return False
+
+ return True
+
+ def action_url(self):
+
+ return reverse('proposals:update_date_start', args=(self.review.proposal.pk,))
+
+ def description(self):
+
+ return _('Startdatum wijzigen')