From 703aafb547e4ab91cd9086420d06acd7e964e5d1 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Tue, 31 Oct 2023 16:50:06 -0400 Subject: [PATCH 01/15] Implemented descriptions to user roles in Wagtail user edit/create views --- hypha/apply/users/forms.py | 73 ++++++++++++++++++- hypha/apply/users/groups.py | 36 ++++++--- hypha/apply/users/models.py | 8 ++ .../templates/wagtailusers/users/create.html | 5 ++ .../templates/wagtailusers/users/edit.html | 2 + 5 files changed, 113 insertions(+), 11 deletions(-) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index 13dcd722e7..d4d9c85c41 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -1,11 +1,15 @@ from django import forms +from django.db import models from django.contrib.auth import get_user_model +from django.contrib.auth.models import Group from django.contrib.auth.forms import AuthenticationForm from django.utils.translation import gettext_lazy as _ +from django.template.defaultfilters import mark_safe from django_select2.forms import Select2Widget from wagtail.users.forms import UserCreationForm, UserEditForm +from itertools import chain -from .models import AuthSettings +from .models import AuthSettings, GroupDesc User = get_user_model() @@ -36,8 +40,68 @@ def __init__(self, *args, **kwargs): ) +class GroupsModelMultipleChoiceField(forms.ModelMultipleChoiceField): + """ + A custom ModelMultipleChoiceField utilized to provide a custom label for the group prompts + """ + + _group_desc_mapping = None + + @property + def group_desc_mapping(self): + """ + Return a dict of {: } to prevent unneeded queries to the DB + every label call retrieval. + + This was implemented as a property function as when storing this as a regular variable + property interfered with Django's migration/makemigration functionality. + """ + if self._group_desc_mapping is None: + self._group_desc_mapping = dict([(group_desc.group.name, group_desc.help_text) for group_desc in GroupDesc.objects.all()]) + + return self._group_desc_mapping + + @classmethod + def get_group_mmcf( + cls, model_mulitple_choice_field: forms.ModelMultipleChoiceField + ): # Handle the insertion of group help text + group_field_dict = model_mulitple_choice_field.__dict__ + queryset = group_field_dict[ + "_queryset" + ] # Pull the queryset form the group field + unneeded_keys = ("empty_label", "_queryset") + for key in unneeded_keys: + group_field_dict.pop( + key, None + ) # Pop unneeded keys/values, ignore if they don't exist. + + # Overwrite the existing group's ModelMultipleChoiceField with the custom GroupsModelMultipleChoiceField that will provide the help text + return GroupsModelMultipleChoiceField(queryset=queryset, **group_field_dict) + + def label_from_instance(self, group_obj): + """ + Overwriting ModelMultipleChoiceField's label from instance to provide help_text (if it exists) + """ + help_text = self.group_desc_mapping.get(group_obj.name) + if help_text: + # return mark_safe(f"

{group_obj.name}

{help_text}

") + return mark_safe(f"{group_obj.name}

{help_text}

") + return group_obj.name + + class CustomUserEditForm(CustomUserAdminFormBase, UserEditForm): - pass +# pass + """ + A custom UserEditForm used to provide custom fields (ie. custom group fields) + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Overwrite the existing group's ModelMultipleChoiceField with the custom GroupsModelMultipleChoiceField that will provide the help text + self.fields["groups"] = GroupsModelMultipleChoiceField.get_group_mmcf( + self.fields["groups"] + ) class CustomUserCreationForm(CustomUserAdminFormBase, UserCreationForm): @@ -57,6 +121,11 @@ def __init__(self, request=None, *args, **kwargs): help_text=self.user_settings.consent_help, required=True, ) + + # Overwrite the existing group's ModelMultipleChoiceField with the custom GroupsModelMultipleChoiceField that will provide the help text + self.fields["groups"] = GroupsModelMultipleChoiceField.get_group_mmcf( + self.fields["groups"] + ) class ProfileForm(forms.ModelForm): diff --git a/hypha/apply/users/groups.py b/hypha/apply/users/groups.py index 41bcc0abf7..8d40efd808 100644 --- a/hypha/apply/users/groups.py +++ b/hypha/apply/users/groups.py @@ -1,25 +1,39 @@ -APPLICANT_GROUP_NAME = "Applicant" -STAFF_GROUP_NAME = "Staff" -REVIEWER_GROUP_NAME = "Reviewer" -TEAMADMIN_GROUP_NAME = "Staff Admin" -PARTNER_GROUP_NAME = "Partner" -COMMUNITY_REVIEWER_GROUP_NAME = "Community reviewer" -APPROVER_GROUP_NAME = "Approver" -FINANCE_GROUP_NAME = "Finance" -CONTRACTING_GROUP_NAME = "Contracting" +from django.utils.translation import gettext_lazy as _ + +APPLICANT_GROUP_NAME = _("Applicant") +STAFF_GROUP_NAME = _("Staff") +REVIEWER_GROUP_NAME = _("Reviewer") +TEAMADMIN_GROUP_NAME = _("Staff Admin") +PARTNER_GROUP_NAME = _("Partner") +COMMUNITY_REVIEWER_GROUP_NAME = _("Community Reviewer") +APPROVER_GROUP_NAME = _("Approver") +FINANCE_GROUP_NAME = _("Finance") +CONTRACTING_GROUP_NAME = _("Contracting") + +APPLICANT_HELP_TEXT = _("Can access their own application and communicate via the communication tab.") +STAFF_HELP_TEXT = _("View and edit all submissions, submit reviews, send determinations, and set up applications.") +REVIEWER_HELP_TEXT = _("Has a dashboard and can submit reviews. Advisory Council Members are typically assigned this role.") +PARTNER_HELP_TEXT = _("Can view, edit, and comment on a specific application they are assigned to.") +APPROVER_HELP_TEXT = _("Can review/approve PAF, and access compliance documents. Must also be in group: Staff, Contracting, or Finance.") +FINANCE_HELP_TEXT = _("Can review/approve the PAF, access documents associated with contracting, and access invoices approved by Staff.") +CONTRACTING_HELP_TEXT = _("Can review/approve the PAF and access documents associated with contracting.") + GROUPS = [ { "name": APPLICANT_GROUP_NAME, "permissions": [], + "help_text": APPLICANT_HELP_TEXT, }, { "name": STAFF_GROUP_NAME, "permissions": [], + "help_text": STAFF_HELP_TEXT, }, { "name": REVIEWER_GROUP_NAME, "permissions": [], + "help_text": REVIEWER_HELP_TEXT, }, { "name": TEAMADMIN_GROUP_NAME, @@ -28,6 +42,7 @@ { "name": PARTNER_GROUP_NAME, "permissions": [], + "help_text": PARTNER_HELP_TEXT, }, { "name": COMMUNITY_REVIEWER_GROUP_NAME, @@ -36,13 +51,16 @@ { "name": APPROVER_GROUP_NAME, "permissions": [], + "help_text": APPROVER_HELP_TEXT, }, { "name": FINANCE_GROUP_NAME, "permissions": [], + "help_text": FINANCE_HELP_TEXT, }, { "name": CONTRACTING_GROUP_NAME, "permissions": [], + "help_text": CONTRACTING_HELP_TEXT, }, ] diff --git a/hypha/apply/users/models.py b/hypha/apply/users/models.py index 44ee07b515..eefb936f55 100644 --- a/hypha/apply/users/models.py +++ b/hypha/apply/users/models.py @@ -362,3 +362,11 @@ class Meta: _("Register form customizations"), ), ] + + +class GroupDesc(models.Model): + group = models.OneToOneField(Group, on_delete=models.CASCADE, primary_key=True) + help_text = models.CharField(verbose_name="Help Text", max_length=255) + + def __str__(self): + return self.help_text \ No newline at end of file diff --git a/hypha/apply/users/templates/wagtailusers/users/create.html b/hypha/apply/users/templates/wagtailusers/users/create.html index cdc722089f..2c91a52a01 100644 --- a/hypha/apply/users/templates/wagtailusers/users/create.html +++ b/hypha/apply/users/templates/wagtailusers/users/create.html @@ -1,4 +1,5 @@ {% extends "wagtailusers/users/create.html" %} +{% load static %} {% block fields %} {% if form.separate_username_field %} @@ -24,3 +25,7 @@ {% include "wagtailadmin/shared/field_as_li.html" with field=form.is_active %} {% endif %} {% endblock fields %} + +{% block extra_css %} + +{% endblock %} diff --git a/hypha/apply/users/templates/wagtailusers/users/edit.html b/hypha/apply/users/templates/wagtailusers/users/edit.html index ab4f80297d..b4d72a1f07 100644 --- a/hypha/apply/users/templates/wagtailusers/users/edit.html +++ b/hypha/apply/users/templates/wagtailusers/users/edit.html @@ -2,6 +2,7 @@ {% extends "wagtailusers/users/edit.html" %} {% load wagtailimages_tags %} {% load users_tags %} +{% load static %} {% load i18n %} {% block content %} @@ -106,6 +107,7 @@ {% endblock %} {% block extra_css %} + {{ block.super }} {{ form.media.css }} {% endblock %} From 5b9152d8e079ff9344466aaa0a6df2b58226be2c Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Tue, 31 Oct 2023 16:50:22 -0400 Subject: [PATCH 02/15] Implemented descriptions to user roles in Wagtail user edit/create views --- .../apply/users/migrations/0021_groupdesc.py | 34 +++++++++++++++++++ .../src/sass/apply/wagtail_groups_list.scss | 18 ++++++++++ 2 files changed, 52 insertions(+) create mode 100644 hypha/apply/users/migrations/0021_groupdesc.py create mode 100644 hypha/static_src/src/sass/apply/wagtail_groups_list.scss diff --git a/hypha/apply/users/migrations/0021_groupdesc.py b/hypha/apply/users/migrations/0021_groupdesc.py new file mode 100644 index 0000000000..be2403ea85 --- /dev/null +++ b/hypha/apply/users/migrations/0021_groupdesc.py @@ -0,0 +1,34 @@ +# Generated by Django 3.2.22 on 2023-10-31 17:26 + +from django.db import migrations, models +from django.contrib.auth.models import Group +import django.db.models.deletion + +from hypha.apply.users.groups import GROUPS +from hypha.apply.users.models import GroupDesc + + +def add_desc_groups(apps, schema_editor): + for group_data in GROUPS: + group, created = Group.objects.get_or_create(name=group_data["name"]) + if group_data.get("help_text") is not None: + GroupDesc.objects.create(group=group, help_text=group_data["help_text"]) + + +class Migration(migrations.Migration): + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ('users', '0020_auto_20230625_1825'), + ] + + operations = [ + migrations.CreateModel( + name='GroupDesc', + fields=[ + ('group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='auth.group')), + ('help_text', models.CharField(max_length=255, verbose_name='Help Text')), + ], + ), + migrations.RunPython(add_desc_groups), + ] diff --git a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss new file mode 100644 index 0000000000..feda37ee7a --- /dev/null +++ b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss @@ -0,0 +1,18 @@ +// Abstracts +@import "abstracts/functions"; +@import "abstracts/mixins"; +@import "abstracts/variables"; + +.help-text { + font-size: smaller; + padding-left: 15px; + color: var(--w-color-grey-400); +} + +.form { + &__label { + p { + margin: 0; + } + } +} From e442524a04c161a8f3c4fde497097e0b2cbf7365 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Tue, 31 Oct 2023 16:54:04 -0400 Subject: [PATCH 03/15] Linting fixes --- hypha/apply/users/forms.py | 19 ++++++++----- hypha/apply/users/groups.py | 28 ++++++++++++++----- .../apply/users/migrations/0021_groupdesc.py | 22 +++++++++++---- hypha/apply/users/models.py | 2 +- 4 files changed, 50 insertions(+), 21 deletions(-) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index d4d9c85c41..ef7b3f96ae 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -51,13 +51,18 @@ class GroupsModelMultipleChoiceField(forms.ModelMultipleChoiceField): def group_desc_mapping(self): """ Return a dict of {: } to prevent unneeded queries to the DB - every label call retrieval. - - This was implemented as a property function as when storing this as a regular variable + every label call retrieval. + + This was implemented as a property function as when storing this as a regular variable property interfered with Django's migration/makemigration functionality. """ if self._group_desc_mapping is None: - self._group_desc_mapping = dict([(group_desc.group.name, group_desc.help_text) for group_desc in GroupDesc.objects.all()]) + self._group_desc_mapping = dict( + [ + (group_desc.group.name, group_desc.help_text) + for group_desc in GroupDesc.objects.all() + ] + ) return self._group_desc_mapping @@ -85,12 +90,12 @@ def label_from_instance(self, group_obj): help_text = self.group_desc_mapping.get(group_obj.name) if help_text: # return mark_safe(f"

{group_obj.name}

{help_text}

") - return mark_safe(f"{group_obj.name}

{help_text}

") + return mark_safe(f'{group_obj.name}

{help_text}

') return group_obj.name class CustomUserEditForm(CustomUserAdminFormBase, UserEditForm): -# pass + # pass """ A custom UserEditForm used to provide custom fields (ie. custom group fields) """ @@ -121,7 +126,7 @@ def __init__(self, request=None, *args, **kwargs): help_text=self.user_settings.consent_help, required=True, ) - + # Overwrite the existing group's ModelMultipleChoiceField with the custom GroupsModelMultipleChoiceField that will provide the help text self.fields["groups"] = GroupsModelMultipleChoiceField.get_group_mmcf( self.fields["groups"] diff --git a/hypha/apply/users/groups.py b/hypha/apply/users/groups.py index 8d40efd808..b802f436da 100644 --- a/hypha/apply/users/groups.py +++ b/hypha/apply/users/groups.py @@ -10,13 +10,27 @@ FINANCE_GROUP_NAME = _("Finance") CONTRACTING_GROUP_NAME = _("Contracting") -APPLICANT_HELP_TEXT = _("Can access their own application and communicate via the communication tab.") -STAFF_HELP_TEXT = _("View and edit all submissions, submit reviews, send determinations, and set up applications.") -REVIEWER_HELP_TEXT = _("Has a dashboard and can submit reviews. Advisory Council Members are typically assigned this role.") -PARTNER_HELP_TEXT = _("Can view, edit, and comment on a specific application they are assigned to.") -APPROVER_HELP_TEXT = _("Can review/approve PAF, and access compliance documents. Must also be in group: Staff, Contracting, or Finance.") -FINANCE_HELP_TEXT = _("Can review/approve the PAF, access documents associated with contracting, and access invoices approved by Staff.") -CONTRACTING_HELP_TEXT = _("Can review/approve the PAF and access documents associated with contracting.") +APPLICANT_HELP_TEXT = _( + "Can access their own application and communicate via the communication tab." +) +STAFF_HELP_TEXT = _( + "View and edit all submissions, submit reviews, send determinations, and set up applications." +) +REVIEWER_HELP_TEXT = _( + "Has a dashboard and can submit reviews. Advisory Council Members are typically assigned this role." +) +PARTNER_HELP_TEXT = _( + "Can view, edit, and comment on a specific application they are assigned to." +) +APPROVER_HELP_TEXT = _( + "Can review/approve PAF, and access compliance documents. Must also be in group: Staff, Contracting, or Finance." +) +FINANCE_HELP_TEXT = _( + "Can review/approve the PAF, access documents associated with contracting, and access invoices approved by Staff." +) +CONTRACTING_HELP_TEXT = _( + "Can review/approve the PAF and access documents associated with contracting." +) GROUPS = [ diff --git a/hypha/apply/users/migrations/0021_groupdesc.py b/hypha/apply/users/migrations/0021_groupdesc.py index be2403ea85..44116250b4 100644 --- a/hypha/apply/users/migrations/0021_groupdesc.py +++ b/hypha/apply/users/migrations/0021_groupdesc.py @@ -16,18 +16,28 @@ def add_desc_groups(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ - ('auth', '0012_alter_user_first_name_max_length'), - ('users', '0020_auto_20230625_1825'), + ("auth", "0012_alter_user_first_name_max_length"), + ("users", "0020_auto_20230625_1825"), ] operations = [ migrations.CreateModel( - name='GroupDesc', + name="GroupDesc", fields=[ - ('group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='auth.group')), - ('help_text', models.CharField(max_length=255, verbose_name='Help Text')), + ( + "group", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + primary_key=True, + serialize=False, + to="auth.group", + ), + ), + ( + "help_text", + models.CharField(max_length=255, verbose_name="Help Text"), + ), ], ), migrations.RunPython(add_desc_groups), diff --git a/hypha/apply/users/models.py b/hypha/apply/users/models.py index eefb936f55..6c3bacc648 100644 --- a/hypha/apply/users/models.py +++ b/hypha/apply/users/models.py @@ -369,4 +369,4 @@ class GroupDesc(models.Model): help_text = models.CharField(verbose_name="Help Text", max_length=255) def __str__(self): - return self.help_text \ No newline at end of file + return self.help_text From a04c2110f347770eebf24cf1a0e66837de47d5a8 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Tue, 31 Oct 2023 17:16:03 -0400 Subject: [PATCH 04/15] More linting --- hypha/apply/users/forms.py | 4 +++- .../src/sass/apply/wagtail_groups_list.scss | 17 ++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index ef7b3f96ae..87cc9ea543 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -90,7 +90,9 @@ def label_from_instance(self, group_obj): help_text = self.group_desc_mapping.get(group_obj.name) if help_text: # return mark_safe(f"

{group_obj.name}

{help_text}

") - return mark_safe(f'{group_obj.name}

{help_text}

') + return mark_safe( + f'{group_obj.name}

{help_text}

' + ) return group_obj.name diff --git a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss index feda37ee7a..e5520519d1 100644 --- a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss +++ b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss @@ -1,18 +1,13 @@ -// Abstracts -@import "abstracts/functions"; -@import "abstracts/mixins"; -@import "abstracts/variables"; - -.help-text { - font-size: smaller; - padding-left: 15px; - color: var(--w-color-grey-400); -} - .form { &__label { p { margin: 0; } + + .group-help-text { + font-size: smaller; + padding-left: 10px; + color: var(--w-color-grey-400); + } } } From a28c2465522842d5d5dce60483163a5d0c0a607c Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Tue, 31 Oct 2023 17:20:45 -0400 Subject: [PATCH 05/15] List comp to dict comp and other final linting fixes --- hypha/apply/users/forms.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index 87cc9ea543..9dc8cbeb4a 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -1,13 +1,10 @@ from django import forms -from django.db import models from django.contrib.auth import get_user_model -from django.contrib.auth.models import Group from django.contrib.auth.forms import AuthenticationForm -from django.utils.translation import gettext_lazy as _ from django.template.defaultfilters import mark_safe +from django.utils.translation import gettext_lazy as _ from django_select2.forms import Select2Widget from wagtail.users.forms import UserCreationForm, UserEditForm -from itertools import chain from .models import AuthSettings, GroupDesc @@ -57,12 +54,10 @@ def group_desc_mapping(self): property interfered with Django's migration/makemigration functionality. """ if self._group_desc_mapping is None: - self._group_desc_mapping = dict( - [ - (group_desc.group.name, group_desc.help_text) - for group_desc in GroupDesc.objects.all() - ] - ) + self._group_desc_mapping = { + group_desc.group.name: group_desc.help_text + for group_desc in GroupDesc.objects.all() + } return self._group_desc_mapping From d5a2e9e3dca1454d4143fbca3ca8144a803d6295 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Wed, 1 Nov 2023 11:29:44 -0400 Subject: [PATCH 06/15] Test durations file added and included previous migration. --- .test_durations | 1660 ++++++++--------- .../0113_alter_assignedreviewers_reviewer.py | 21 + 2 files changed, 851 insertions(+), 830 deletions(-) create mode 100644 hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py diff --git a/.test_durations b/.test_durations index b75c8ef8c7..56c1c69b63 100644 --- a/.test_durations +++ b/.test_durations @@ -1,669 +1,669 @@ { - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_activity_created": 0.1238382079754956, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_public_to_public": 0.1171614999184385, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_to_private_to_public": 0.15188470896100625, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_to_public_to_private": 0.13876925001386553, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_internal_transition_kwarg_for_invisible_transition": 0.08285395905841142, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_activity_created": 0.27847420800389955, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_public_to_public": 100.91253820999555, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_to_private_to_public": 0.18507449999742676, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_handle_transition_to_public_to_private": 0.34574162499484373, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_internal_transition_kwarg_for_invisible_transition": 0.24486045800585998, "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_lead_not_saved_on_activity": 0.10346592601854354, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_lead_saved_on_activity": 0.09730487398337573, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_public_transition_kwargs": 0.09278300101868808, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_review_saved_on_activity": 0.09202558395918459, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_both": 0.21213320893002674, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_no_added": 0.10327933402732015, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_no_removed": 0.09462454193271697, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_with_and_without_role": 0.23094345803838223, - "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_with_role": 47.73333083395846, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_created": 0.15268362505594268, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_lead_change": 0.14951995701994747, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_lead_change_from_none": 0.11902916699182242, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_email_staff_update_invoice": 0.14155945903621614, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_applicant_update_invoice": 0.11052658397238702, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_created": 47.48602349992143, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_lead_change": 0.11825299903284758, - "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_staff_update_invoice": 0.13310266699409112, - "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_email_new_submission": 0.1500404590042308, - "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_webhook_adds_reject_reason": 0.18803249998018146, - "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_webhook_updates_status": 0.17489708412904292, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_calls_method_if_avaliable": 47.906467207940295, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_can_include_extra_kwargs": 0.0845225410303101, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_can_send_a_message": 0.09592704096576199, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_django_messages_used": 0.07743954192847013, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_doesnt_send_a_message_if_not_configured": 0.09835191600723192, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_that_kwargs_passed_to_send_message": 0.09245612402446568, - "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_that_message_is_formatted": 0.13165591604774818, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_failed": 0.15192049893084913, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_new_submission": 0.10662350099300966, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_sent": 0.11383858398767188, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_no_email_own_comment": 0.09285833401372656, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_no_email_private_comment": 0.16527420905185863, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_reviewer_update_email": 0.20949699904303998, - "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_reviewers_email": 0.16952445899369195, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_event_created": 0.13112020801054314, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_message_sent_to_adapter": 0.10940145701169968, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_message_sent_to_all_adapter": 0.09993212501285598, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_event_created": 0.13866575103020296, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_message_sent_to_adapter": 0.09959224902559072, - "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_message_sent_to_all_adapter": 0.11068808392155915, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_400_bad_request": 0.1297815419966355, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_cant_send_with_no_room": 0.07485283288406208, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_cant_send_with_no_token": 0.07143016590271145, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_correct_payload": 0.09908179199555889, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_fund_custom_slack_channel": 0.08437458303524181, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_fund_multiple_custom_slack_channel": 0.09744604106526822, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_gets_blank_if_slack_not_set": 0.07998300099279732, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_gets_lead_if_slack_set": 0.12432800000533462, - "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_message_with_good_response": 0.3921164179337211, - "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_related_invoice": 0.19420499994885176, - "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_related_report": 0.2129346679430455, - "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_source_application": 0.11591845791554078, - "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_source_project": 0.11624162399675697, - "hypha/apply/activity/tests/test_models.py::TestActivityOnlyIncludesCurrent::test_doesnt_include_non_current": 0.19171858398476616, - "hypha/apply/activity/tests/test_tasks.py::TestSendEmail::test_args_passed_to_django": 0.29254162503639236, - "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_reviewer_cant_list_screening_statuses": 0.11804758291691542, - "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_staff_can_list_screening_statuses": 0.08460991701576859, - "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_staff_can_view_screening_statuses_detail": 0.07517845794791356, - "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_user_cant_list_screening_statuses": 0.06913070805603638, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_add_screening_status": 0.4383973330259323, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_add_screening_status_without_setting_default": 0.17237325001042336, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_add_two_types_of_screening_status": 0.16616412496659905, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_change_default_screening_status": 0.19408370897872373, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_remove_not_set_screening_status": 0.18300837505375966, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_remove_submission_default_screening_status": 0.15282195806503296, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_change_default_screening_status": 0.2162731250282377, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_remove_submission_screening_status": 0.17058312508743256, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_reviewer_cant_list_screening_statuses": 0.1689779590233229, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_set_default_screening_status": 0.17652716592419893, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_staff_can_list_submission_screening_statuses": 0.17701066692825407, - "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_user_cant_list_screening_statuses": 0.383644292014651, - "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_id_is_required": 0.012257374008186162, - "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_quantity_not_required": 0.1106178339687176, - "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_validate_id": 0.09170537395402789, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_lead_saved_on_activity": 0.23441166699922178, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_public_transition_kwargs": 0.2799097079987405, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_review_saved_on_activity": 0.23119170799327549, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_both": 0.36672149999503745, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_no_added": 0.26356479200330796, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_message_no_removed": 0.18505354100489058, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_with_and_without_role": 0.3588957920001121, + "hypha/apply/activity/tests/test_messaging.py::TestActivityAdapter::test_reviewers_with_role": 0.24943324999912875, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_created": 0.2796216669885325, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_lead_change": 0.2502172500026063, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_activity_lead_change_from_none": 0.2456540430066525, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_email_staff_update_invoice": 5.427518791999319, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_applicant_update_invoice": 0.44873037499928614, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_created": 0.30737616599799367, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_lead_change": 0.3056679180008359, + "hypha/apply/activity/tests/test_messaging.py::TestAdaptersForProject::test_slack_staff_update_invoice": 0.17837920800229767, + "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_email_new_submission": 0.4964286239919602, + "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_webhook_adds_reject_reason": 0.617683082993608, + "hypha/apply/activity/tests/test_messaging.py::TestAnyMailBehaviour::test_webhook_updates_status": 0.6000812509955722, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_calls_method_if_avaliable": 98.9155990000072, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_can_include_extra_kwargs": 0.2556462500069756, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_can_send_a_message": 98.61671116700018, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_django_messages_used": 0.2342019169955165, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_doesnt_send_a_message_if_not_configured": 99.56376024999918, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_that_kwargs_passed_to_send_message": 0.1919180839904584, + "hypha/apply/activity/tests/test_messaging.py::TestBaseAdapter::test_that_message_is_formatted": 100.46761154200794, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_failed": 0.3989488760053064, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_new_submission": 5.482739041995956, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_email_sent": 0.1395133329933742, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_no_email_own_comment": 0.20537645900185453, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_no_email_private_comment": 0.2012738330013235, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_reviewer_update_email": 5.891098957996292, + "hypha/apply/activity/tests/test_messaging.py::TestEmailAdapter::test_reviewers_email": 0.17372104200330796, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_event_created": 0.23695649900037097, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_message_sent_to_adapter": 99.94337358300254, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendApplication::test_message_sent_to_all_adapter": 0.17953483400197, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_event_created": 98.19767812501232, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_message_sent_to_adapter": 0.2199151249951683, + "hypha/apply/activity/tests/test_messaging.py::TestMessageBackendProject::test_message_sent_to_all_adapter": 98.92245579300652, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_400_bad_request": 0.22199962500599213, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_cant_send_with_no_room": 0.16212641600577626, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_cant_send_with_no_token": 0.24152141600643517, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_correct_payload": 0.181105582996679, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_fund_custom_slack_channel": 0.19871274999604793, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_fund_multiple_custom_slack_channel": 0.19014595900080167, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_gets_blank_if_slack_not_set": 0.17137120900588343, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_gets_lead_if_slack_set": 0.18395587499981048, + "hypha/apply/activity/tests/test_messaging.py::TestSlackAdapter::test_message_with_good_response": 0.4431347089994233, + "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_related_invoice": 0.33724212500237627, + "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_related_report": 0.2668494990139152, + "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_source_application": 0.1508637919978355, + "hypha/apply/activity/tests/test_models.py::TestActivityModel::test_can_save_source_project": 0.19697329200425884, + "hypha/apply/activity/tests/test_models.py::TestActivityOnlyIncludesCurrent::test_doesnt_include_non_current": 0.31297495800390607, + "hypha/apply/activity/tests/test_tasks.py::TestSendEmail::test_args_passed_to_django": 0.41624654099723557, + "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_reviewer_cant_list_screening_statuses": 0.6696630419974099, + "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_staff_can_list_screening_statuses": 0.5542520430026343, + "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_staff_can_view_screening_statuses_detail": 0.32195904099353356, + "hypha/apply/api/v1/screening/tests/test_views.py::ScreeningStatusViewSetTests::test_user_cant_list_screening_statuses": 0.314711916995293, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_add_screening_status": 0.47159241699409904, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_add_screening_status_without_setting_default": 0.46624750000046333, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_add_two_types_of_screening_status": 0.46671866699762177, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_change_default_screening_status": 0.4994553750002524, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_remove_not_set_screening_status": 0.7020797919976758, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_cant_remove_submission_default_screening_status": 0.3822958330056281, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_change_default_screening_status": 0.3915082919993438, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_remove_submission_screening_status": 0.3620137910111225, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_reviewer_cant_list_screening_statuses": 0.35709775099530816, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_set_default_screening_status": 0.3862922090047505, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_staff_can_list_submission_screening_statuses": 0.6225865419983165, + "hypha/apply/api/v1/screening/tests/test_views.py::SubmissionScreeningStatusViewSetTests::test_user_cant_list_screening_statuses": 0.7653220010106452, + "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_id_is_required": 0.007092083011229988, + "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_quantity_not_required": 0.18636233399593038, + "hypha/apply/api/v1/tests/test_serializers.py::TestDeliverableSerializer::test_validate_id": 0.17416824900283245, "hypha/apply/api/v1/tests/test_serializers.py::TestInvoiceRequiredChecksSerializer::test_valid_checks_link_required": 0.11694603395881131, "hypha/apply/api/v1/tests/test_serializers.py::TestInvoiceRequiredChecksSerializer::test_valid_checks_required": 0.052493724040687084, "hypha/apply/api/v1/tests/test_serializers.py::TestInvoiceRequiredChecksSerializer::test_validate_valid_checks_and_link": 0.17325492500094697, - "hypha/apply/api/v1/tests/test_serializers.py::TestReviewSummarySerializer::test_handles_negative_reviews": 47.900241416995414, - "hypha/apply/api/v1/tests/test_serializers.py::TestReviewSummarySerializer::test_handles_no_reviews": 0.07608712406363338, + "hypha/apply/api/v1/tests/test_serializers.py::TestReviewSummarySerializer::test_handles_negative_reviews": 0.26499316599802114, + "hypha/apply/api/v1/tests/test_serializers.py::TestReviewSummarySerializer::test_handles_no_reviews": 0.16432512499886798, "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_can_change_visibility": 0.2947400030097924, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_cant_edit_if_not_author": 0.23197316599544138, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_does_nothing_if_same_message_and_visibility": 0.19338529102969915, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_edit_updates_correctly": 0.1957722079823725, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_incorrect_id_denied": 0.06875616707839072, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_out_of_order_does_nothing": 0.21863037499133497, - "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_staff_can_change_visibility": 0.18349841696908697, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_applicant_cant_add_deliverables": 0.45137154194526374, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_applicant_cant_remove_deliverables": 0.17998354195151478, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_cant_add_or_remove_wihtout_login": 0.16972262400668114, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_already_exists_in_invoice": 0.2294130829977803, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_available_gte_quantity": 0.19909750000806525, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_dont_exists_in_project_deliverables": 0.29539158398984, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverables_cant_removed_after_finance2_approval": 0.22738570807268843, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_can_add_deliverables": 0.19634779205080122, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_can_remove_deliverables": 0.21497191593516618, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_cant_remove_deliverables_after_finance1_approval": 0.22236529196379706, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance2_can_add_deliverables": 0.1910492920433171, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance2_can_remove_deliverables": 0.40230970905395225, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_can_add_deliverables": 0.2188895409926772, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_can_remove_deliverables": 0.19606629095505923, - "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_cant_remove_deliverables_after_staff_approval": 48.71799262496643, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_cant_edit_if_not_author": 0.43724045799899613, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_does_nothing_if_same_message_and_visibility": 0.47630950000166195, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_edit_updates_correctly": 0.5187569159970735, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_incorrect_id_denied": 0.22830070800409885, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_out_of_order_does_nothing": 0.39776408200123115, + "hypha/apply/api/v1/tests/test_views.py::TestCommentEdit::test_staff_can_change_visibility": 0.3609070820020861, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_applicant_cant_add_deliverables": 0.5309139169985428, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_applicant_cant_remove_deliverables": 0.3709156249969965, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_cant_add_or_remove_wihtout_login": 0.44090637400222477, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_already_exists_in_invoice": 0.23419020800065482, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_available_gte_quantity": 0.2823837910036673, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverable_dont_exists_in_project_deliverables": 0.41078283300157636, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_deliverables_cant_removed_after_finance2_approval": 0.26504679200297687, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_can_add_deliverables": 0.3482281660035369, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_can_remove_deliverables": 0.28283200000441866, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance1_cant_remove_deliverables_after_finance1_approval": 0.24245504200371215, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance2_can_add_deliverables": 0.2508558740009903, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_finance2_can_remove_deliverables": 0.4519863340028678, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_can_add_deliverables": 0.23341091699694516, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_can_remove_deliverables": 0.23646999999618856, + "hypha/apply/api/v1/tests/test_views.py::TestInvoiceDeliverableViewset::test_staff_cant_remove_deliverables_after_staff_approval": 0.24088579200179083, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_applicant_cant_get_set_required_valid_checks": 0.6144257669802755, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_cant_get_set_required_checks_without_login": 0.30361390503821895, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_finance1_can_get_required_valid_checks": 0.32072118495125324, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_finance1_can_set_required_valid_checks": 0.3616774979745969, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_finance2_cant_get_set_required_valid_checks": 0.2886283140978776, "hypha/apply/api/v1/tests/test_views.py::TestInvoiceRequiredChecksViewSet::test_staff_cant_get_set_required_valid_checks": 0.33830336399842054, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_can_render_if_no_response": 0.036066625034436584, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_field_and_help_default": 0.005301585013512522, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_multi_select_disabled": 0.0036877079983241856, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_multi_select_enabled": 0.005291416076943278, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_options_included_in_choices": 0.00799416605150327, - "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_supplied_field_and_help": 0.008663999906275421, - "hypha/apply/dashboard/tests/test_views.py::TestAdminDashboard::test_does_show_admin_button_to_admins": 0.49195762496674433, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_access_dashboard_with_active": 0.2811352079734206, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_have_draft_titles_on_dashboard": 0.36781650001648813, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_not_access_other_users_active": 0.3000304579618387, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_gets_invite_if_invited_to_proposal": 0.22878554096678272, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_no_edit_if_in_review": 0.22108583396766335, - "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_no_invite_if_can_edit": 0.22134391695726663, - "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_no_submissions_waiting_for_review": 0.6434167079860345, - "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_submission_assigned_but_not_in_external_review_status": 48.49563883297378, - "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_waiting_for_review_with_count": 0.40596079104579985, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_active_invoices_with_invoices_in_correct_state": 0.7148654999909922, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_active_invoices_with_no_project": 0.29518508195178583, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_cannot_see_submission_in_determination_when_not_lead": 0.42824233399005607, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doesnt_show_active_invoices_when_not_mine": 0.40279570798156783, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doesnt_show_active_invoices_with_none": 0.3976340829394758, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doest_show_active_invoices_when_paid_or_declined": 0.615537291043438, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_can_render_if_no_response": 0.05424704299366567, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_field_and_help_default": 0.020547915999486577, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_multi_select_disabled": 0.0035120009997626767, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_multi_select_enabled": 0.00662704098795075, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_options_included_in_choices": 0.008743042002606671, + "hypha/apply/categories/tests/test_blocks.py::TestCategoryQuestionBlock::test_supplied_field_and_help": 0.0026316240036976524, + "hypha/apply/dashboard/tests/test_views.py::TestAdminDashboard::test_does_show_admin_button_to_admins": 0.43525658300495706, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_access_dashboard_with_active": 0.3941022100043483, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_have_draft_titles_on_dashboard": 0.5034639169971342, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_can_not_access_other_users_active": 0.29438829200080363, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_gets_invite_if_invited_to_proposal": 0.38616499899944756, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_no_edit_if_in_review": 0.31319995800731704, + "hypha/apply/dashboard/tests/test_views.py::TestApplicantDashboard::test_no_invite_if_can_edit": 0.6279701239909627, + "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_no_submissions_waiting_for_review": 0.5983880429994315, + "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_submission_assigned_but_not_in_external_review_status": 0.758285418000014, + "hypha/apply/dashboard/tests/test_views.py::TestReviewerDashboard::test_waiting_for_review_with_count": 0.5711743329957244, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_active_invoices_with_invoices_in_correct_state": 68.98198774900084, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_active_invoices_with_no_project": 0.4160214159928728, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_cannot_see_submission_in_determination_when_not_lead": 0.5341224589938065, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doesnt_show_active_invoices_when_not_mine": 0.47517562500433996, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doesnt_show_active_invoices_with_none": 0.5547986250021495, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_doest_show_active_invoices_when_paid_or_declined": 0.6418252090006717, "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_staff_can_see_projects_awaiting_review_stats_or_table": 65.42799123498844, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_unassigned_staff_cant_see_projects_awaiting_review_stats_or_table": 0.37664666696218774, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_waiting_for_review_after_agreement_is_empty": 0.48306254198541865, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_waiting_for_review_with_count": 0.4347812499618158, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboardWithWagtailAdminAccess::test_does_show_admin_button_to_staff_with_wagtail_admin_access": 0.3449161669705063, - "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboardWithoutWagtailAdminAccess::test_doesnt_show_admin_button_to_staff_without_wagtail_admin_access": 0.3654038340318948, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_determination_block_required": 0.2471973320352845, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_field_label_required": 0.1337144589633681, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_form_creation": 0.12094916601199657, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_message_block_required": 0.14209624903742224, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_name_field_required": 0.1370073760044761, - "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_send_notice_block_required": 0.13266274897614494, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_can_submit_batch_determination": 0.8987592090270482, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_can_submit_batch_determination_more_info_comment": 1.093036290956661, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_cant_access_without_action": 0.347631124954205, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_cant_access_without_submissions": 0.20394562499132007, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_message_created_if_determination_exists": 0.7172249159193598, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_sets_next_on_redirect": 0.008022917027119547, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_success_if_no_next": 0.007694582978729159, - "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_success_redirects_if_exists": 0.010707416979130358, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_access_form_if_lead": 0.2652022919501178, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination": 0.4181396669591777, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination_if_not_lead": 0.3539232490584254, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination_if_not_lead_with_projects": 0.5771515830419958, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_progress_stage_via_determination": 0.42698445898713544, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_access_wrong_status": 0.31131741689750925, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_edit_submitted_more_info": 0.23528062499826774, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_resubmit_determination": 0.6146564569789916, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_disabling_project_auto_creation_stops_projects_being_created": 0.39776529202936217, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_disabling_projects_ignores_auto_creation_setting": 0.3460802079644054, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_first_stage_accepted_determination_does_not_create_project": 0.6698565829428844, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_first_stage_rejected_determination_does_not_create_project": 0.364047082955949, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_second_stage_accepted_determination_creates_project": 0.4194268750725314, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_second_stage_rejected_determination_does_not_create_project": 0.35257112502586097, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_sends_message_if_requires_more_info": 47.620870457962155, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_single_stage_accepted_determination_creates_project": 0.3583696250570938, - "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_single_stage_rejected_determination_does_not_create_project": 0.4159843750530854, - "hypha/apply/determinations/tests/test_views.py::EditDeterminationFormTestCase::test_can_edit_determination": 0.42473558406345546, - "hypha/apply/determinations/tests/test_views.py::StaffDeterminationsTestCase::test_can_access_determination": 0.5007752500241622, - "hypha/apply/determinations/tests/test_views.py::StaffDeterminationsTestCase::test_lead_can_access_determination": 0.1905933739617467, - "hypha/apply/determinations/tests/test_views.py::UserDeterminationFormTestCase::test_cant_access_form": 0.19667095900513232, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_active": 0.08821174898184836, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_annotated": 0.03754920797655359, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_by_lead": 0.10936633206438273, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_can_get": 0.0375667919870466, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_closed": 0.034341249091085047, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_inactive": 0.06411208200734109, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_new": 0.0544566250173375, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_no_submissions_not_either": 0.03846766601782292, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_open": 0.037716708960942924, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_with_determined": 0.07131629198556766, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_with_progress": 0.11110420897603035, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_active": 0.12810854200506583, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_annotated": 0.06556995899882168, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_by_lead": 0.11274895904352888, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_can_get": 0.060377124056685716, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_closed": 0.06118266697740182, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_inactive": 0.09110883297398686, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_new": 0.07164266600739211, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_no_submissions_not_either": 0.08204616693546996, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_open": 0.056571834022179246, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_with_determined": 0.09481474896892905, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_with_progress": 0.1226185419363901, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestRoundsAndLabsManager::test_cant_get_fund": 0.0459559999871999, - "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestRoundsAndLabsManager::test_doesnt_confuse_lab_and_round": 0.22479037498123944, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_can_save_multiple_forms_stage_two": 0.0538997920230031, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_can_save_two_forms": 0.03590929199708626, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_does_validates_without_project_approval_form": 0.018417084007523954, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_multiple_external_review_form": 0.021515125001315027, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_multiple_project_approval_form": 0.055025165958795696, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_no_form": 0.009529665927402675, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_two_first_stage_forms_in_two_stage": 0.026386706973426044, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_two_forms_one_stage": 0.019531042024027556, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validate_external_review_form": 0.018824083963409066, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validate_project_approval_form": 0.030170165933668613, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_with_one_form_one_stage": 0.021481460018549114, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_with_one_form_one_stage_with_deleted": 0.02069579006638378, - "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_without_external_review_form": 48.361528916924726, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_email_block_required": 0.23669929197058082, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_field_label_required": 0.4264394990168512, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_form_creation": 0.1255045419675298, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_full_name_block_required": 0.21778983401600271, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_name_field_required": 0.16521474899491295, - "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_title_block_required": 0.18796995794400573, - "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_fund": 0.5163307920447551, - "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_fund_with_external_review_form": 0.3089608349255286, - "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multi_phase_fund": 0.6428762489231303, - "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multi_phase_fund_reuse_forms": 0.32680133398389444, - "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multiple_forms_second_stage_in_fund": 0.38245924992952496, - "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_application_links": 0.23710004199529067, - "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_number_of_rounds": 0.19798845698824152, - "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_review_form_links": 0.19360833300743252, - "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_existing_reviews": 0.19348304194863886, - "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_init_and_render": 0.164736126025673, - "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_reviewers_swap": 0.16794008301803842, - "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_roles_swap": 0.13378891604952514, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_draft_data": 0.14817379205487669, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_ordered_qs": 0.13801383302779868, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_required_block_names": 0.09193337493343279, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_reverse_ordered_qs": 0.10779045801609755, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_choices_added_for_search": 0.0961629580706358, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_correct_file_path_generated": 0.08538674999726936, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_create_revision_on_create": 0.12477433402091265, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_create_revision_on_data_change": 0.10634450102224946, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_dont_create_revision_on_data_same": 0.100119165959768, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_draft_updated": 0.14161733293440193, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_file_gets_uploaded": 0.12744712503626943, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_in_final_stage": 0.2055488329497166, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_is_draft_property": 0.11940320703433827, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_number_not_in_search": 0.08931800007121637, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_richtext_in_char_is_removed_for_search": 0.12436804198659956, - "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_richtext_is_removed_for_search": 0.1070792090613395, - "hypha/apply/funds/tests/test_models.py::TestAssignedReviewersQuerySet::test_reviewed": 0.11055675003444776, - "hypha/apply/funds/tests/test_models.py::TestAssignedReviewersQuerySet::test_reviewed_with_review_order": 0.1212779990164563, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_assigned_but_not_reviewed": 0.14393537596333772, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_disagree_review_is_maybe": 0.17617041704943404, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_dont_double_count_review_and_opinion": 0.15912662399932742, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_opinionated_slash_confused_reviewer": 0.1075845840969123, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_review_outcome": 0.12516620801761746, - "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_submissions_dont_conflict": 0.2523494170163758, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_another_user_exists": 0.3300747080356814, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_logged_in": 0.169607832969632, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_not_new": 0.27457179204793647, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_can_submit_if_blank_user_data_even_if_logged_in": 0.13648795802146196, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_can_submit_if_new": 0.16187208297196776, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_doesnt_mess_with_name": 0.2510277080582455, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_email_sent_to_user_on_submission_fund": 0.2040719169890508, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_email_sent_to_user_on_submission_lab": 0.18573704094160348, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_valid_email": 0.24251300003379583, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_draft": 0.19095224904594943, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_draft_lab": 0.160813957976643, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_status_assigned": 0.1561506660655141, - "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_status_assigned_lab": 0.13647924998076633, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_can_access_workflow_class": 0.05282920692116022, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_can_not_be_open_with_draft_round": 0.06382033205591142, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_closed_round": 0.059609292016830295, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_multiple_open_rounds": 0.10447883396409452, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_no_open_rounds": 0.03223233396420255, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_no_round_exists": 0.019256207975558937, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_normal_round": 0.11261362594086677, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_open_ended_round": 0.06533554097404703, - "hypha/apply/funds/tests/test_models.py::TestFundModel::test_round_not_open": 0.05114937399048358, - "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_can_save_reminder": 0.10578825004631653, - "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_check_default_action": 0.09030404192162678, - "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_reminder_action_message": 0.09281583403935656, - "hypha/apply/funds/tests/test_models.py::TestRequestForPartners::test_form_when_round": 0.27410662395413965, - "hypha/apply/funds/tests/test_models.py::TestRequestForPartners::test_message_when_no_round": 0.08773758402094245, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_create_without_end_date": 0.07778404100099578, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_create_with_other_open_end_date": 0.10365545901004225, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_overlap_clean": 0.0764989159652032, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_overlap_with_normal_round": 0.09141387604176998, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_end_before_start": 0.034462166018784046, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_end_overlaps": 0.06619212403893471, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_inside_overlaps": 0.07186312502017245, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_normal_start_end_doesnt_error": 0.04751320800278336, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_other_fund_not_impacting": 0.13839333306532353, - "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_start_overlaps": 0.08277758298208937, - "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_can_change_round_form_not_fund": 0.09724791703047231, - "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_forms_are_copied_to_new_rounds": 0.06082012504339218, - "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_workflow_is_copied_to_new_rounds": 0.06077770801493898, - "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_file_private_url_included": 0.1323906669858843, - "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_named_blocks_dont_break_if_no_response": 0.0864520839531906, - "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_named_blocks_not_included_in_answers": 0.09695274994010106, - "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_normal_answers_included_in_answers": 0.10001158399973065, - "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_paragraph_not_rendered_in_answers": 0.11938187503255904, - "hypha/apply/funds/tests/test_tags.py::TestTemplateTags::test_markdown_tags": 0.01744779199361801, - "hypha/apply/funds/tests/test_tags.py::TestTemplateTags::test_submission_tags": 0.1305782090057619, - "hypha/apply/funds/tests/test_views.py::TestAnonSubmissionFileView::test_anonymous_can_not_access": 0.24070762598421425, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_edit_own_submission": 0.7094494999619201, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_see_view_determination_primary_action": 0.7554237499716692, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_submit_submission": 0.46202258398989215, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_view_own_submission": 0.3816945409635082, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_edit_other_submission": 0.42644787492463365, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_edit_submission_incorrect_state": 0.45967287599341944, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_screen_submission": 0.3974973341100849, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_add_determination_primary_action": 1.0543237089877948, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_assign_reviewers_primary_action": 0.41607945901341736, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_assign_reviewers_secondary_action": 0.42971941706491634, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_create_review_primary_action": 0.5564686259604059, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_screening_status_block": 0.5897678749752231, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_view_determination_primary_action": 0.6243275409797207, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_view_others_submission": 0.3719659579801373, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_get_congratulations_draft_proposal": 0.3450066659715958, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_get_edit_link_when_editable": 0.49088912596926093, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_gets_draft_on_edit_submission": 0.5591084999614395, - "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_sees_latest_draft_if_it_exists": 0.7017644589650445, - "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_applicant_cannot_access_reviewer_leaderboard": 0.10273800004506484, - "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_community_reviewer_cannot_access_reviewer_leaderboard": 0.07304925000062212, - "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_partner_cannot_access_reviewer_leaderboard": 0.08130179200088605, - "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_reviewer_cannot_access_leader_board": 0.07935400103451684, - "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_staff_can_access_leaderboard": 0.20759108295897022, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_access_any_submission": 0.4016657070023939, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_accepted_submission": 0.6824897499755025, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_assigned_submission": 0.6668082919786684, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_external_review_or_higher_submission": 0.33893716789316386, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_reviewed_submission": 0.2681330419727601, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_see_create_review_primary_action": 0.5043630420113914, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_see_view_determination_primary_action": 0.7249346659518778, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_access_dismissed_submission": 0.3675867090350948, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_add_determination_primary_action": 0.55346120899776, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_assign_reviewers_primary_action": 0.30351766699459404, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_assign_reviewers_secondary_action": 0.2750765840173699, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_create_review_primary_action": 1.0963659989647567, - "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_view_determination_primary_action": 0.5298776669660583, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_add_external_reviewer_and_review_remains": 0.6534512920188718, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_be_made_role_and_not_duplciated": 0.6818339169840328, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_remove_external_reviewer_and_review_remains": 0.5081400409690104, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_add_reviewers_for_proposal": 0.490133750019595, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_add_staff_single": 0.7280000840546563, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_change_role_reviewer_and_review_remains": 0.4881212509935722, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_change_staff_single": 0.4469773330492899, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_remove_reviewers_for_proposal": 0.4973102919757366, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_remove_some_reviewers_for_proposal": 0.7982138749794103, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_cant_add_reviewers_single": 0.4260078339721076, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_staff_cant_add_reviewers_proposal": 0.4538681259728037, - "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_staff_cant_remove_reviewers_proposal": 0.662929292069748, - "hypha/apply/funds/tests/test_views.py::TestRevisionCompare::test_renders_with_all_the_diffs": 0.5615033330395818, - "hypha/apply/funds/tests/test_views.py::TestRevisionList::test_get_in_correct_order": 0.5671977919409983, - "hypha/apply/funds/tests/test_views.py::TestRevisionList::test_list_doesnt_include_draft": 0.5241635830607265, - "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_create_revisions_on_submit": 0.4087889169459231, - "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_dont_update_live_revision_on_save": 0.33236058393958956, - "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_existing_draft_edit_and_submit": 0.5503149580326863, - "hypha/apply/funds/tests/test_views.py::TestStaffReminderDeleteView::test_confirm_message": 0.25645725103095174, - "hypha/apply/funds/tests/test_views.py::TestStaffReminderDeleteView::test_has_access": 0.23424820799846202, - "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_cant_post_to_sealed": 0.3014831249602139, - "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_non_sealed_redirected_away": 0.3376392510253936, - "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_non_sealed_unaffected": 0.40321325103286654, - "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_redirected_to_sealed": 0.25951958494260907, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionFileView::test_staff_can_access": 0.244705916964449, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_applicant_can_see_application_draft_status": 0.2793214999837801, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_access_edit": 0.32853466598317027, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_access_edit_button": 0.38707658293424174, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_create_project": 0.31167029205244035, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_edit_submission": 0.6582669579656795, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_progress_phase": 0.4329052090179175, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_screen_submission": 0.3705467500258237, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_add_determination_primary_action": 0.8753968750243075, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_assign_reviewers_primary_action": 1.4947197499568574, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_assign_reviewers_secondary_action": 1.1712304589455016, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_create_review_primary_action": 1.1885729159694165, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_view_determination_primary_action": 1.0778108329395764, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_a_lab_submission": 0.4490732910344377, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_a_submission": 0.5647438760497607, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_submission_screening_block": 0.35359595803311095, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_access_edit_button_when_applicant_editing": 0.44850229198345914, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_progress_stage_if_not_lead": 0.4024465829716064, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_add_determination_primary_action": 1.423444250074681, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_application_draft_status": 0.22235716693103313, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_assign_reviewers_primary_action": 0.909417667076923, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_create_review_primary_action": 1.7061413750634529, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_view_determination_primary_action": 1.068954583024606, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_view_submission_screening_block": 0.35347691597416997, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_new_form_after_progress": 0.2573237919714302, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_included_fields_render": 0.4275856660096906, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_redirected_if_determination_submitted": 0.65102858399041, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_redirected_if_wrong_determination_selected": 0.456320375087671, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_previous_and_next_appears_on_page": 0.6819471660419367, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_redirected_to_determination": 0.3450114580336958, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_screen_application_primary_action_is_displayed": 0.6308084579068236, - "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_screen_application_primary_action_is_not_displayed": 0.3791784590575844, - "hypha/apply/funds/tests/test_views.py::TestSubmissionDetailSimplifiedView::test_project_required": 0.173337708984036, - "hypha/apply/funds/tests/test_views.py::TestSubmissionDetailSimplifiedView::test_staff_only": 0.11854575097095221, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_can_post_to_sealed": 0.7018020419636741, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_can_view_multiple_sealed": 0.6127214579610154, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_not_asked_again": 0.7633375010918826, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_peeking_is_logged": 0.3982291250140406, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_redirected_to_sealed": 0.3025822100462392, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSubmissionView::test_can_screen_applications_in_final_status": 0.5209657500381581, - "hypha/apply/funds/tests/test_views.py::TestSuperUserSubmissionView::test_can_screen_submission": 0.658688958035782, - "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_all_reviewer_roles_not_assigned": 0.6442338328924961, - "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_to_internal_review": 0.4375836249673739, - "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_to_proposal_internal_review": 0.46655004197964445, - "hypha/apply/funds/tests/test_views.py::TestUserReminderDeleteView::test_doesnt_has_access": 0.409164208045695, - "hypha/apply/funds/tests/test_views.py::TestUserSubmissionFileView::test_owner_can_access": 0.2037353749619797, - "hypha/apply/funds/tests/test_views.py::TestUserSubmissionFileView::test_user_can_not_access": 0.22563641698798165, - "hypha/apply/funds/tests/views/test_batch_progress.py::ApplicantTestCase::test_cant_access_page_to_page": 0.11944358301116154, - "hypha/apply/funds/tests/views/test_batch_progress.py::ReivewersTestCase::test_cant_post_to_page": 0.36338904191507027, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_application": 0.7609355000313371, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_different_states": 0.5602312499540858, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_multiple_applications": 0.7270860420539975, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_one_in_mixed_state": 0.5117592929746024, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_cant_progress_in_incorrect_state": 0.580062416032888, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_determine_redirects": 0.28385725006228313, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_messenger_not_called_with_failed": 0.36575408198405057, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_messenger_with_submission_in_review": 0.36334370903205127, - "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_mixed_determine_notifies": 0.36032479105051607, - "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_assign_role_reviewers": 0.8074726249324158, - "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_reassign_from_other_role_reviewers": 1.036929707042873, - "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_reassign_role_reviewers": 0.7294273339794017, - "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_doesnt_remove_if_already_reviewed": 0.8322332900133915, - "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantRoundPage::test_cant_access_page": 0.3773946659639478, - "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_lab_page": 0.17087579105282202, - "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_non_existing_page": 0.2679556249640882, - "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_normal_page": 0.14955275104148313, - "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_round_page": 0.15875099902041256, - "hypha/apply/funds/tests/views/test_rounds.py::TestReviewerAllRoundPage::test_cant_access_page": 0.11560741602443159, - "hypha/apply/funds/tests/views/test_rounds.py::TestStaffRoundPage::test_can_access_page": 0.17996933305403218, - "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_can_access_lab_page": 0.31209162500454113, - "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_can_access_round_page": 0.2757782920380123, - "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_cant_access_non_existing_page": 0.10850608302280307, - "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_cant_access_normal_page": 0.19533950107870623, - "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_already_notified": 0.18685820797691122, - "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_project_complete": 0.10539766697911546, - "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_project_not_in_progress": 0.10482662497088313, - "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_report_due_in_7_days_already_submitted": 0.18442729103844613, - "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_notify_report_due_in_7_days": 0.13636937498813495, - "hypha/apply/projects/tests/test_files.py::TestFlatten::test_no_items": 0.005671833001542836, - "hypha/apply/projects/tests/test_files.py::TestFlatten::test_one_level_of_items": 0.0005060419207438827, - "hypha/apply/projects/tests/test_files.py::TestFlatten::test_three_levels_of_items": 0.0010021249763667583, - "hypha/apply/projects/tests/test_files.py::TestFlatten::test_two_levels_of_items": 0.0016584160039201379, - "hypha/apply/projects/tests/test_files.py::TestGetFiles::test_get_files": 0.14279512502253056, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_finance1_status": 0.16588400094769895, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_finance1_status_with_extended_flow": 0.1320433330256492, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_staff_status": 0.13338145799934864, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_finance1_status": 0.0969262930448167, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_finance2_status": 0.15330187493236735, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_staff_status": 0.11806950002210215, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_resubmitted_status": 0.13932912598829716, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_submitted_status": 0.14899625006364658, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_approved_by_finance1_status": 0.12847608391894028, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_approved_by_staff_status": 0.14547262497944757, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_finance1_status": 0.14052074996288866, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_finance2_status": 0.10986804100684822, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_staff_status": 0.12273612595163286, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_resubmitted_status": 0.11824754200642928, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_submitted_status": 0.1264552510692738, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_approved_by_finance1_status": 0.1518614999949932, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_approved_by_staff_status": 0.13292975001968443, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_finance1_status": 0.13289824995445088, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_finance2_status": 0.11046295805135742, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_staff_status": 0.1264052088954486, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_resubmitted_status": 0.12441687507089227, - "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_submitted_status": 0.12730520905461162, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_unassigned_staff_cant_see_projects_awaiting_review_stats_or_table": 0.7736965840012999, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_waiting_for_review_after_agreement_is_empty": 0.4841674600029364, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboard::test_waiting_for_review_with_count": 0.4837557510109036, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboardWithWagtailAdminAccess::test_does_show_admin_button_to_staff_with_wagtail_admin_access": 0.5194426680027391, + "hypha/apply/dashboard/tests/test_views.py::TestStaffDashboardWithoutWagtailAdminAccess::test_doesnt_show_admin_button_to_staff_without_wagtail_admin_access": 0.4537361670008977, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_determination_block_required": 0.3151190420030616, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_field_label_required": 0.1889787489999435, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_form_creation": 0.1744301250000717, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_message_block_required": 0.4566897079857881, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_name_field_required": 0.2013323749997653, + "hypha/apply/determinations/tests/test_admin_views.py::TestCreateDeterminationFormView::test_send_notice_block_required": 0.1924209580029128, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_can_submit_batch_determination": 0.998899625003105, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_can_submit_batch_determination_more_info_comment": 0.8956604589984636, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_cant_access_without_action": 0.7517829999997048, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_cant_access_without_submissions": 0.3468189170016558, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_message_created_if_determination_exists": 0.7824907489994075, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_sets_next_on_redirect": 0.014369290998729412, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_success_if_no_next": 0.036896582001645584, + "hypha/apply/determinations/tests/test_views.py::BatchDeterminationTestCase::test_success_redirects_if_exists": 0.038348250003764406, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_access_form_if_lead": 0.35126504200161435, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination": 0.6815386659945943, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination_if_not_lead": 68.83512216699455, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_edit_draft_determination_if_not_lead_with_projects": 0.48664366600860376, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_can_progress_stage_via_determination": 0.8543153329956112, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_access_wrong_status": 0.4744996250010445, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_edit_submitted_more_info": 68.43388925099862, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_cant_resubmit_determination": 0.5152003750044969, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_disabling_project_auto_creation_stops_projects_being_created": 1.0245818339972175, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_disabling_projects_ignores_auto_creation_setting": 0.49560895900503965, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_first_stage_accepted_determination_does_not_create_project": 0.5426487080112565, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_first_stage_rejected_determination_does_not_create_project": 0.506871208002849, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_second_stage_accepted_determination_creates_project": 0.8606984159923741, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_second_stage_rejected_determination_does_not_create_project": 0.4622704170033103, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_sends_message_if_requires_more_info": 0.5071326670004055, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_single_stage_accepted_determination_creates_project": 0.4577080000017304, + "hypha/apply/determinations/tests/test_views.py::DeterminationFormTestCase::test_single_stage_rejected_determination_does_not_create_project": 0.761262041007285, + "hypha/apply/determinations/tests/test_views.py::EditDeterminationFormTestCase::test_can_edit_determination": 0.6221985419979319, + "hypha/apply/determinations/tests/test_views.py::StaffDeterminationsTestCase::test_can_access_determination": 0.3043700829948648, + "hypha/apply/determinations/tests/test_views.py::StaffDeterminationsTestCase::test_lead_can_access_determination": 0.23594362600852037, + "hypha/apply/determinations/tests/test_views.py::UserDeterminationFormTestCase::test_cant_access_form": 0.2985823749913834, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_active": 0.1447112089881557, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_annotated": 0.06381745899852831, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_by_lead": 0.19011962500371737, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_can_get": 0.04376429200056009, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_closed": 0.04757916699600173, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_inactive": 0.08405566598958103, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_new": 0.054971085002762266, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_no_submissions_not_either": 0.05148449899570551, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_open": 0.06447220900736284, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_with_determined": 0.10531995799829019, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForLab::test_with_progress": 0.10371462499460904, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_active": 0.2054565839935094, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_annotated": 0.08614058300008764, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_by_lead": 0.14942950000113342, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_can_get": 0.07570112500252435, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_closed": 0.07264758399833227, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_inactive": 0.12404533199151047, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_new": 0.0707411260009394, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_no_submissions_not_either": 0.08425791800254956, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_open": 0.07425045900163241, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_with_determined": 0.12418133299070178, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestForRound::test_with_progress": 0.10262408300332027, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestRoundsAndLabsManager::test_cant_get_fund": 0.052612542000133544, + "hypha/apply/funds/tests/models/test_roundsandlabs.py::TestRoundsAndLabsManager::test_doesnt_confuse_lab_and_round": 0.27890924899838865, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_can_save_multiple_forms_stage_two": 0.3651893319984083, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_can_save_two_forms": 0.042178957992291544, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_does_validates_without_project_approval_form": 0.016777916003775317, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_multiple_external_review_form": 0.05453804198623402, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_multiple_project_approval_form": 0.06672349899599794, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_no_form": 0.01166899999952875, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_two_first_stage_forms_in_two_stage": 0.03441291700437432, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_doesnt_validates_with_two_forms_one_stage": 0.03282595900964225, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validate_external_review_form": 0.03137600100308191, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validate_project_approval_form": 0.055636166005569976, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_with_one_form_one_stage": 0.024104834003082942, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_with_one_form_one_stage_with_deleted": 0.03071974999329541, + "hypha/apply/funds/tests/test_admin_form.py::TestWorkflowFormAdminForm::test_validates_without_external_review_form": 0.030323833001602907, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_email_block_required": 0.24985287399613298, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_field_label_required": 0.2560307500025374, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_form_creation": 0.19726116599485977, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_full_name_block_required": 0.23436579100234667, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_name_field_required": 0.2441645829967456, + "hypha/apply/funds/tests/test_admin_views.py::TestCreateApplicationFormView::test_title_block_required": 0.5899827080065734, + "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_fund": 0.8661906249981257, + "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_fund_with_external_review_form": 0.3514198760021827, + "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multi_phase_fund": 0.35411154099710984, + "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multi_phase_fund_reuse_forms": 0.3719229579946841, + "hypha/apply/funds/tests/test_admin_views.py::TestFundCreationView::test_can_create_multiple_forms_second_stage_in_fund": 0.4029278339949087, + "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_application_links": 0.275029500007804, + "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_number_of_rounds": 0.2397127069925773, + "hypha/apply/funds/tests/test_admin_views.py::TestRoundIndexView::test_review_form_links": 0.5053845829897909, + "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_existing_reviews": 0.32459250000101747, + "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_init_and_render": 0.20479079199867556, + "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_reviewers_swap": 0.16513529099756852, + "hypha/apply/funds/tests/test_forms.py::TestReviewerFormQueries::test_queries_roles_swap": 0.15268437599297613, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_draft_data": 0.18927375000203028, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_ordered_qs": 0.19771720800781623, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_required_block_names": 0.1400036659979378, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_can_get_reverse_ordered_qs": 0.14499212498776615, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_choices_added_for_search": 0.10601762500300538, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_correct_file_path_generated": 0.11532370899658417, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_create_revision_on_create": 0.1135476670024218, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_create_revision_on_data_change": 0.11413945800450165, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_dont_create_revision_on_data_same": 0.11695862599299289, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_draft_updated": 0.10701891600183444, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_file_gets_uploaded": 0.11352016599994386, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_in_final_stage": 0.27351537399954395, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_is_draft_property": 0.09990312599984463, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_number_not_in_search": 0.10788999999931548, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_richtext_in_char_is_removed_for_search": 0.09721316600916907, + "hypha/apply/funds/tests/test_models.py::TestApplicationSubmission::test_richtext_is_removed_for_search": 0.1044722080041538, + "hypha/apply/funds/tests/test_models.py::TestAssignedReviewersQuerySet::test_reviewed": 0.13959479100594763, + "hypha/apply/funds/tests/test_models.py::TestAssignedReviewersQuerySet::test_reviewed_with_review_order": 0.11604125000303611, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_assigned_but_not_reviewed": 0.24648391700611683, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_disagree_review_is_maybe": 0.14461575099267066, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_dont_double_count_review_and_opinion": 0.15729054200346582, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_opinionated_slash_confused_reviewer": 0.13988329200219596, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_review_outcome": 0.13843579199601663, + "hypha/apply/funds/tests/test_models.py::TestForTableQueryset::test_submissions_dont_conflict": 0.3541938750058762, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_another_user_exists": 5.639938956999686, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_logged_in": 0.22845499900722643, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_associated_if_not_new": 0.26535245799459517, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_can_submit_if_blank_user_data_even_if_logged_in": 0.17889095799182542, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_can_submit_if_new": 0.22564062500168802, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_doesnt_mess_with_name": 0.18654804099787725, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_email_sent_to_user_on_submission_fund": 0.23688699999911478, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_email_sent_to_user_on_submission_lab": 0.1991437910037348, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_valid_email": 0.3621546669965028, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_draft": 0.2770192909956677, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_draft_lab": 0.1655244169960497, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_status_assigned": 5.378487457994197, + "hypha/apply/funds/tests/test_models.py::TestFormSubmission::test_workflow_and_status_assigned_lab": 0.22909716700087301, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_can_access_workflow_class": 0.05035558300005505, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_can_not_be_open_with_draft_round": 0.08825899999646936, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_closed_round": 0.08567004099313635, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_multiple_open_rounds": 0.1070488330005901, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_no_open_rounds": 0.02877345900196815, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_no_round_exists": 0.033879041991895065, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_normal_round": 0.08253537401469657, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_open_ended_round": 0.14376608300517546, + "hypha/apply/funds/tests/test_models.py::TestFundModel::test_round_not_open": 0.10234354300337145, + "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_can_save_reminder": 0.1346765830021468, + "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_check_default_action": 0.09663054100383306, + "hypha/apply/funds/tests/test_models.py::TestReminderModel::test_reminder_action_message": 0.08851679100916954, + "hypha/apply/funds/tests/test_models.py::TestRequestForPartners::test_form_when_round": 0.30056783399777487, + "hypha/apply/funds/tests/test_models.py::TestRequestForPartners::test_message_when_no_round": 0.14581895800074562, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_create_without_end_date": 0.09270804100378882, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_create_with_other_open_end_date": 0.08602387699647807, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_overlap_clean": 0.09250349899957655, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_can_not_overlap_with_normal_round": 0.09831874899828108, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_end_before_start": 0.06269358499412192, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_end_overlaps": 0.09992129199963529, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_inside_overlaps": 0.07353587500256253, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_normal_start_end_doesnt_error": 0.12733545899391174, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_other_fund_not_impacting": 0.17605908500263467, + "hypha/apply/funds/tests/test_models.py::TestRoundModelDates::test_start_overlaps": 0.11729208399628988, + "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_can_change_round_form_not_fund": 0.1050419170060195, + "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_forms_are_copied_to_new_rounds": 0.08269066800858127, + "hypha/apply/funds/tests/test_models.py::TestRoundModelWorkflowAndForms::test_workflow_is_copied_to_new_rounds": 0.12287300000025425, + "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_file_private_url_included": 0.212891999995918, + "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_named_blocks_dont_break_if_no_response": 0.12483641698781867, + "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_named_blocks_not_included_in_answers": 0.1659652489979635, + "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_normal_answers_included_in_answers": 0.1087035419914173, + "hypha/apply/funds/tests/test_models.py::TestSubmissionRenderMethods::test_paragraph_not_rendered_in_answers": 0.10072016701451503, + "hypha/apply/funds/tests/test_tags.py::TestTemplateTags::test_markdown_tags": 0.008144416991854087, + "hypha/apply/funds/tests/test_tags.py::TestTemplateTags::test_submission_tags": 0.1356508329990902, + "hypha/apply/funds/tests/test_views.py::TestAnonSubmissionFileView::test_anonymous_can_not_access": 0.2999179170001298, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_edit_own_submission": 0.8037317490015994, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_see_view_determination_primary_action": 1.2146210000064457, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_submit_submission": 0.6908602500043344, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_can_view_own_submission": 0.7420104170014383, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_edit_other_submission": 1.188824750999629, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_edit_submission_incorrect_state": 0.5758178739997675, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_screen_submission": 0.49310062500444474, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_add_determination_primary_action": 1.0055855410100776, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_assign_reviewers_primary_action": 0.588156459001766, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_assign_reviewers_secondary_action": 0.8654626669958816, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_create_review_primary_action": 0.791886709004757, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_screening_status_block": 0.5779277070105309, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_see_view_determination_primary_action": 1.146419666991278, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_cant_view_others_submission": 0.5773452909998014, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_get_congratulations_draft_proposal": 0.9192219160104287, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_get_edit_link_when_editable": 0.7233645000014803, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_gets_draft_on_edit_submission": 0.8389468329987722, + "hypha/apply/funds/tests/test_views.py::TestApplicantSubmissionView::test_sees_latest_draft_if_it_exists": 0.7371932919995743, + "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_applicant_cannot_access_reviewer_leaderboard": 0.14387662499939324, + "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_community_reviewer_cannot_access_reviewer_leaderboard": 0.13340633299958427, + "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_partner_cannot_access_reviewer_leaderboard": 0.11223424899071688, + "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_reviewer_cannot_access_leader_board": 0.11185254200245254, + "hypha/apply/funds/tests/test_views.py::TestReviewerLeaderboard::test_staff_can_access_leaderboard": 0.48302104100002907, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_access_any_submission": 0.48021279100794345, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_accepted_submission": 0.9278412499988917, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_assigned_submission": 0.7677094989994657, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_external_review_or_higher_submission": 0.6407946670078672, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_only_access_reviewed_submission": 0.7786231669961126, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_see_create_review_primary_action": 0.7593909159913892, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_can_see_view_determination_primary_action": 0.7730184579922934, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_access_dismissed_submission": 0.5416824579879176, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_add_determination_primary_action": 1.1829349999970873, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_assign_reviewers_primary_action": 0.4189787909926963, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_assign_reviewers_secondary_action": 0.4096244169995771, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_create_review_primary_action": 1.202291832996707, + "hypha/apply/funds/tests/test_views.py::TestReviewerSubmissionView::test_cant_see_view_determination_primary_action": 1.1344129999997676, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_add_external_reviewer_and_review_remains": 0.6561037920037052, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_be_made_role_and_not_duplciated": 0.7677933749946533, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_can_remove_external_reviewer_and_review_remains": 0.5632064160017762, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_add_reviewers_for_proposal": 0.5710470410049311, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_add_staff_single": 0.8701660840015393, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_change_role_reviewer_and_review_remains": 0.6523368740017759, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_change_staff_single": 0.5599191239962238, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_remove_reviewers_for_proposal": 0.6161022500018589, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_can_remove_some_reviewers_for_proposal": 0.9622887500008801, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_lead_cant_add_reviewers_single": 0.5132425830015563, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_staff_cant_add_reviewers_proposal": 0.5797928739993949, + "hypha/apply/funds/tests/test_views.py::TestReviewersUpdateView::test_staff_cant_remove_reviewers_proposal": 0.8819515830036835, + "hypha/apply/funds/tests/test_views.py::TestRevisionCompare::test_renders_with_all_the_diffs": 0.4657493330014404, + "hypha/apply/funds/tests/test_views.py::TestRevisionList::test_get_in_correct_order": 0.6025169580025249, + "hypha/apply/funds/tests/test_views.py::TestRevisionList::test_list_doesnt_include_draft": 0.36002166599064367, + "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_create_revisions_on_submit": 0.6243746260006446, + "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_dont_update_live_revision_on_save": 0.9463615829954506, + "hypha/apply/funds/tests/test_views.py::TestRevisionsView::test_existing_draft_edit_and_submit": 0.7276349589956226, + "hypha/apply/funds/tests/test_views.py::TestStaffReminderDeleteView::test_confirm_message": 0.4313536660047248, + "hypha/apply/funds/tests/test_views.py::TestStaffReminderDeleteView::test_has_access": 0.33653133299958427, + "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_cant_post_to_sealed": 0.3903569990070537, + "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_non_sealed_redirected_away": 0.783739999998943, + "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_non_sealed_unaffected": 0.47171641599561553, + "hypha/apply/funds/tests/test_views.py::TestStaffSealedView::test_redirected_to_sealed": 0.29053633299918147, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionFileView::test_staff_can_access": 0.29379724899627035, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_applicant_can_see_application_draft_status": 0.24012079200474545, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_access_edit": 0.460977874994569, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_access_edit_button": 0.41095316698920215, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_create_project": 0.39450112500344403, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_edit_submission": 0.6523546669923235, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_progress_phase": 0.756446582992794, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_screen_submission": 0.49516470900562126, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_add_determination_primary_action": 1.2838072909944458, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_assign_reviewers_primary_action": 2.1142362090031384, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_assign_reviewers_secondary_action": 1.7381942909996724, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_create_review_primary_action": 2.0716167089994997, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_see_view_determination_primary_action": 1.1335919580014888, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_a_lab_submission": 0.9445804169954499, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_a_submission": 0.5401199580010143, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_can_view_submission_screening_block": 0.5913387919936213, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_access_edit_button_when_applicant_editing": 0.6308271669986425, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_progress_stage_if_not_lead": 0.5376924170050188, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_add_determination_primary_action": 2.0913373330040486, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_application_draft_status": 0.3553500409980188, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_assign_reviewers_primary_action": 1.531488291999267, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_create_review_primary_action": 3.0033718760023476, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_see_view_determination_primary_action": 1.980399625004793, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_cant_view_submission_screening_block": 0.6628903330056346, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_new_form_after_progress": 0.5483087500033434, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_included_fields_render": 0.813780875003431, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_redirected_if_determination_submitted": 1.4618807499937247, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_not_redirected_if_wrong_determination_selected": 0.8117575830037822, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_previous_and_next_appears_on_page": 1.2225654990033945, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_redirected_to_determination": 0.5452379999915138, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_screen_application_primary_action_is_displayed": 1.083954707995872, + "hypha/apply/funds/tests/test_views.py::TestStaffSubmissionView::test_screen_application_primary_action_is_not_displayed": 0.539117209998949, + "hypha/apply/funds/tests/test_views.py::TestSubmissionDetailSimplifiedView::test_project_required": 0.15189783399546286, + "hypha/apply/funds/tests/test_views.py::TestSubmissionDetailSimplifiedView::test_staff_only": 0.1217769170034444, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_can_post_to_sealed": 0.5423978339968016, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_can_view_multiple_sealed": 1.3366223749981145, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_not_asked_again": 0.7218307920047664, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_peeking_is_logged": 0.7986148749987478, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSealedView::test_redirected_to_sealed": 0.2782832080119988, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSubmissionView::test_can_screen_applications_in_final_status": 0.6719925410070573, + "hypha/apply/funds/tests/test_views.py::TestSuperUserSubmissionView::test_can_screen_submission": 0.48933454100915696, + "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_all_reviewer_roles_not_assigned": 0.8220917920043576, + "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_to_internal_review": 0.6963377919964842, + "hypha/apply/funds/tests/test_views.py::TestUpdateReviewersMixin::test_submission_transition_to_proposal_internal_review": 0.9637630409997655, + "hypha/apply/funds/tests/test_views.py::TestUserReminderDeleteView::test_doesnt_has_access": 0.3346061669944902, + "hypha/apply/funds/tests/test_views.py::TestUserSubmissionFileView::test_owner_can_access": 0.612516957007756, + "hypha/apply/funds/tests/test_views.py::TestUserSubmissionFileView::test_user_can_not_access": 0.28393799999321345, + "hypha/apply/funds/tests/views/test_batch_progress.py::ApplicantTestCase::test_cant_access_page_to_page": 0.1738048339902889, + "hypha/apply/funds/tests/views/test_batch_progress.py::ReivewersTestCase::test_cant_post_to_page": 0.15345033300400246, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_application": 0.5899431660000118, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_different_states": 0.9968584999951418, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_multiple_applications": 1.156452832998184, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_can_progress_one_in_mixed_state": 0.7538283330068225, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_cant_progress_in_incorrect_state": 0.504779167000379, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_determine_redirects": 0.45995099999709055, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_messenger_not_called_with_failed": 0.9404829989944119, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_messenger_with_submission_in_review": 0.5381770419990062, + "hypha/apply/funds/tests/views/test_batch_progress.py::StaffTestCase::test_mixed_determine_notifies": 0.5656020839960547, + "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_assign_role_reviewers": 1.5531410010007676, + "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_reassign_from_other_role_reviewers": 1.0893704579939367, + "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_can_reassign_role_reviewers": 1.0742028750028112, + "hypha/apply/funds/tests/views/test_batch_reviewers.py::StaffTestCase::test_doesnt_remove_if_already_reviewed": 1.2141052920051152, + "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantRoundPage::test_cant_access_page": 0.1773970000067493, + "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_lab_page": 0.25251770900649717, + "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_non_existing_page": 0.10753754199686227, + "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_normal_page": 0.21399954300432, + "hypha/apply/funds/tests/views/test_rounds.py::TestApplicantSubmissionByRound::test_cant_access_round_page": 0.22539754200988682, + "hypha/apply/funds/tests/views/test_rounds.py::TestReviewerAllRoundPage::test_cant_access_page": 0.1597615000064252, + "hypha/apply/funds/tests/views/test_rounds.py::TestStaffRoundPage::test_can_access_page": 0.6148809169899323, + "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_can_access_lab_page": 0.4123181660033879, + "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_can_access_round_page": 0.6585227929899702, + "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_cant_access_non_existing_page": 0.14332062500034226, + "hypha/apply/funds/tests/views/test_rounds.py::TestStaffSubmissionByRound::test_cant_access_normal_page": 0.2559811670143972, + "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_already_notified": 0.3036686240011477, + "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_project_complete": 0.26454108400503173, + "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_project_not_in_progress": 0.15444233400194207, + "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_dont_notify_report_due_in_7_days_already_submitted": 0.2093782080046367, + "hypha/apply/projects/tests/test_commands.py::TestNotifyReportDue::test_notify_report_due_in_7_days": 0.21618400000443216, + "hypha/apply/projects/tests/test_files.py::TestFlatten::test_no_items": 0.010950958007015288, + "hypha/apply/projects/tests/test_files.py::TestFlatten::test_one_level_of_items": 0.0042474599977140315, + "hypha/apply/projects/tests/test_files.py::TestFlatten::test_three_levels_of_items": 0.0011313330032862723, + "hypha/apply/projects/tests/test_files.py::TestFlatten::test_two_levels_of_items": 0.0015602080093231052, + "hypha/apply/projects/tests/test_files.py::TestGetFiles::test_get_files": 0.21644850001030136, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_finance1_status": 0.18910933399456553, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_finance1_status_with_extended_flow": 0.1913267100098892, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_approved_by_staff_status": 0.2396674580013496, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_finance1_status": 0.1965564989950508, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_finance2_status": 0.17716383299557492, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_changes_requested_by_staff_status": 0.1414687509968644, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_resubmitted_status": 0.1331874169918592, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance1_choices_with_submitted_status": 0.14283900000009453, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_approved_by_finance1_status": 0.1110986670028069, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_approved_by_staff_status": 0.14842954100458883, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_finance1_status": 0.15854970800864976, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_finance2_status": 0.19780108299892163, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_changes_requested_by_staff_status": 0.14684112500253832, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_resubmitted_status": 0.16149837600096362, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_finance2_choices_with_submitted_status": 0.2123706650090753, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_approved_by_finance1_status": 0.17614729100750992, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_approved_by_staff_status": 0.20133037400228204, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_finance1_status": 0.25938991700240877, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_finance2_status": 0.18971687400335213, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_changes_requested_by_staff_status": 0.17394079200312262, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_resubmitted_status": 0.19442849900224246, + "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_staff_choices_with_submitted_status": 0.1609292089997325, "hypha/apply/projects/tests/test_forms.py::TestChangeInvoiceStatusFormForm::test_valid_checks_required_for_approved_by_finance1": 0.14640300802420825, - "hypha/apply/projects/tests/test_forms.py::TestChangePAFStatusForm::test_comment_is_not_required": 0.1718307089759037, - "hypha/apply/projects/tests/test_forms.py::TestChangePAFStatusForm::test_paf_status_is_required": 0.12084329198114574, + "hypha/apply/projects/tests/test_forms.py::TestChangePAFStatusForm::test_comment_is_not_required": 0.24795737500244286, + "hypha/apply/projects/tests/test_forms.py::TestChangePAFStatusForm::test_paf_status_is_required": 0.1553986669969163, "hypha/apply/projects/tests/test_forms.py::TestChangePAFStatusForm::test_role_is_required": 0.27957526297541335, - "hypha/apply/projects/tests/test_forms.py::TestContractUploadForm::test_applicant_can_upload_signed": 0.006403084029443562, - "hypha/apply/projects/tests/test_forms.py::TestContractUploadForm::test_applicant_cant_upload_unsigned": 0.0013619580422528088, - "hypha/apply/projects/tests/test_forms.py::TestCreateInvoiceForm::test_adding_invoice": 0.14031287498073652, - "hypha/apply/projects/tests/test_forms.py::TestCreateInvoiceForm::test_supporting_documents_not_required": 0.11470908299088478, - "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_add_new_supporting_document": 0.1444257089169696, - "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_keep_existing_supporting_document": 0.10962137498427182, - "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_remove_existing_supporting_document": 0.12516949890414253, + "hypha/apply/projects/tests/test_forms.py::TestContractUploadForm::test_applicant_can_upload_signed": 0.023800582996045705, + "hypha/apply/projects/tests/test_forms.py::TestContractUploadForm::test_applicant_cant_upload_unsigned": 0.002213332998508122, + "hypha/apply/projects/tests/test_forms.py::TestCreateInvoiceForm::test_adding_invoice": 0.2318217920110328, + "hypha/apply/projects/tests/test_forms.py::TestCreateInvoiceForm::test_supporting_documents_not_required": 0.23224262499570614, + "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_add_new_supporting_document": 0.19827774999430403, + "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_keep_existing_supporting_document": 0.17877049899834674, + "hypha/apply/projects/tests/test_forms.py::TestEditInvoiceForm::test_remove_existing_supporting_document": 0.20386312600021483, "hypha/apply/projects/tests/test_forms.py::TestFinalApprovalForm::test_comment_is_not_required": 0.13221216498641297, "hypha/apply/projects/tests/test_forms.py::TestFinalApprovalForm::test_final_approval_status_is_required": 0.14672052202513441, - "hypha/apply/projects/tests/test_forms.py::TestProjectApprovalForm::test_updating_fields_sets_changed_flag": 0.1513795000500977, - "hypha/apply/projects/tests/test_forms.py::TestSelectDocumentForm::test_copying_files": 0.18573712499346584, - "hypha/apply/projects/tests/test_forms.py::TestStaffContractUploadForm::test_staff_can_upload_signed": 0.016540082986466587, - "hypha/apply/projects/tests/test_forms.py::TestStaffContractUploadForm::test_staff_can_upload_unsigned": 0.0009478750289417803, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_can_edit_invoice": 0.36330341699067503, + "hypha/apply/projects/tests/test_forms.py::TestProjectApprovalForm::test_updating_fields_sets_changed_flag": 0.17597062499407912, + "hypha/apply/projects/tests/test_forms.py::TestSelectDocumentForm::test_copying_files": 0.2779002500101342, + "hypha/apply/projects/tests/test_forms.py::TestStaffContractUploadForm::test_staff_can_upload_signed": 0.04580050100776134, + "hypha/apply/projects/tests/test_forms.py::TestStaffContractUploadForm::test_staff_can_upload_unsigned": 0.006536332992254756, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_can_edit_invoice": 0.5508232920037699, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_complete_required_checks": 0.2534002040629275, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_edit_deliverables": 1.1302305419230834, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_edit_invoice": 0.8116131669376045, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_edit_deliverables": 1.7017954159891815, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_edit_invoice": 1.3016169579932466, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_applicant_cant_view_required_checks": 0.15699885797221214, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_can_user_delete_from_submitted": 0.1474017919972539, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_deliverables_total_amount": 0.22718766692560166, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_change_status": 0.24208254198310897, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_change_status_with_extended_flow": 0.26650112500647083, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_can_user_delete_from_submitted": 0.17414941699826159, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_deliverables_total_amount": 0.3682897070029867, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_change_status": 0.5918741259956732, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_change_status_with_extended_flow": 0.39507579099881696, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_complete_required_checks": 0.13558499101782218, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_complete_required_checks_with_extended_flow": 0.262551411986351, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_edit_deliverables": 0.1268042500014417, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_edit_deliverables_with_extended_flow": 0.26172199996653944, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_edit_deliverables": 0.17321679199812934, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_edit_deliverables_with_extended_flow": 0.35622070899262326, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_can_view_required_checks": 0.13442321895854548, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_change_status": 0.7050282080308534, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_change_status_with_extended_flow": 0.9462360010365956, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_edit_deliverables": 0.921039208129514, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_can_change_status_with_extended_flow": 0.2598687920253724, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_can_edit_deliverables": 0.10523770900908858, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_change_status": 0.9425885829987237, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_change_status_with_extended_flow": 1.6100349179978366, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance1_cant_edit_deliverables": 1.534952959002112, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_can_change_status_with_extended_flow": 0.780776584004343, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_can_edit_deliverables": 0.18154137500823708, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_can_view_required_checks": 0.1515219429275021, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_cant_change_status": 0.9600839590420946, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_cant_change_status": 1.52175649900164, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_cant_complete_required_checks": 0.2719519470119849, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_cant_edit_deliverables": 1.2250069149886258, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_invoice_status_user_choices": 0.03718683298211545, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_paid_value_overrides_paid_value": 0.2030398749629967, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_paid_value_used_when_no_paid_value": 0.13652175100287423, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_change_status": 0.47239845793228596, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_delete_from_submitted": 0.12855129095260054, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_edit_deliverables": 0.39788370800670236, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_edit_invoice": 0.400879165972583, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_change_status": 1.0896235829568468, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_finance2_cant_edit_deliverables": 1.5477492509962758, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_invoice_status_user_choices": 0.031073082995135337, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_paid_value_overrides_paid_value": 0.378780541002925, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_paid_value_used_when_no_paid_value": 0.15811391700117383, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_change_status": 0.8144357919954928, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_delete_from_submitted": 0.1757937509973999, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_edit_deliverables": 0.44832708298781654, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_can_edit_invoice": 0.5045520000057877, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_change_status": 1.03885737600649, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_complete_required_checks": 0.25674830604111776, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_changes_requested": 0.12655916705261916, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_declined": 0.1241452909889631, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_paid": 0.09894866601098329, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_resubmitted": 0.11720466602127999, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_edit_deliverables": 0.8992272920440882, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_edit_invoice": 0.8716860840213485, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_changes_requested": 0.15838837499904912, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_declined": 0.17650774899084354, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_paid": 0.17074895900441334, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_delete_from_resubmitted": 0.22622404099820415, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_edit_deliverables": 1.3831105009958264, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_edit_invoice": 1.4458317499957047, "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_staff_cant_view_required_checks": 0.13086751097580418, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_changes_requested": 0.11003816605079919, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_declined": 0.13892958394717425, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_paid": 0.1303658340475522, - "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_resubmitted": 0.12873112497618422, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_approved_by_finance_1": 0.14149708399781957, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_approved_by_staff": 0.11375741701340303, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_for_finance_1": 0.3286479579983279, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_for_finance_1_with_extended_flow": 0.34988908405648544, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_get_totals": 0.2184157090377994, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_get_totals_no_value": 0.0021292089950293303, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_in_progress": 0.4871035839896649, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_in_progress_with_extended_workflow": 0.461409084033221, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_not_rejected": 0.25259441597154364, - "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_rejected": 0.23775141587248072, - "hypha/apply/projects/tests/test_models.py::TestProjectModel::test_create_from_submission": 0.1269227919401601, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_changes_requested": 0.24539170800562715, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_declined": 0.22331345899874577, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_paid": 0.18845979199249996, + "hypha/apply/projects/tests/test_models.py::TestInvoiceModel::test_user_cant_delete_from_resubmitted": 0.18076258300425252, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_approved_by_finance_1": 0.2989778329865658, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_approved_by_staff": 0.21180866599752335, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_for_finance_1": 0.49485733300389256, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_for_finance_1_with_extended_flow": 0.4978569999948377, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_get_totals": 0.315727125009289, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_get_totals_no_value": 0.0032294580014422536, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_in_progress": 0.6924982499986072, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_in_progress_with_extended_workflow": 0.6498203750015819, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_not_rejected": 0.4912211250048131, + "hypha/apply/projects/tests/test_models.py::TestInvoiceQueryset::test_rejected": 0.3824950840062229, + "hypha/apply/projects/tests/test_models.py::TestProjectModel::test_create_from_submission": 0.18510741698992206, "hypha/apply/projects/tests/test_models.py::TestProjectModel::test_get_missing_document_categories_with_enough_documents": 0.11543385393451899, "hypha/apply/projects/tests/test_models.py::TestProjectModel::test_get_missing_document_categories_with_no_documents": 0.12154749495675787, "hypha/apply/projects/tests/test_models.py::TestProjectModel::test_get_missing_document_categories_with_some_documents": 0.1251538940705359, - "hypha/apply/projects/tests/test_models.py::TestReport::test_late_if_two_weeks_behind": 0.1477487930096686, - "hypha/apply/projects/tests/test_models.py::TestReport::test_not_late_if_one_ahead": 0.13237629103241488, - "hypha/apply/projects/tests/test_models.py::TestReport::test_not_late_if_two_ahead_but_one_in_future": 0.1617117919959128, - "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_doesnt_includes_draft": 0.13124441704712808, - "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_doesnt_includes_to_do": 0.12062133406288922, - "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_includes_skipped": 0.14506729098502547, - "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_includes_submitted": 0.1238328319741413, - "hypha/apply/projects/tests/test_models.py::TestReport::test_start_date": 0.21993504301644862, - "hypha/apply/projects/tests/test_models.py::TestReport::test_start_date_with_submitted": 0.24898254103027284, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_current_due_report_gets_active_report": 0.16092424996895716, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_report_in_past": 0.12169475003611296, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_skipped": 0.1491424990235828, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_submitted_report_in_past": 0.1257554159965366, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_months_always_relative": 0.13577125000301749, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_next_date_month_from_now": 0.1201719170785509, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_next_date_week_from_now": 0.12127966596744955, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report": 0.13493754208320752, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report_if_current_skipped": 0.23459212493617088, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report_not_in_past": 0.11976004095049575, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_schedule_in_future_creates_report": 0.1297682499862276, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due": 0.1139041249989532, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_has_drafts": 0.15932658303063363, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_future": 0.12547366600483656, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_skipped": 0.118757291988004, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_submitted": 0.1272358339629136, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_report_creates_report": 0.11167049902724102, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_report_future_schedule_creates_report": 0.12052008305909112, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_submitted_report_unaffected": 0.1280730830039829, - "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_today_schedule_gets_report_today": 0.10225716698914766, - "hypha/apply/projects/tests/test_settings.py::TestProjectFeatureFlag::test_urls_404_when_turned_off": 0.18001758301397786, - "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_only_owner_or_contracting_can_upload_contract": 0.5239041250897571, + "hypha/apply/projects/tests/test_models.py::TestReport::test_late_if_two_weeks_behind": 0.23664579099568073, + "hypha/apply/projects/tests/test_models.py::TestReport::test_not_late_if_one_ahead": 0.19989300100132823, + "hypha/apply/projects/tests/test_models.py::TestReport::test_not_late_if_two_ahead_but_one_in_future": 0.1802942089998396, + "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_doesnt_includes_draft": 0.1791010009983438, + "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_doesnt_includes_to_do": 0.15484683400427457, + "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_includes_skipped": 0.25778774899663404, + "hypha/apply/projects/tests/test_models.py::TestReport::test_queryset_done_includes_submitted": 0.26953179199335864, + "hypha/apply/projects/tests/test_models.py::TestReport::test_start_date": 0.41160025000135647, + "hypha/apply/projects/tests/test_models.py::TestReport::test_start_date_with_submitted": 0.39719279100972926, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_current_due_report_gets_active_report": 0.23046020900073927, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_report_in_past": 0.23743975099205272, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_skipped": 0.24442912599624833, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_last_report_gets_submitted_report_in_past": 0.21574679100740468, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_months_always_relative": 0.2463472490053391, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_next_date_month_from_now": 0.17392541699518915, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_next_date_week_from_now": 0.15690879200701602, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report": 0.19569475000025705, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report_if_current_skipped": 0.44443208300799597, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_creates_report_not_in_past": 0.23041870899760397, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_no_report_schedule_in_future_creates_report": 0.17143904200202087, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due": 0.1522542919992702, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_has_drafts": 0.16026570800022455, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_future": 0.16555229100049473, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_skipped": 0.1655940839991672, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_no_submitted": 0.17870145900087664, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_report_creates_report": 0.17986241799371783, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_past_due_report_future_schedule_creates_report": 0.1522822080005426, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_submitted_report_unaffected": 0.1576759580129874, + "hypha/apply/projects/tests/test_models.py::TestReportConfig::test_today_schedule_gets_report_today": 0.2100395839952398, + "hypha/apply/projects/tests/test_settings.py::TestProjectFeatureFlag::test_urls_404_when_turned_off": 0.3442490830057068, + "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_only_owner_or_contracting_can_upload_contract": 0.9462882500010892, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_only_owner_or_staff_or_contracting_can_upload_contract": 0.6099863669951446, - "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_owner_can_only_upload_during_contracting": 0.6643426680820994, + "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_owner_can_only_upload_during_contracting": 1.1525565420015482, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_staff_can_only_upload_during_contracting": 0.9420862589031458, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_staff_can_upload_after_state_leaves_committed": 0.7649188670911826, - "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_staff_cant_upload_contract": 0.6652022080379538, + "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_staff_cant_upload_contract": 1.225212958008342, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_user_can_only_upload_during_contracting": 0.6449822820723057, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_user_cannot_upload_first_contract": 0.13075465901056305, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_user_cannot_upload_when_latest_is_approved": 0.13252823700895533, "hypha/apply/projects/tests/test_templatetags.py::TestContractTools::test_user_upload_happy_path": 0.2574270899640396, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_can_edit_in_resubmitted": 0.1416441659675911, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_can_edit_in_submitted": 0.13269512495025992, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_cant_edit_in_decline": 0.11906229198211804, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_cant_edit_in_paid": 0.13019908301066607, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_can_edit_in_changes_requested": 0.13013033400056884, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_changes_requested": 0.11940841592149809, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_resubmitted": 0.14355270902160555, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_submitted": 0.13288904097862542, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_delete_from_submitted": 0.1131814590189606, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_change_status_from_declined": 0.14224608399672434, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_change_status_from_paid": 0.11739499995019287, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_changes_requested": 0.13371045800158754, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_declined": 0.11702750099357218, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_paid": 0.10729066602652892, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_resubmitted": 0.14401299902237952, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_edit_in_changes_requested": 0.1236842090729624, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_can_delete_from_changes_requested": 0.11744620994431898, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_can_delete_from_submitted": 0.10634854197269306, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_changes_requested": 0.1360518749570474, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_declined": 0.11879579199012369, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_paid": 0.11959391599521041, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_resubmitted": 0.11630808300105855, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_submitted": 0.13333870802307501, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_declined": 0.13749158300925046, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_paid": 0.12493983306922019, - "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_resubmitted": 0.10210883396212012, - "hypha/apply/projects/tests/test_views.py::ApplicantStaffProjectDetailDownloadView::test_cant_access_docx": 0.45916212402516976, - "hypha/apply/projects/tests/test_views.py::ApplicantStaffProjectDetailDownloadView::test_cant_access_pdf": 0.24529237597016618, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_can_edit_in_resubmitted": 0.2651955410037772, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_can_edit_in_submitted": 0.2050952489953488, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_cant_edit_in_decline": 0.2582249160113861, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_and_staff_cant_edit_in_paid": 0.22423591599363135, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_applicant_can_edit_in_changes_requested": 0.2401740420027636, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_changes_requested": 0.1833275409953785, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_resubmitted": 0.23774537599092582, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_change_status_from_submitted": 0.19676404100027867, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_can_delete_from_submitted": 0.21329949999926612, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_change_status_from_declined": 0.2815040410059737, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_change_status_from_paid": 0.21811145800165832, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_changes_requested": 0.21016850000160048, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_declined": 0.22547562599356752, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_paid": 0.19675004100281512, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_delete_from_resubmitted": 0.17202537499542814, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_staff_cant_edit_in_changes_requested": 0.17708474999380996, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_can_delete_from_changes_requested": 0.17538983299891697, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_can_delete_from_submitted": 0.2822678749944316, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_changes_requested": 0.23659295900870347, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_declined": 0.20366225099860458, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_paid": 0.16689058399788337, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_resubmitted": 0.18774799900711514, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_change_status_from_submitted": 0.24129820800590096, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_declined": 0.21837274999415968, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_paid": 0.17681833299866412, + "hypha/apply/projects/tests/test_templatetags.py::TestInvoiceTools::test_user_cant_delete_from_resubmitted": 0.25951245699980063, + "hypha/apply/projects/tests/test_views.py::ApplicantStaffProjectDetailDownloadView::test_cant_access_docx": 0.710444249009015, + "hypha/apply/projects/tests/test_views.py::ApplicantStaffProjectDetailDownloadView::test_cant_access_pdf": 0.35019075099990005, "hypha/apply/projects/tests/test_views.py::ApplicantStaffProjectPDFExport::test_cant_access": 0.4367084689438343, - "hypha/apply/projects/tests/test_views.py::TestAnonPacketView::test_anonymous_can_not_access": 0.4795464590424672, - "hypha/apply/projects/tests/test_views.py::TestApplicantChangeInoviceStatus::test_can": 0.3256509589846246, - "hypha/apply/projects/tests/test_views.py::TestApplicantChangeInoviceStatus::test_other_cant": 0.22193012502975762, - "hypha/apply/projects/tests/test_views.py::TestApplicantDetailInvoiceStatus::test_can": 0.3115037499810569, - "hypha/apply/projects/tests/test_views.py::TestApplicantDetailInvoiceStatus::test_other_cant": 0.2415912079741247, - "hypha/apply/projects/tests/test_views.py::TestApplicantEditInvoiceView::test_editing_invoice_remove_supporting_document": 0.538654375995975, - "hypha/apply/projects/tests/test_views.py::TestApplicantEditInvoiceView::test_editing_payment_keeps_receipts": 0.34710566693684086, - "hypha/apply/projects/tests/test_views.py::TestApplicantInvoiceDocumentPrivateMedia::test_can_access_own": 0.303694000991527, - "hypha/apply/projects/tests/test_views.py::TestApplicantInvoiceDocumentPrivateMedia::test_cant_access_other": 0.21306154096964747, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_can_access_own_submitted_report": 0.3071528759901412, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_draft_report": 0.20377112395362929, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_future_report": 0.21426974999485537, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_submitted_report": 0.27217287494568154, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_own_draft_report": 0.2003725840477273, - "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_own_future_report": 0.213356250023935, - "hypha/apply/projects/tests/test_views.py::TestApplicantSelectDocumentView::test_can_choose": 0.37393970793345943, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_edit_submitted_report": 0.2687948750681244, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_get_other_report": 0.1986369170481339, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_get_own_report_for_closing_and_complete_project": 0.3425587509991601, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_submit_blank_report": 0.2760763339465484, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_submit_other_report": 0.1870428750407882, + "hypha/apply/projects/tests/test_views.py::TestAnonPacketView::test_anonymous_can_not_access": 0.3054074999963632, + "hypha/apply/projects/tests/test_views.py::TestApplicantChangeInoviceStatus::test_can": 0.5056908749902504, + "hypha/apply/projects/tests/test_views.py::TestApplicantChangeInoviceStatus::test_other_cant": 0.7044322090005153, + "hypha/apply/projects/tests/test_views.py::TestApplicantDetailInvoiceStatus::test_can": 0.47771016599290306, + "hypha/apply/projects/tests/test_views.py::TestApplicantDetailInvoiceStatus::test_other_cant": 0.3764598330017179, + "hypha/apply/projects/tests/test_views.py::TestApplicantEditInvoiceView::test_editing_invoice_remove_supporting_document": 0.6725450410012854, + "hypha/apply/projects/tests/test_views.py::TestApplicantEditInvoiceView::test_editing_payment_keeps_receipts": 0.6132104999996955, + "hypha/apply/projects/tests/test_views.py::TestApplicantInvoiceDocumentPrivateMedia::test_can_access_own": 0.4125743760014302, + "hypha/apply/projects/tests/test_views.py::TestApplicantInvoiceDocumentPrivateMedia::test_cant_access_other": 0.5804216260003159, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_can_access_own_submitted_report": 0.5314687499922002, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_draft_report": 0.5228035000036471, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_future_report": 0.4283846670005005, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_other_submitted_report": 0.41528729199490044, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_own_draft_report": 0.32413316600286635, + "hypha/apply/projects/tests/test_views.py::TestApplicantReportDetail::test_cant_access_own_future_report": 0.38966429100401, + "hypha/apply/projects/tests/test_views.py::TestApplicantSelectDocumentView::test_can_choose": 0.5999281659896951, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_edit_submitted_report": 0.4366214580149972, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_get_other_report": 0.3782309169982909, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_get_own_report_for_closing_and_complete_project": 0.6489966260051006, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_submit_blank_report": 0.4349512920016423, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_cant_submit_other_report": 0.411165625002468, "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_get_own_report": 0.2826117270742543, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_get_own_report_for_inprogress_project": 0.3384575830423273, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_save_report_draft": 0.3246157499961555, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_save_report_with_draft": 0.5627535410458222, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_submit_own_report": 0.3342833330389112, - "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_submit_private_report": 0.38345675001619384, - "hypha/apply/projects/tests/test_views.py::TestApplicantSupportingDocumentPrivateMedia::test_can_access_own": 0.2888711250270717, - "hypha/apply/projects/tests/test_views.py::TestApplicantSupportingDocumentPrivateMedia::test_cant_access_other": 0.5360604160232469, - "hypha/apply/projects/tests/test_views.py::TestApplicantUploadContractView::test_non_owner_upload_contract": 0.25273012602701783, - "hypha/apply/projects/tests/test_views.py::TestApplicantUploadContractView::test_owner_upload_contract": 0.33014037396060303, - "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_already_approved_contract": 0.411870917014312, - "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_unapproved_contract": 0.6934588749427348, - "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_unsigned_contract": 0.31821533292531967, - "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_attempt_to_approve_non_latest": 0.31890566600486636, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_get_own_report_for_inprogress_project": 0.45729274900077144, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_save_report_draft": 0.4896087500019348, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_save_report_with_draft": 78.75561304200528, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_submit_own_report": 0.35995904100855114, + "hypha/apply/projects/tests/test_views.py::TestApplicantSubmitReport::test_submit_private_report": 0.5232374590050313, + "hypha/apply/projects/tests/test_views.py::TestApplicantSupportingDocumentPrivateMedia::test_can_access_own": 0.5035335010034032, + "hypha/apply/projects/tests/test_views.py::TestApplicantSupportingDocumentPrivateMedia::test_cant_access_other": 0.3699937499986845, + "hypha/apply/projects/tests/test_views.py::TestApplicantUploadContractView::test_non_owner_upload_contract": 0.402900832996238, + "hypha/apply/projects/tests/test_views.py::TestApplicantUploadContractView::test_owner_upload_contract": 0.8871705419878708, + "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_already_approved_contract": 0.807585875998484, + "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_unapproved_contract": 0.7920447499927832, + "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_approve_unsigned_contract": 0.44203637500322657, + "hypha/apply/projects/tests/test_views.py::TestApproveContractView::test_attempt_to_approve_non_latest": 0.7866641249929671, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_applicant_cant_update_paf_status": 0.16629222000483423, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_assigned_approvers_can_approve_paf": 0.456562418024987, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_assigned_approvers_can_reject_paf": 0.4152632079203613, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_assigned_approvers_can_approve_paf": 0.7445737500020186, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_assigned_approvers_can_reject_paf": 0.7991544160031481, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_contracting_can_update_paf_status": 0.12587614404037595, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_finance_can_update_paf_status": 0.1424186519579962, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_reviewer_approve_paf": 0.11959398398175836, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_reviewer_rejects_paf": 0.11641414504265413, "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_staff_can_update_paf_status": 0.14335077803116292, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_applicant_cant_update_paf_status": 0.2950861669378355, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_contracting_cant_update_paf_status": 0.521577792998869, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_finance_cant_update_paf_status": 0.23723004100611433, - "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_staff_cant_update_paf_status": 0.2821604569326155, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_signed_and_approved_contracts_appear": 0.12316487601492554, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_signed_and_unapproved_returns_latest": 0.10773258411791176, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_unsigned_and_unapproved_returns_only_latest": 0.1178819989436306, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_signed_and_approved": 0.11882074997993186, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_signed_and_unapproved": 0.14017470710678026, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_unsigned_and_unapproved": 0.11534129199571908, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_with_latest_signed_returns_no_unsigned": 0.10427795996656641, - "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_no_contracts_returns_nothing": 0.11602991598192602, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_applicant_cant_update_paf_status": 0.43882504199427785, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_contracting_cant_update_paf_status": 0.4137016250024317, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_finance_cant_update_paf_status": 0.45961216700379737, + "hypha/apply/projects/tests/test_views.py::TestChangePAFStatusView::test_unassigned_staff_cant_update_paf_status": 0.49395616800757125, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_signed_and_approved_contracts_appear": 0.23391312600142555, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_signed_and_unapproved_returns_latest": 0.18382525000197347, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_all_unsigned_and_unapproved_returns_only_latest": 0.20035120900865877, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_signed_and_approved": 0.1991765420025331, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_signed_and_unapproved": 0.33707991700066486, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_of_both_latest_unsigned_and_unapproved": 0.17289041799813276, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_mixture_with_latest_signed_returns_no_unsigned": 0.19131270798970945, + "hypha/apply/projects/tests/test_views.py::TestContractsMixin::test_no_contracts_returns_nothing": 0.22986304100049892, "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_approval": 0.6934734180103987, "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_approver_cant_be_applicant": 0.1994648210820742, "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_approver_cant_be_approver": 0.2700507749686949, @@ -671,221 +671,221 @@ "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_approver_cant_be_finance": 0.24600107705919072, "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_approver_cant_be_staff": 0.25083705002907664, "hypha/apply/projects/tests/test_views.py::TestFinalApprovalView::test_final_rejection": 0.463428097020369, - "hypha/apply/projects/tests/test_views.py::TestFinanceDetailInvoiceStatus::test_can": 0.3208207089919597, - "hypha/apply/projects/tests/test_views.py::TestFinanceDetailInvoiceStatus::test_wrong_project_cant": 0.32072658301331103, - "hypha/apply/projects/tests/test_views.py::TestFinanceProjectDetailView::test_has_access": 0.3069825819693506, - "hypha/apply/projects/tests/test_views.py::TestFinanceProjectDetailView::test_lab_project_renders": 0.2706773330573924, - "hypha/apply/projects/tests/test_views.py::TestProjectDetailApprovalView::test_staff_only": 0.13856237498112023, + "hypha/apply/projects/tests/test_views.py::TestFinanceDetailInvoiceStatus::test_can": 0.5230895420027082, + "hypha/apply/projects/tests/test_views.py::TestFinanceDetailInvoiceStatus::test_wrong_project_cant": 0.6158526669969433, + "hypha/apply/projects/tests/test_views.py::TestFinanceProjectDetailView::test_has_access": 0.5882492500022636, + "hypha/apply/projects/tests/test_views.py::TestFinanceProjectDetailView::test_lab_project_renders": 0.4923698749989853, + "hypha/apply/projects/tests/test_views.py::TestProjectDetailApprovalView::test_staff_only": 0.30399079299968434, "hypha/apply/projects/tests/test_views.py::TestProjectDetailSimplifiedView::test_staff_only": 0.15704163699410856, - "hypha/apply/projects/tests/test_views.py::TestProjectListView::test_applicants_cannot_access_project_list_page": 0.4246058319695294, - "hypha/apply/projects/tests/test_views.py::TestProjectListView::test_staff_can_access_project_list_page": 0.36219254101160914, - "hypha/apply/projects/tests/test_views.py::TestProjectOverviewView::test_applicants_cannot_access": 0.37630616599926725, - "hypha/apply/projects/tests/test_views.py::TestProjectOverviewView::test_staff_can_access": 0.41673837590496987, - "hypha/apply/projects/tests/test_views.py::TestRemoveDocumentView::test_remove_document": 0.48997466603759676, - "hypha/apply/projects/tests/test_views.py::TestRemoveDocumentView::test_remove_non_existent_document": 0.3139536670059897, - "hypha/apply/projects/tests/test_views.py::TestReviewerUserProjectDetailView::test_doesnt_have_access": 0.5179437079932541, - "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_fails_when_project_is_locked": 0.17156754207098857, + "hypha/apply/projects/tests/test_views.py::TestProjectListView::test_applicants_cannot_access_project_list_page": 0.5594909169958555, + "hypha/apply/projects/tests/test_views.py::TestProjectListView::test_staff_can_access_project_list_page": 1.0166577079944545, + "hypha/apply/projects/tests/test_views.py::TestProjectOverviewView::test_applicants_cannot_access": 0.6159099169963156, + "hypha/apply/projects/tests/test_views.py::TestProjectOverviewView::test_staff_can_access": 0.6297384169956786, + "hypha/apply/projects/tests/test_views.py::TestRemoveDocumentView::test_remove_document": 0.9606918330027838, + "hypha/apply/projects/tests/test_views.py::TestRemoveDocumentView::test_remove_non_existent_document": 0.6012748339926475, + "hypha/apply/projects/tests/test_views.py::TestReviewerUserProjectDetailView::test_doesnt_have_access": 0.3672789579941309, + "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_fails_when_project_is_locked": 0.4091400830002385, "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_fails_when_project_is_not_in_committed_state": 0.11484798201126978, - "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_fails_when_project_is_not_in_draft_state": 0.14426654000999406, - "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_happy_path": 0.45225474901963025, - "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_skip_draft_report": 0.7346736240433529, - "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_skip_report": 0.4331095829838887, - "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_unskip_report": 0.5356489589903504, - "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_cant_skip_current_report": 0.49836270802188665, - "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_cant_skip_submitted_report": 0.38844799995422363, - "hypha/apply/projects/tests/test_views.py::TestStaffChangeInvoiceStatus::test_can": 0.5439029589761049, - "hypha/apply/projects/tests/test_views.py::TestStaffDetailInvoiceStatus::test_can": 0.3614245840581134, - "hypha/apply/projects/tests/test_views.py::TestStaffDetailInvoiceStatus::test_wrong_project_cant": 0.3226270829909481, - "hypha/apply/projects/tests/test_views.py::TestStaffEditInvoiceView::test_editing_invoice_keeps_supprting_document": 0.44923462596489117, - "hypha/apply/projects/tests/test_views.py::TestStaffEditInvoiceView::test_editing_invoice_remove_supporting_document": 0.3660999580170028, - "hypha/apply/projects/tests/test_views.py::TestStaffInoviceDocumentPrivateMedia::test_can_access": 0.3106673340080306, - "hypha/apply/projects/tests/test_views.py::TestStaffInoviceDocumentPrivateMedia::test_cant_access_if_project_wrong": 0.3133041240507737, - "hypha/apply/projects/tests/test_views.py::TestStaffInvoiceSupportingDocumentPrivateMedia::test_can_access": 0.48374729201896116, - "hypha/apply/projects/tests/test_views.py::TestStaffPacketView::test_staff_can_access": 0.24483416695147753, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_can_access_docx": 0.2842131249490194, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_can_access_pdf": 0.2532527500297874, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_response_object_is_docx": 0.2087979579810053, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_response_object_is_pdf": 0.23951404099352658, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailView::test_has_access": 0.3380022089695558, - "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailView::test_lab_project_renders": 0.4964867499656975, + "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_fails_when_project_is_not_in_draft_state": 0.2731324989872519, + "hypha/apply/projects/tests/test_views.py::TestSendForApprovalView::test_send_for_approval_happy_path": 1.1102823330002138, + "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_skip_draft_report": 1.2416081669944106, + "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_skip_report": 0.6530720009905053, + "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_can_unskip_report": 0.6433117499909713, + "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_cant_skip_current_report": 0.8470896649960196, + "hypha/apply/projects/tests/test_views.py::TestSkipReport::test_cant_skip_submitted_report": 0.7471433759928914, + "hypha/apply/projects/tests/test_views.py::TestStaffChangeInvoiceStatus::test_can": 0.5888531240052544, + "hypha/apply/projects/tests/test_views.py::TestStaffDetailInvoiceStatus::test_can": 0.8410309999962919, + "hypha/apply/projects/tests/test_views.py::TestStaffDetailInvoiceStatus::test_wrong_project_cant": 0.6662022919990704, + "hypha/apply/projects/tests/test_views.py::TestStaffEditInvoiceView::test_editing_invoice_keeps_supprting_document": 0.6624517909949645, + "hypha/apply/projects/tests/test_views.py::TestStaffEditInvoiceView::test_editing_invoice_remove_supporting_document": 0.5447007929979009, + "hypha/apply/projects/tests/test_views.py::TestStaffInoviceDocumentPrivateMedia::test_can_access": 0.48502866699709557, + "hypha/apply/projects/tests/test_views.py::TestStaffInoviceDocumentPrivateMedia::test_cant_access_if_project_wrong": 0.6657001250059693, + "hypha/apply/projects/tests/test_views.py::TestStaffInvoiceSupportingDocumentPrivateMedia::test_can_access": 0.5077589989959961, + "hypha/apply/projects/tests/test_views.py::TestStaffPacketView::test_staff_can_access": 0.4149597089999588, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_can_access_docx": 0.8262354590042378, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_can_access_pdf": 0.46238870700472035, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_response_object_is_docx": 0.4255601240147371, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailDownloadView::test_response_object_is_pdf": 0.49811137399228755, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailView::test_has_access": 1.048364665999543, + "hypha/apply/projects/tests/test_views.py::TestStaffProjectDetailView::test_lab_project_renders": 0.47487737499614013, "hypha/apply/projects/tests/test_views.py::TestStaffProjectPDFExport::test_can_access": 0.62907274288591, "hypha/apply/projects/tests/test_views.py::TestStaffProjectPDFExport::test_reponse_object_is_pdf": 0.49607601994648576, - "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_can_access_submitted_report": 0.7208559580030851, - "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_draft_report": 0.1993922510300763, - "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_future_report": 0.19288537505781278, - "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_skipped_report": 0.24741629196796566, - "hypha/apply/projects/tests/test_views.py::TestStaffSelectDocumentView::test_can_choose": 0.5797827090136707, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_get_page_for_closing_and_complete_project": 0.41048508300445974, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_blank_report": 0.46325166698079556, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_future_report": 0.23543595790397376, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_report_for_closing_and_complete_project": 0.39520945894764736, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_edit_submitted_report": 0.4390557080041617, + "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_can_access_submitted_report": 1.6475467089912854, + "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_draft_report": 0.5188463329977822, + "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_future_report": 0.42309358400234487, + "hypha/apply/projects/tests/test_views.py::TestStaffReportDetail::test_cant_access_skipped_report": 0.3427934589999495, + "hypha/apply/projects/tests/test_views.py::TestStaffSelectDocumentView::test_can_choose": 0.7489648750051856, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_get_page_for_closing_and_complete_project": 0.7452298739954131, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_blank_report": 0.5157274169978336, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_future_report": 0.33624187499663094, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_cant_submit_report_for_closing_and_complete_project": 1.0457600420049857, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_edit_submitted_report": 0.7684346669993829, "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_get_page": 0.2761989119462669, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_get_page_for_inprogress_project": 0.2642857500468381, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_resubmit_submitted_report": 0.4863973740139045, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_save_report_draft": 0.396255124011077, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_save_report_with_draft": 0.6368727079825476, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_submit_private_report": 0.4309600000269711, - "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_submit_report": 0.4222774589434266, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_get_page_for_inprogress_project": 0.4808900820062263, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_resubmit_submitted_report": 0.43696349999663653, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_save_report_draft": 0.5274873739908799, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_save_report_with_draft": 0.5087233759986702, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_submit_private_report": 0.4688286670061643, + "hypha/apply/projects/tests/test_views.py::TestStaffSubmitReport::test_submit_report": 0.7939184159986326, "hypha/apply/projects/tests/test_views.py::TestStaffUploadContractView::test_upload_contract": 0.6011504890047945, "hypha/apply/projects/tests/test_views.py::TestStaffUploadContractView::test_upload_contract_with_signed_set_to_true": 0.7100242809974588, - "hypha/apply/projects/tests/test_views.py::TestSuperUserProjectDetailView::test_has_access": 0.3391688749543391, - "hypha/apply/projects/tests/test_views.py::TestUpdateLeadView::test_update_lead": 0.40778812498319894, - "hypha/apply/projects/tests/test_views.py::TestUpdateLeadView::test_update_lead_from_none": 0.5957383739296347, - "hypha/apply/projects/tests/test_views.py::TestUploadDocumentView::test_upload_document": 0.4540349580347538, - "hypha/apply/projects/tests/test_views.py::TestUserPacketView::test_owner_can_access": 0.2611806660424918, - "hypha/apply/projects/tests/test_views.py::TestUserPacketView::test_user_can_not_access": 0.2293828340480104, - "hypha/apply/projects/tests/test_views.py::TestUserProjectDetailView::test_doesnt_have_access": 0.26785816700430587, - "hypha/apply/projects/tests/test_views.py::TestUserProjectDetailView::test_owner_has_access": 0.2852826260495931, - "hypha/apply/review/tests/test_admin.py::TestReviewFormAdminForm::test_can_create_review_form": 0.025559333036653697, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_comments_block_required": 0.2139011659892276, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_field_label_required": 0.12697383406339213, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_form_creation": 0.14681141602341086, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_name_field_required": 0.16924870904767886, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_recommendation_block_required": 0.3443185409414582, - "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_visibility_block_required": 0.13432608300354332, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_no_opinion_agree": 0.15352487500058487, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_no_opinion_disagree": 0.13338916702196002, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_not_all_opinion": 0.13556991697987542, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_mixed_opinion": 0.20167166803730652, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_opinion_agree": 0.10976754198782146, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_opinion_disagree": 0.1065160830039531, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_maybe": 0.10898670798633248, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_mixed": 0.15790229005506262, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_no": 0.4051346249761991, - "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_yes": 0.09628162503940985, - "hypha/apply/review/tests/test_views.py::NonStaffReviewOpinionCase::test_nonstaff_cant_post_opinion_to_review": 0.25356183300027624, - "hypha/apply/review/tests/test_views.py::ReviewDetailTestCase::test_review_detail_opinion": 0.3422890829970129, - "hypha/apply/review/tests/test_views.py::ReviewDetailTestCase::test_review_detail_recommendation": 0.25260195799637586, - "hypha/apply/review/tests/test_views.py::ReviewDetailVisibilityTestCase::test_review_detail_visibility_private": 0.2541005829698406, - "hypha/apply/review/tests/test_views.py::ReviewDetailVisibilityTestCase::test_review_detail_visibility_reviewer": 0.2859520830097608, - "hypha/apply/review/tests/test_views.py::ReviewListTestCase::test_review_list_opinion": 0.29913162492448464, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_com_external_review_to_ready_for_discussion": 0.6151829569134861, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_ext_external_review_to_ready_for_discussion": 0.330972999043297, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_external_review_to_ready_for_discussion": 0.3619700830313377, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_initial_state_transition_to_internal_review": 0.39601245999801904, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_internal_review_to_ready_for_discussion": 0.4144460830138996, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_proposal_discussion_to_proposal_internal_review": 0.5859039160422981, - "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_submission_did_not_transition": 0.4111545409541577, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_access_form": 0.3118844159762375, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_edit_draft_review": 0.30636616703122854, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_submit_draft_review": 0.6729637079988606, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_cant_access_wrong_status": 0.2599057499319315, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_cant_resubmit_review": 0.2100437090266496, - "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_revision_captured_on_review": 0.48076970799593255, - "hypha/apply/review/tests/test_views.py::StaffReviewListingTestCase::test_can_access_review_listing": 0.40731233393307775, - "hypha/apply/review/tests/test_views.py::StaffReviewListingTestCase::test_draft_reviews_dont_appear": 0.22873454302316532, - "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_can_add_opinion_to_others_review": 0.6085471249534748, - "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_can_see_opinion_buttons_on_others_review": 0.24384395801462233, - "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_cant_see_opinion_buttons_on_self_review": 0.248379125026986, - "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_disagree_opinion_redirects_to_review_form": 0.38472329097567126, - "hypha/apply/review/tests/test_views.py::StaffReviewsTestCase::test_can_access_other_review": 0.30059083399828523, - "hypha/apply/review/tests/test_views.py::StaffReviewsTestCase::test_can_access_review": 0.22167387598892674, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_average_score_calculated": 0.5768150840303861, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_in_review_average": 0.508686956949532, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_multiple_reviews_average": 0.8996606669970788, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_reviews_average": 0.3935017079929821, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_no_score_is_NA": 0.46648699999786913, - "hypha/apply/review/tests/test_views.py::TestReviewScore::test_score_calculated": 0.5067357090301812, - "hypha/apply/review/tests/test_views.py::UserReviewFormTestCase::test_cant_access_form": 0.54031412495533, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens0-date_field-expected0]": 0.0005503330612555146, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens1-date_field-expected1]": 0.0003978319000452757, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens10-date_field-expected10]": 0.0008721250342205167, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens11-date_field-expected11]": 0.0008979590493254364, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens2-date_field-expected2]": 0.0009763759444467723, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens3-date_field-expected3]": 0.0009276660275645554, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens4-date_field-expected4]": 0.0009425410535186529, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens5-date_field-expected5]": 0.0009253339958377182, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens6-date_field-expected6]": 0.0008558339322917163, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens7-date_field-expected7]": 0.000898751022759825, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens8-date_field-expected8]": 0.004949666967149824, - "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens9-date_field-expected9]": 0.0012595829903148115, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[\"hello world\"-expected8]": 0.0009242090745829046, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[#12 #13-expected1]": 0.002065416076220572, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[#12 text after-expected3]": 0.0009625009843148291, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[-expected0]": 0.0009918330470100045, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[hello-expected4]": 0.0010198740055784583, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:\"hello world\"-expected7]": 0.0010261240531690419, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:2023-12-02 hello-expected5]": 0.001243750040885061, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:>2023-12-02 submitted:<2023-12-01 hello-expected6]": 0.00046183395897969604, - "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[text before #12-expected2]": 0.0012453750241547823, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[1111-12-89-expected7]": 0.0008087919559329748, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-12-expected5]": 0.000329000991769135, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-24-expected6]": 0.0003075840068049729, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-expected8]": 0.0008797079790383577, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[<2023-12-01-expected1]": 0.000899831997230649, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[<=2023-12-01-expected2]": 0.0003706669667735696, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>2023-12-02-expected0]": 0.002301833941601217, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>2023-expected9]": 0.00036154198460280895, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>=2023-12-01-expected3]": 0.000352540984749794, - "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>=2023-12-expected4]": 0.0005730839911848307, - "hypha/apply/stream_forms/tests.py::TestBlocks::test_blocks_decode_none": 0.007933374959975481, - "hypha/apply/users/tests/test_forms.py::TestEmailChangePasswordForm::test_can_update_slack": 0.012895333988126367, - "hypha/apply/users/tests/test_forms.py::TestEmailChangePasswordForm::test_doesnt_error_on_null_slack_field": 0.004665916028898209, - "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_can_change_email": 0.024179249943699688, - "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_cant_set_slack_name": 0.006112375995144248, - "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_email_unique": 0.020395499013829976, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_auto_prepend_at": 0.017060500045772642, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_clear_slack_name": 0.006809582991991192, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_set_slack_name": 0.011181749985553324, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_set_slack_name_with_trailing_space": 0.011195708997547626, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_cant_change_email": 0.007692208979278803, - "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_cant_set_slack_name_with_space": 0.012088084011338651, - "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_unverified_user_can_access_allowed_urls": 0.2864917920087464, - "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_unverified_user_redirect": 0.14059175102738664, - "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_verified_user_redirect": 0.13204412494087592, - "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_not_set_up": 0.11334274901309982, - "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_page_requires_login": 0.2748591679846868, - "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_user_email_not_whitelisted": 0.0654975829529576, - "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_whitelisted_user_can_access_oauth_settings_page": 0.14729795791208744, - "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_whitelisted_user_can_see_link_to_oauth_settings_page": 0.31927924894262105, - "hypha/apply/users/tests/test_registration.py::TestRegistration::test_duplicate_registration_fails": 0.16601058200467378, - "hypha/apply/users/tests/test_registration.py::TestRegistration::test_force_login": 0.040093874966260046, - "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration": 0.1198088750243187, - "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration_enabled_has_link": 0.17216083296807483, - "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration_enabled_has_no_link": 0.38800258294213563, - "hypha/apply/users/tests/test_utils.py::TestActivationEmail::test_activation_email_includes_link": 0.0421943329856731, - "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_multiple_accounts_same_email": 0.029899457993451506, - "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_no_account": 0.0013387909857556224, - "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_single_same_email": 0.01954558299621567, - "hypha/apply/users/tests/test_utils.py::TestUserAlreadyRegistered::test_case_sensitive_email": 0.04988624999532476, - "hypha/apply/users/tests/test_utils.py::TestUserAlreadyRegistered::test_no_account": 0.01419004105264321, - "hypha/apply/users/tests/test_views.py::TestBecome::test_staff_cannot_become_superuser": 0.13059508294099942, - "hypha/apply/users/tests/test_views.py::TestBecome::test_staff_cannot_become_user": 0.08360487490426749, - "hypha/apply/users/tests/test_views.py::TestBecome::test_superuser_can_become_staff": 0.481149458035361, - "hypha/apply/users/tests/test_views.py::TestBecome::test_superuser_cannot_become_superuser": 0.1572645420092158, - "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_other_user": 0.11106458405265585, - "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_staff": 0.17713054100750014, - "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_superuser": 0.11396770901046693, - "hypha/apply/users/tests/test_views.py::TestPasswordReset::test_recieves_email": 0.3137735840282403, - "hypha/apply/users/tests/test_views.py::TestProfileView::test_cant_acces_if_not_logged_in": 0.4167119169142097, - "hypha/apply/users/tests/test_views.py::TestProfileView::test_cant_set_slack_name": 0.08891379105625674, - "hypha/apply/users/tests/test_views.py::TestProfileView::test_doesnt_includes_change_password_for_oauth": 0.4324275830294937, - "hypha/apply/users/tests/test_views.py::TestProfileView::test_includes_change_password": 0.1497047088923864, - "hypha/apply/users/tests/test_views.py::TestStaffProfileView::test_can_set_slack_name": 0.16758129105437547, + "hypha/apply/projects/tests/test_views.py::TestSuperUserProjectDetailView::test_has_access": 1.0366208749983343, + "hypha/apply/projects/tests/test_views.py::TestUpdateLeadView::test_update_lead": 0.5979593740048585, + "hypha/apply/projects/tests/test_views.py::TestUpdateLeadView::test_update_lead_from_none": 0.5808277089963667, + "hypha/apply/projects/tests/test_views.py::TestUploadDocumentView::test_upload_document": 0.9118282499985071, + "hypha/apply/projects/tests/test_views.py::TestUserPacketView::test_owner_can_access": 0.5107985830036341, + "hypha/apply/projects/tests/test_views.py::TestUserPacketView::test_user_can_not_access": 0.32834783300495474, + "hypha/apply/projects/tests/test_views.py::TestUserProjectDetailView::test_doesnt_have_access": 0.40931150101096136, + "hypha/apply/projects/tests/test_views.py::TestUserProjectDetailView::test_owner_has_access": 0.4317037080109003, + "hypha/apply/review/tests/test_admin.py::TestReviewFormAdminForm::test_can_create_review_form": 0.01337966700521065, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_comments_block_required": 0.32937583300372353, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_field_label_required": 0.5148918760023662, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_form_creation": 0.2517127909959527, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_name_field_required": 0.7807598329964094, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_recommendation_block_required": 0.23077829099202063, + "hypha/apply/review/tests/test_admin_views.py::TestCreateReviewFormView::test_visibility_block_required": 0.24165399999765214, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_no_opinion_agree": 0.22038491599232657, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_no_opinion_disagree": 0.16403195899329148, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_not_all_opinion": 0.1887512919929577, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_mixed_opinion": 0.22830216600414133, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_opinion_agree": 0.28913520900096046, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_review_yes_opinion_disagree": 0.2093797919951612, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_maybe": 0.17951854199782247, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_mixed": 0.16876154099736596, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_no": 0.19229445800738176, + "hypha/apply/review/tests/test_models.py::TestReviewQueryset::test_reviews_yes": 0.2293457500054501, + "hypha/apply/review/tests/test_views.py::NonStaffReviewOpinionCase::test_nonstaff_cant_post_opinion_to_review": 0.7915797509995173, + "hypha/apply/review/tests/test_views.py::ReviewDetailTestCase::test_review_detail_opinion": 0.45415083399711875, + "hypha/apply/review/tests/test_views.py::ReviewDetailTestCase::test_review_detail_recommendation": 0.4731762500014156, + "hypha/apply/review/tests/test_views.py::ReviewDetailVisibilityTestCase::test_review_detail_visibility_private": 0.8740193740086397, + "hypha/apply/review/tests/test_views.py::ReviewDetailVisibilityTestCase::test_review_detail_visibility_reviewer": 0.43808229100250173, + "hypha/apply/review/tests/test_views.py::ReviewListTestCase::test_review_list_opinion": 0.6313359580017277, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_com_external_review_to_ready_for_discussion": 0.6762368740019156, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_ext_external_review_to_ready_for_discussion": 0.6176307920031832, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_external_review_to_ready_for_discussion": 0.6267177920017275, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_initial_state_transition_to_internal_review": 0.9937950009989436, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_internal_review_to_ready_for_discussion": 0.6739101659986773, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_proposal_discussion_to_proposal_internal_review": 1.1381642919950536, + "hypha/apply/review/tests/test_views.py::ReviewWorkFlowActionTestCase::test_submission_did_not_transition": 0.7034972509936779, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_access_form": 0.9413907500056666, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_edit_draft_review": 0.4294320830013021, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_can_submit_draft_review": 0.7589490829923307, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_cant_access_wrong_status": 0.5923258329930832, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_cant_resubmit_review": 0.438668623995909, + "hypha/apply/review/tests/test_views.py::StaffReviewFormTestCase::test_revision_captured_on_review": 0.7823511249953299, + "hypha/apply/review/tests/test_views.py::StaffReviewListingTestCase::test_can_access_review_listing": 0.5878702490008436, + "hypha/apply/review/tests/test_views.py::StaffReviewListingTestCase::test_draft_reviews_dont_appear": 0.4023786239922629, + "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_can_add_opinion_to_others_review": 0.41318875100114383, + "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_can_see_opinion_buttons_on_others_review": 0.5326698329954525, + "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_cant_see_opinion_buttons_on_self_review": 0.4476407920010388, + "hypha/apply/review/tests/test_views.py::StaffReviewOpinionCase::test_disagree_opinion_redirects_to_review_form": 0.34586533399124164, + "hypha/apply/review/tests/test_views.py::StaffReviewsTestCase::test_can_access_other_review": 0.5486276669980725, + "hypha/apply/review/tests/test_views.py::StaffReviewsTestCase::test_can_access_review": 0.5360169170016889, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_average_score_calculated": 1.271646042005159, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_in_review_average": 0.7199414999995497, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_multiple_reviews_average": 0.7070430830062833, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_na_included_reviews_average": 1.3518595430068672, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_no_score_is_NA": 0.6967163329973118, + "hypha/apply/review/tests/test_views.py::TestReviewScore::test_score_calculated": 0.8285473339929013, + "hypha/apply/review/tests/test_views.py::UserReviewFormTestCase::test_cant_access_form": 0.8017340840015095, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens0-date_field-expected0]": 0.006368792004650459, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens1-date_field-expected1]": 0.0007104999895091169, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens10-date_field-expected10]": 0.0009911679953802377, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens11-date_field-expected11]": 0.00048187500215135515, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens2-date_field-expected2]": 0.0010690010094549507, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens3-date_field-expected3]": 0.0006968329980736598, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens4-date_field-expected4]": 0.02239754299807828, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens5-date_field-expected5]": 0.0005224170017754659, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens6-date_field-expected6]": 0.00040137500036507845, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens7-date_field-expected7]": 0.0009638749979785644, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens8-date_field-expected8]": 0.00045237500307848677, + "hypha/apply/search/tests/test_filters.py::test_date_filter_tokens_to_q_obj[tokens9-date_field-expected9]": 0.0010050819983007386, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[\"hello world\"-expected8]": 0.0010141250022570603, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[#12 #13-expected1]": 0.0009531680043437518, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[#12 text after-expected3]": 0.0006053320030332543, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[-expected0]": 0.000701625001966022, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[hello-expected4]": 0.0004495000030146912, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:\"hello world\"-expected7]": 0.0007799170052749105, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:2023-12-02 hello-expected5]": 0.0011627080020844005, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[submitted:>2023-12-02 submitted:<2023-12-01 hello-expected6]": 0.0007435010047629476, + "hypha/apply/search/tests/test_query_parser.py::test_parse_search_query[text before #12-expected2]": 0.0012384169895085506, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[1111-12-89-expected7]": 0.0006017090054228902, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-12-expected5]": 0.0004377919976832345, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-24-expected6]": 0.0006289579905569553, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[2023-expected8]": 0.0008632079989183694, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[<2023-12-01-expected1]": 0.0004305840047891252, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[<=2023-12-01-expected2]": 0.0004132489993935451, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>2023-12-02-expected0]": 0.0012412490032147616, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>2023-expected9]": 0.00045299899647943676, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>=2023-12-01-expected3]": 0.0004419590040924959, + "hypha/apply/search/tests/test_query_parser.py::test_tokenize_date_filter_value[>=2023-12-expected4]": 0.0011020410020137206, + "hypha/apply/stream_forms/tests.py::TestBlocks::test_blocks_decode_none": 0.02339295799174579, + "hypha/apply/users/tests/test_forms.py::TestEmailChangePasswordForm::test_can_update_slack": 0.030134458000247832, + "hypha/apply/users/tests/test_forms.py::TestEmailChangePasswordForm::test_doesnt_error_on_null_slack_field": 0.007021791003353428, + "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_can_change_email": 0.03762779100361513, + "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_cant_set_slack_name": 0.020485583001573104, + "hypha/apply/users/tests/test_forms.py::TestProfileForm::test_email_unique": 0.046236415997555014, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_auto_prepend_at": 0.07195074999617646, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_clear_slack_name": 0.019093959002930205, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_set_slack_name": 0.016808416999992914, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_can_set_slack_name_with_trailing_space": 0.03229629099951126, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_cant_change_email": 0.06056054100190522, + "hypha/apply/users/tests/test_forms.py::TestStaffProfileForm::test_cant_set_slack_name_with_space": 0.01655149900034303, + "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_unverified_user_can_access_allowed_urls": 0.3896590420117718, + "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_unverified_user_redirect": 0.19216004100599093, + "hypha/apply/users/tests/test_middleware.py::TestTwoFactorAuthenticationMiddleware::test_verified_user_redirect": 0.23189887499756878, + "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_not_set_up": 0.5452314569920418, + "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_page_requires_login": 0.39175233300193213, + "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_user_email_not_whitelisted": 0.23477575100696413, + "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_whitelisted_user_can_access_oauth_settings_page": 0.18305208400124684, + "hypha/apply/users/tests/test_oauth_access.py::TestOAuthAccess::test_oauth_whitelisted_user_can_see_link_to_oauth_settings_page": 0.28321049999067327, + "hypha/apply/users/tests/test_registration.py::TestRegistration::test_duplicate_registration_fails": 0.25237100000231294, + "hypha/apply/users/tests/test_registration.py::TestRegistration::test_force_login": 0.10473062499659136, + "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration": 0.15877704200102016, + "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration_enabled_has_link": 0.33213054198859027, + "hypha/apply/users/tests/test_registration.py::TestRegistration::test_registration_enabled_has_no_link": 0.2708660409989534, + "hypha/apply/users/tests/test_utils.py::TestActivationEmail::test_activation_email_includes_link": 0.06507737600622931, + "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_multiple_accounts_same_email": 0.04265445900091436, + "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_no_account": 0.002988125001138542, + "hypha/apply/users/tests/test_utils.py::TestGetUserByEmail::test_single_same_email": 0.010508291990845464, + "hypha/apply/users/tests/test_utils.py::TestUserAlreadyRegistered::test_case_sensitive_email": 0.025362457992741838, + "hypha/apply/users/tests/test_utils.py::TestUserAlreadyRegistered::test_no_account": 0.005767126000137068, + "hypha/apply/users/tests/test_views.py::TestBecome::test_staff_cannot_become_superuser": 0.13377383400074905, + "hypha/apply/users/tests/test_views.py::TestBecome::test_staff_cannot_become_user": 0.17187579100573203, + "hypha/apply/users/tests/test_views.py::TestBecome::test_superuser_can_become_staff": 0.5440781670040451, + "hypha/apply/users/tests/test_views.py::TestBecome::test_superuser_cannot_become_superuser": 0.2150593749975087, + "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_other_user": 0.14990874999784864, + "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_staff": 0.0897142500107293, + "hypha/apply/users/tests/test_views.py::TestBecome::test_user_cannot_become_superuser": 0.07903562400315423, + "hypha/apply/users/tests/test_views.py::TestPasswordReset::test_recieves_email": 5.280555416997231, + "hypha/apply/users/tests/test_views.py::TestProfileView::test_cant_acces_if_not_logged_in": 0.21946741600550013, + "hypha/apply/users/tests/test_views.py::TestProfileView::test_cant_set_slack_name": 0.2663985000035609, + "hypha/apply/users/tests/test_views.py::TestProfileView::test_doesnt_includes_change_password_for_oauth": 0.24415500000031898, + "hypha/apply/users/tests/test_views.py::TestProfileView::test_includes_change_password": 0.18333749999874271, + "hypha/apply/users/tests/test_views.py::TestStaffProfileView::test_can_set_slack_name": 0.2497834999958286, "hypha/apply/utils/tests/test_templatetags.py::WebpackTagsTestCase::test_render_bundle_calls_webpack_loader_when_enabled": 0.002394415088929236, "hypha/apply/utils/tests/test_templatetags.py::WebpackTagsTestCase::test_render_bundle_does_not_call_webpack_loader_when_disabled": 0.002298294915817678, - "hypha/apply/utils/tests/test_views.py::TestDelegatedViewMixin::test__access_if_no_object": 0.01312483404763043, - "hypha/apply/utils/tests/test_views.py::TestDelegatedViewMixin::test_parent_access_if_no_object": 0.004492042062338442, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_add_to_query": 0.5803023760090582, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_add_to_query_only_query_string": 0.008416500000748783, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_construct_query_string": 0.001480666978750378, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_construct_query_string_only_query_string": 0.008895165985450149, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_modify_query": 0.0017681249883025885, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_modify_query_only_query_string": 0.535828624968417, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_remove_from_query": 0.006329791969619691, - "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_remove_from_query_only_query_string": 0.0015494589461013675, - "hypha/core/tests/test_utils.py::test_markdown_to_html[**bold**-

bold

]": 0.004082165949512273, - "hypha/core/tests/test_utils.py::test_markdown_to_html[Header1 | Header2\\n------ | ------\\nCell1 | Cell2-
Header1Header2
Cell1Cell2
]": 0.5622706249705516, - "hypha/core/tests/test_utils.py::test_markdown_to_html[~~strike~~-

strike

]": 0.003962667018640786, - "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_can_subscribe": 0.22826729097869247, - "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_error_in_form": 0.20641158294165507, - "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_redirected_home_if_get": 0.5709066240233369, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_access_categories_and_options": 0.5840413760161027, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_decompress_data": 0.009283084014896303, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_decompress_multiple_data": 0.005859207944013178, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_data_from_form": 0.005932166997808963, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_multiple_categories": 0.007769458054099232, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_multiple_data_from_form": 0.012393665907438844, - "hypha/public/projects/tests.py::TestCategoriesWidget::test_init_has_no_queries": 0.0045277500175870955 + "hypha/apply/utils/tests/test_views.py::TestDelegatedViewMixin::test__access_if_no_object": 0.01362208300997736, + "hypha/apply/utils/tests/test_views.py::TestDelegatedViewMixin::test_parent_access_if_no_object": 0.002390792993537616, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_add_to_query": 0.0038787489975220524, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_add_to_query_only_query_string": 0.012247833990841173, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_construct_query_string": 0.008580998997786082, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_construct_query_string_only_query_string": 0.033555415997398086, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_modify_query": 0.015159666996623855, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_modify_query_only_query_string": 0.005542541002796497, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_remove_from_query": 0.0017760409973561764, + "hypha/core/templatetags/tests/test_query_params.py::QueryParamsTemplateTagTests::test_remove_from_query_only_query_string": 0.0019721249991562217, + "hypha/core/tests/test_utils.py::test_markdown_to_html[**bold**-

bold

]": 0.002424583006359171, + "hypha/core/tests/test_utils.py::test_markdown_to_html[Header1 | Header2\\n------ | ------\\nCell1 | Cell2-
Header1Header2
Cell1Cell2
]": 0.029628208998474292, + "hypha/core/tests/test_utils.py::test_markdown_to_html[~~strike~~-

strike

]": 0.0030967079947004095, + "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_can_subscribe": 0.33601666699541965, + "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_error_in_form": 0.22944862501026364, + "hypha/public/mailchimp/tests/test_views.py::TestNewsletterView::test_redirected_home_if_get": 0.22194658299849834, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_access_categories_and_options": 0.03222512500360608, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_decompress_data": 0.011102624986961018, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_decompress_multiple_data": 0.02257258300232934, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_data_from_form": 0.007748042007733602, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_multiple_categories": 0.02081750000070315, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_can_get_multiple_data_from_form": 0.010900375003984664, + "hypha/public/projects/tests.py::TestCategoriesWidget::test_init_has_no_queries": 0.016114248996018432 } \ No newline at end of file diff --git a/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py b/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py new file mode 100644 index 0000000000..8464085256 --- /dev/null +++ b/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.22 on 2023-11-01 15:18 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('funds', '0112_add_organization_name'), + ] + + operations = [ + migrations.AlterField( + model_name='assignedreviewers', + name='reviewer', + field=models.ForeignKey(limit_choices_to={'groups__name__in': ['Staff', 'Reviewer', 'Community Reviewer'], 'is_active': True}, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] From ce533d98c2970b1d3df3293f5f485b6fc93cda2e Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Wed, 1 Nov 2023 11:31:52 -0400 Subject: [PATCH 07/15] Linting migration --- .../0113_alter_assignedreviewers_reviewer.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py b/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py index 8464085256..1efafcb7f2 100644 --- a/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py +++ b/hypha/apply/funds/migrations/0113_alter_assignedreviewers_reviewer.py @@ -6,16 +6,22 @@ class Migration(migrations.Migration): - dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('funds', '0112_add_organization_name'), + ("funds", "0112_add_organization_name"), ] operations = [ migrations.AlterField( - model_name='assignedreviewers', - name='reviewer', - field=models.ForeignKey(limit_choices_to={'groups__name__in': ['Staff', 'Reviewer', 'Community Reviewer'], 'is_active': True}, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + model_name="assignedreviewers", + name="reviewer", + field=models.ForeignKey( + limit_choices_to={ + "groups__name__in": ["Staff", "Reviewer", "Community Reviewer"], + "is_active": True, + }, + on_delete=django.db.models.deletion.CASCADE, + to=settings.AUTH_USER_MODEL, + ), ), ] From db4cff6b0ff84019dc0dcadc81c801ee88cd8474 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Wed, 1 Nov 2023 13:21:39 -0400 Subject: [PATCH 08/15] Added translations and updated help texts --- hypha/apply/users/groups.py | 10 + hypha/locale/django.pot | 2684 +++++++++++++------------ hypha/locale/en/LC_MESSAGES/django.po | 2684 +++++++++++++------------ 3 files changed, 2890 insertions(+), 2488 deletions(-) diff --git a/hypha/apply/users/groups.py b/hypha/apply/users/groups.py index b802f436da..7e4da70cb2 100644 --- a/hypha/apply/users/groups.py +++ b/hypha/apply/users/groups.py @@ -19,9 +19,17 @@ REVIEWER_HELP_TEXT = _( "Has a dashboard and can submit reviews. Advisory Council Members are typically assigned this role." ) + +TEAMADMIN_HELP_TEXT = _("Placeholder...") + PARTNER_HELP_TEXT = _( "Can view, edit, and comment on a specific application they are assigned to." ) + +COMMUNITY_REVIEWER_HELP_TEXT = _( + "An applicant with access to other applications utilizing the community review (peer review) workflow." +) + APPROVER_HELP_TEXT = _( "Can review/approve PAF, and access compliance documents. Must also be in group: Staff, Contracting, or Finance." ) @@ -52,6 +60,7 @@ { "name": TEAMADMIN_GROUP_NAME, "permissions": [], + "help_text": TEAMADMIN_HELP_TEXT, }, { "name": PARTNER_GROUP_NAME, @@ -61,6 +70,7 @@ { "name": COMMUNITY_REVIEWER_GROUP_NAME, "permissions": [], + "help_text": COMMUNITY_REVIEWER_HELP_TEXT, }, { "name": APPROVER_GROUP_NAME, diff --git a/hypha/locale/django.pot b/hypha/locale/django.pot index 312812e6ba..d6e93a8626 100644 --- a/hypha/locale/django.pot +++ b/hypha/locale/django.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-11 09:49+0000\n" +"POT-Creation-Date: 2023-11-01 17:19+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,170 +18,179 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: hypha/apply/activity/adapters/activity_feed.py:21 +#: hypha/apply/activity/adapters/activity_feed.py:25 #, python-brace-format msgid "Submitted {source.title} for {source.page.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:22 -#: hypha/apply/activity/adapters/activity_feed.py:23 +#: hypha/apply/activity/adapters/activity_feed.py:26 +#: hypha/apply/activity/adapters/activity_feed.py:27 msgid "Edited" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:24 -#: hypha/apply/activity/adapters/activity_feed.py:38 +#: hypha/apply/activity/adapters/activity_feed.py:28 +#: hypha/apply/activity/adapters/activity_feed.py:50 #, python-brace-format msgid "Lead changed from {old_lead} to {source.lead}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:25 +#: hypha/apply/activity/adapters/activity_feed.py:29 #, python-brace-format msgid "Batch Lead changed to {new_lead}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:26 +#: hypha/apply/activity/adapters/activity_feed.py:31 #, python-brace-format msgid "Sent a determination. Outcome: {determination.clean_outcome}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:28 +#: hypha/apply/activity/adapters/activity_feed.py:34 msgid "Invited to submit a proposal" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:32 +#: hypha/apply/activity/adapters/activity_feed.py:38 msgid "Submitted a review" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:33 +#: hypha/apply/activity/adapters/activity_feed.py:39 msgid "Opened the submission while still sealed" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:35 +#: hypha/apply/activity/adapters/activity_feed.py:42 #, python-brace-format msgid "" "{user} {opinion.opinion_display}s with {opinion.review.author}s review of " "{source}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:36 -msgid "Created" +#: hypha/apply/activity/adapters/activity_feed.py:45 +#, python-brace-format +msgid "{user} deleted the opinion for review: {review_opinion.review}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:37 -#, python-brace-format -msgid "Progressed from {old_stage} to {source.status_display}" +#: hypha/apply/activity/adapters/activity_feed.py:47 +msgid "Created project" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:39 +#: hypha/apply/activity/adapters/activity_feed.py:52 msgid "Requested approval" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:40 -#: hypha/apply/determinations/options.py:12 hypha/apply/projects/utils.py:116 +#: hypha/apply/activity/adapters/activity_feed.py:54 +#: hypha/apply/determinations/options.py:12 hypha/apply/projects/utils.py:133 msgid "Approved" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:41 +#: hypha/apply/activity/adapters/activity_feed.py:56 #, python-brace-format msgid "Requested changes for acceptance: \"{comment}\"" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:42 +#: hypha/apply/activity/adapters/activity_feed.py:58 msgid "Submitted Contract Documents" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:43 +#: hypha/apply/activity/adapters/activity_feed.py:59 #, python-brace-format msgid "Uploaded a {contract.state} contract" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:44 +#: hypha/apply/activity/adapters/activity_feed.py:60 msgid "Approved contract" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:46 -#: hypha/apply/projects/views/payment.py:218 +#: hypha/apply/activity/adapters/activity_feed.py:62 +#: hypha/apply/projects/views/payment.py:227 msgid "Invoice added" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:47 +#: hypha/apply/activity/adapters/activity_feed.py:63 msgid "Submitted a report" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:50 +#: hypha/apply/activity/adapters/activity_feed.py:66 #: hypha/apply/activity/adapters/django_messages.py:20 msgid "Reporting disabled" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:53 -#: hypha/apply/activity/adapters/slack.py:72 +#: hypha/apply/activity/adapters/activity_feed.py:70 +#: hypha/apply/activity/adapters/slack.py:131 #, python-brace-format msgid "{user} has archived the submission: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:54 -#: hypha/apply/activity/adapters/slack.py:73 +#: hypha/apply/activity/adapters/activity_feed.py:73 +#: hypha/apply/activity/adapters/slack.py:134 #, python-brace-format msgid "{user} has unarchived the submission: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:89 +#: hypha/apply/activity/adapters/activity_feed.py:75 +msgid "Deleted an invoice" +msgstr "" + +#: hypha/apply/activity/adapters/activity_feed.py:124 msgid "Reviewers updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:91 -#: hypha/apply/activity/adapters/activity_feed.py:176 -#: hypha/apply/activity/adapters/slack.py:180 +#: hypha/apply/activity/adapters/activity_feed.py:126 +#: hypha/apply/activity/adapters/activity_feed.py:246 +#: hypha/apply/activity/adapters/slack.py:241 msgid "Added:" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:95 -#: hypha/apply/activity/adapters/activity_feed.py:180 -#: hypha/apply/activity/adapters/slack.py:184 +#: hypha/apply/activity/adapters/activity_feed.py:130 +#: hypha/apply/activity/adapters/activity_feed.py:250 +#: hypha/apply/activity/adapters/slack.py:245 msgid "Removed:" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:101 +#: hypha/apply/activity/adapters/activity_feed.py:136 msgid "Batch Reviewers Updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:104 +#: hypha/apply/activity/adapters/activity_feed.py:139 #, python-brace-format msgid "{user} as {name}." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:121 +#: hypha/apply/activity/adapters/activity_feed.py:156 #, python-brace-format msgid "Successfully deleted submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:128 +#: hypha/apply/activity/adapters/activity_feed.py:163 #, python-brace-format msgid "Successfully archived submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:134 +#: hypha/apply/activity/adapters/activity_feed.py:178 +msgid "PAF assigned to {}" +msgstr "" + +#: hypha/apply/activity/adapters/activity_feed.py:183 +#: hypha/apply/activity/adapters/activity_feed.py:215 #, python-brace-format msgid "Progressed from {old_display} to {new_display}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:174 +#: hypha/apply/activity/adapters/activity_feed.py:244 msgid "Partners updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:188 +#: hypha/apply/activity/adapters/activity_feed.py:258 #, python-brace-format msgid "" "Updated reporting frequency. New schedule is: {new_schedule} starting on " "{schedule_start}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:198 +#: hypha/apply/activity/adapters/activity_feed.py:268 #, python-brace-format msgid "Updated Invoice status to: {invoice_status}." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:246 +#: hypha/apply/activity/adapters/activity_feed.py:311 #, python-brace-format msgid "Screening decision from {old_status} to {new_status}" msgstr "" @@ -198,35 +207,35 @@ msgstr "" msgid "Reminder deleted" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:27 -#: hypha/apply/activity/adapters/slack.py:205 +#: hypha/apply/activity/adapters/django_messages.py:28 +#: hypha/apply/activity/adapters/slack.py:266 #, python-brace-format msgid "{user} as {name}," msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:33 +#: hypha/apply/activity/adapters/django_messages.py:34 #, python-brace-format msgid "Batch reviewers added: {reviewers_text} to " msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:38 +#: hypha/apply/activity/adapters/django_messages.py:41 #, python-brace-format msgid "" "Successfully updated reporting frequency. They will now report " "{new_schedule} starting on {schedule_start}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:42 +#: hypha/apply/activity/adapters/django_messages.py:47 #, python-brace-format msgid "Successfully skipped a Report for {start_date} to {end_date}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:44 +#: hypha/apply/activity/adapters/django_messages.py:51 #, python-brace-format msgid "Successfully unskipped a Report for {start_date} to {end_date}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:63 +#: hypha/apply/activity/adapters/django_messages.py:72 #, python-brace-format msgid "Successfully determined as {outcome}: " msgstr "" @@ -245,283 +254,290 @@ msgstr "" msgid "Reminder: Application ready to review: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:90 +#: hypha/apply/activity/adapters/emails.py:93 #, python-brace-format msgid "Project is waiting for approval: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:92 +#: hypha/apply/activity/adapters/emails.py:97 #, python-brace-format msgid "Contract uploaded for the project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:94 +#: hypha/apply/activity/adapters/emails.py:102 #, python-brace-format msgid "Contract Documents required approval for the project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:101 +#: hypha/apply/activity/adapters/emails.py:112 #, python-brace-format msgid "Project is waiting for the contract: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:103 +#: hypha/apply/activity/adapters/emails.py:116 #, python-brace-format msgid "Project is ready for invoicing: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:105 +#: hypha/apply/activity/adapters/emails.py:120 #, python-brace-format -msgid "Project status has changed to {source.status}: {source.title}" +msgid "Project status has changed to {project_status}: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:107 +#: hypha/apply/activity/adapters/emails.py:126 msgid "Project has been rejected, please update and resubmit" msgstr "" -#: hypha/apply/activity/adapters/emails.py:109 +#: hypha/apply/activity/adapters/emails.py:129 #, python-brace-format msgid "Project documents are ready to be assigned for approval: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:113 +#: hypha/apply/activity/adapters/emails.py:136 #, python-brace-format msgid "Your application to {org_long_name}: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:116 +#: hypha/apply/activity/adapters/emails.py:139 #, python-brace-format msgid "Your {org_long_name} Project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:32 +#: hypha/apply/activity/adapters/slack.py:34 #, python-brace-format msgid "" "A new submission has been submitted for {source.page.title}: <{link}|{source." "title}> by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:33 +#: hypha/apply/activity/adapters/slack.py:37 #, python-brace-format msgid "" "The lead of <{link}|{source.title}> has been updated from {old_lead} to " "{source.lead} by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:35 +#: hypha/apply/activity/adapters/slack.py:41 #, python-brace-format msgid "" "A new {comment.visibility} comment has been posted on <{link}|{source.title}" "> by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:36 -#: hypha/apply/activity/adapters/slack.py:37 +#: hypha/apply/activity/adapters/slack.py:43 +#: hypha/apply/activity/adapters/slack.py:44 #, python-brace-format msgid "{user} has edited <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:40 +#: hypha/apply/activity/adapters/slack.py:48 #, python-brace-format msgid "{user} has updated the partners on <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:41 +#: hypha/apply/activity/adapters/slack.py:51 #, python-brace-format msgid "" "{user} has updated the status of <{link}|{source.title}>: {old_phase." "display_name} → {source.phase}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:45 +#: hypha/apply/activity/adapters/slack.py:57 #, python-brace-format msgid "A proposal has been submitted for review: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:46 +#: hypha/apply/activity/adapters/slack.py:60 #, python-brace-format msgid "" "<{link}|{source.title}> by {source.user} has been invited to submit a " "proposal" msgstr "" -#: hypha/apply/activity/adapters/slack.py:47 +#: hypha/apply/activity/adapters/slack.py:63 #, python-brace-format msgid "" "{user} has submitted a review for <{link}|{source.title}>. Outcome: {review." "outcome}, Score: {review.get_score_display}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:49 +#: hypha/apply/activity/adapters/slack.py:67 #, python-brace-format msgid "{user} has opened the sealed submission: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:50 +#: hypha/apply/activity/adapters/slack.py:70 #, python-brace-format msgid "" "{user} {opinion.opinion_display}s with {opinion.review.author}s review of " "<{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:52 +#: hypha/apply/activity/adapters/slack.py:73 #, python-brace-format msgid "{user} has deleted {source.title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:53 +#: hypha/apply/activity/adapters/slack.py:75 #, python-brace-format msgid "{user} has deleted {review.author} review for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:54 +#: hypha/apply/activity/adapters/slack.py:78 +#, python-brace-format +msgid "" +"{user} has deleted {review_opinion.author} review opinion for <{link}|" +"{source.title}>" +msgstr "" + +#: hypha/apply/activity/adapters/slack.py:81 #, python-brace-format msgid "{user} has created a Project: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:55 +#: hypha/apply/activity/adapters/slack.py:84 #, python-brace-format msgid "" "The lead of project <{link}|{source.title}> has been updated from {old_lead} " "to {source.lead} by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:56 +#: hypha/apply/activity/adapters/slack.py:87 #, python-brace-format msgid "{user} has edited {review.author} review for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:57 +#: hypha/apply/activity/adapters/slack.py:90 #, python-brace-format msgid "{user} has requested approval on project <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:58 +#: hypha/apply/activity/adapters/slack.py:93 #, python-brace-format msgid "{user} has approved project <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:59 +#: hypha/apply/activity/adapters/slack.py:96 #, python-brace-format msgid "" "{user} has requested changes for project acceptance on <{link}|{source.title}" ">" msgstr "" -#: hypha/apply/activity/adapters/slack.py:60 +#: hypha/apply/activity/adapters/slack.py:99 #, python-brace-format msgid "{user} has uploaded a contract for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:61 +#: hypha/apply/activity/adapters/slack.py:102 #, python-brace-format msgid "" "{user} has submitted the contracting document for project <{link}|{source." "title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:62 +#: hypha/apply/activity/adapters/slack.py:105 #, python-brace-format msgid "{user} has approved contract for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:63 +#: hypha/apply/activity/adapters/slack.py:108 #, python-brace-format msgid "{user} has created invoice for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:64 +#: hypha/apply/activity/adapters/slack.py:111 #, python-brace-format msgid "" "{user} has changed the status of <{link_related}|invoice> on <{link}|{source." "title}> to {invoice.status_display}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:65 +#: hypha/apply/activity/adapters/slack.py:114 #, python-brace-format msgid "{user} has deleted invoice from <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:66 +#: hypha/apply/activity/adapters/slack.py:117 #, python-brace-format msgid "{user} has updated invoice for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:67 +#: hypha/apply/activity/adapters/slack.py:120 #, python-brace-format msgid "{user} has submitted a report for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:69 +#: hypha/apply/activity/adapters/slack.py:124 #, python-brace-format msgid "{user} has created a new account for <{link}|{source}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:70 +#: hypha/apply/activity/adapters/slack.py:127 #, python-brace-format msgid "" "{user} has edited account for <{link}|{source}> that now has following " "roles: {roles}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:174 +#: hypha/apply/activity/adapters/slack.py:235 #, python-brace-format msgid "{user} has updated the reviewers on <{link}|{title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:193 +#: hypha/apply/activity/adapters/slack.py:254 #, python-brace-format msgid "{user} has batch changed lead to {new_lead} on: {submissions_text}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:211 +#: hypha/apply/activity/adapters/slack.py:272 #, python-brace-format msgid "" "{user} has batch added {reviewers_text} as reviewers on: {submissions_text}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:231 +#: hypha/apply/activity/adapters/slack.py:292 #, python-brace-format msgid "{user} has transitioned the following submissions: {submissions_links}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:241 +#: hypha/apply/activity/adapters/slack.py:302 #, python-brace-format msgid "" "A determination for <{link}|{submission_title}> was sent by email. Outcome: " "{determination_outcome}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:248 +#: hypha/apply/activity/adapters/slack.py:309 #, python-brace-format msgid "" "A determination for <{link}|{submission_title}> was saved without sending an " "email. Outcome: {determination_outcome}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:264 +#: hypha/apply/activity/adapters/slack.py:325 #, python-brace-format msgid "Determinations of {outcome} was sent for: {submissions_links}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:273 +#: hypha/apply/activity/adapters/slack.py:334 #, python-brace-format msgid "{user} has deleted submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:280 +#: hypha/apply/activity/adapters/slack.py:341 #, python-brace-format msgid "{user} has archived submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:294 +#: hypha/apply/activity/adapters/slack.py:355 #, python-brace-format msgid "" "<{link}|{title}> is ready for review. The following are assigned as " "reviewers: {reviewers}" msgstr "" -#: hypha/apply/activity/adapters/utils.py:43 +#: hypha/apply/activity/adapters/utils.py:44 #, python-brace-format msgid " as {role}" msgstr "" @@ -550,7 +566,7 @@ msgstr "" msgid "Activities Summary - " msgstr "" -#: hypha/apply/activity/models.py:168 +#: hypha/apply/activity/models.py:199 msgid "verb" msgstr "" @@ -594,203 +610,207 @@ msgstr "" msgid "sent determination outcome" msgstr "" -#: hypha/apply/activity/options.py:17 +#: hypha/apply/activity/options.py:18 msgid "sent batch determination outcome" msgstr "" -#: hypha/apply/activity/options.py:18 +#: hypha/apply/activity/options.py:20 msgid "invited to proposal" msgstr "" -#: hypha/apply/activity/options.py:19 +#: hypha/apply/activity/options.py:21 msgid "updated reviewers" msgstr "" -#: hypha/apply/activity/options.py:20 +#: hypha/apply/activity/options.py:22 msgid "batch updated reviewers" msgstr "" -#: hypha/apply/activity/options.py:21 +#: hypha/apply/activity/options.py:23 msgid "updated partners" msgstr "" -#: hypha/apply/activity/options.py:22 +#: hypha/apply/activity/options.py:24 msgid "partners updated partner" msgstr "" -#: hypha/apply/activity/options.py:23 +#: hypha/apply/activity/options.py:25 msgid "marked ready for review" msgstr "" -#: hypha/apply/activity/options.py:24 +#: hypha/apply/activity/options.py:27 msgid "marked batch ready for review" msgstr "" -#: hypha/apply/activity/options.py:25 +#: hypha/apply/activity/options.py:29 msgid "added new review" msgstr "" -#: hypha/apply/activity/options.py:26 +#: hypha/apply/activity/options.py:30 msgid "added comment" msgstr "" -#: hypha/apply/activity/options.py:27 +#: hypha/apply/activity/options.py:31 msgid "submitted proposal" msgstr "" -#: hypha/apply/activity/options.py:28 +#: hypha/apply/activity/options.py:32 msgid "opened sealed submission" msgstr "" -#: hypha/apply/activity/options.py:29 +#: hypha/apply/activity/options.py:33 msgid "reviewed opinion" msgstr "" -#: hypha/apply/activity/options.py:30 +#: hypha/apply/activity/options.py:34 msgid "deleted submission" msgstr "" -#: hypha/apply/activity/options.py:31 +#: hypha/apply/activity/options.py:35 msgid "deleted review" msgstr "" -#: hypha/apply/activity/options.py:32 +#: hypha/apply/activity/options.py:36 +msgid "deleted review opinion" +msgstr "" + +#: hypha/apply/activity/options.py:37 msgid "created project" msgstr "" -#: hypha/apply/activity/options.py:33 +#: hypha/apply/activity/options.py:38 msgid "updated contracting information" msgstr "" -#: hypha/apply/activity/options.py:34 +#: hypha/apply/activity/options.py:39 msgid "updated project lead" msgstr "" -#: hypha/apply/activity/options.py:35 +#: hypha/apply/activity/options.py:40 msgid "edited review" msgstr "" -#: hypha/apply/activity/options.py:36 +#: hypha/apply/activity/options.py:41 msgid "sent for approval" msgstr "" -#: hypha/apply/activity/options.py:37 +#: hypha/apply/activity/options.py:42 msgid "approved project" msgstr "" -#: hypha/apply/activity/options.py:38 +#: hypha/apply/activity/options.py:43 msgid "assign paf approver" msgstr "" -#: hypha/apply/activity/options.py:39 +#: hypha/apply/activity/options.py:44 msgid "approved paf" msgstr "" -#: hypha/apply/activity/options.py:40 +#: hypha/apply/activity/options.py:45 msgid "transitioned project" msgstr "" -#: hypha/apply/activity/options.py:41 +#: hypha/apply/activity/options.py:46 msgid "requested project change" msgstr "" -#: hypha/apply/activity/options.py:42 +#: hypha/apply/activity/options.py:48 msgid "submitted contract documents" msgstr "" -#: hypha/apply/activity/options.py:43 +#: hypha/apply/activity/options.py:50 msgid "uploaded document to project" msgstr "" -#: hypha/apply/activity/options.py:44 +#: hypha/apply/activity/options.py:51 msgid "removed document from project" msgstr "" -#: hypha/apply/activity/options.py:45 +#: hypha/apply/activity/options.py:52 msgid "uploaded contract to project" msgstr "" -#: hypha/apply/activity/options.py:46 +#: hypha/apply/activity/options.py:53 msgid "approved contract" msgstr "" -#: hypha/apply/activity/options.py:47 +#: hypha/apply/activity/options.py:54 msgid "created invoice for project" msgstr "" -#: hypha/apply/activity/options.py:48 +#: hypha/apply/activity/options.py:55 msgid "updated invoice status" msgstr "" -#: hypha/apply/activity/options.py:49 +#: hypha/apply/activity/options.py:56 msgid "approve invoice" msgstr "" -#: hypha/apply/activity/options.py:50 +#: hypha/apply/activity/options.py:57 msgid "deleted invoice" msgstr "" -#: hypha/apply/activity/options.py:51 +#: hypha/apply/activity/options.py:58 msgid "sent project to compliance" msgstr "" -#: hypha/apply/activity/options.py:52 +#: hypha/apply/activity/options.py:59 msgid "updated invoice" msgstr "" -#: hypha/apply/activity/options.py:53 +#: hypha/apply/activity/options.py:60 msgid "submitted report" msgstr "" -#: hypha/apply/activity/options.py:54 +#: hypha/apply/activity/options.py:61 msgid "skipped report" msgstr "" -#: hypha/apply/activity/options.py:55 +#: hypha/apply/activity/options.py:62 msgid "changed report frequency" msgstr "" -#: hypha/apply/activity/options.py:56 +#: hypha/apply/activity/options.py:63 msgid "disabled reporting" msgstr "" -#: hypha/apply/activity/options.py:57 +#: hypha/apply/activity/options.py:64 msgid "notified report" msgstr "" -#: hypha/apply/activity/options.py:58 +#: hypha/apply/activity/options.py:65 msgid "created reminder" msgstr "" -#: hypha/apply/activity/options.py:59 +#: hypha/apply/activity/options.py:66 msgid "deleted reminder" msgstr "" -#: hypha/apply/activity/options.py:60 +#: hypha/apply/activity/options.py:67 msgid "reminder to review" msgstr "" -#: hypha/apply/activity/options.py:61 +#: hypha/apply/activity/options.py:68 msgid "batch deleted submissions" msgstr "" -#: hypha/apply/activity/options.py:62 +#: hypha/apply/activity/options.py:70 msgid "batch archive submissions" msgstr "" -#: hypha/apply/activity/options.py:63 +#: hypha/apply/activity/options.py:72 msgid "created new account" msgstr "" -#: hypha/apply/activity/options.py:64 +#: hypha/apply/activity/options.py:73 msgid "edited account" msgstr "" -#: hypha/apply/activity/options.py:65 +#: hypha/apply/activity/options.py:74 msgid "archived submission" msgstr "" -#: hypha/apply/activity/options.py:66 +#: hypha/apply/activity/options.py:75 msgid "unarchived submission" msgstr "" @@ -799,33 +819,35 @@ msgid "There are no actions." msgstr "" #: hypha/apply/activity/templates/activity/include/comment_form.html:5 -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:50 -#: hypha/apply/funds/views.py:1163 hypha/apply/funds/workflow.py:217 -#: hypha/apply/funds/workflow.py:245 hypha/apply/funds/workflow.py:288 -#: hypha/apply/funds/workflow.py:344 hypha/apply/funds/workflow.py:370 -#: hypha/apply/funds/workflow.py:408 hypha/apply/funds/workflow.py:446 -#: hypha/apply/funds/workflow.py:499 hypha/apply/funds/workflow.py:527 -#: hypha/apply/funds/workflow.py:587 hypha/apply/funds/workflow.py:625 -#: hypha/apply/funds/workflow.py:678 hypha/apply/funds/workflow.py:705 -#: hypha/apply/funds/workflow.py:747 hypha/apply/funds/workflow.py:794 -#: hypha/apply/funds/workflow.py:820 hypha/apply/funds/workflow.py:861 -#: hypha/apply/funds/workflow.py:900 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:44 +#: hypha/apply/funds/views.py:1270 hypha/apply/funds/workflow.py:249 +#: hypha/apply/funds/workflow.py:277 hypha/apply/funds/workflow.py:327 +#: hypha/apply/funds/workflow.py:388 hypha/apply/funds/workflow.py:414 +#: hypha/apply/funds/workflow.py:459 hypha/apply/funds/workflow.py:502 +#: hypha/apply/funds/workflow.py:564 hypha/apply/funds/workflow.py:592 +#: hypha/apply/funds/workflow.py:661 hypha/apply/funds/workflow.py:704 +#: hypha/apply/funds/workflow.py:766 hypha/apply/funds/workflow.py:793 +#: hypha/apply/funds/workflow.py:842 hypha/apply/funds/workflow.py:899 +#: hypha/apply/funds/workflow.py:928 hypha/apply/funds/workflow.py:976 +#: hypha/apply/funds/workflow.py:1020 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:25 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:210 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:220 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:211 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:221 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:235 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:259 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:283 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:298 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:308 -#: hypha/apply/projects/templates/application_projects/report_form.html:46 -#: hypha/apply/projects/templates/application_projects/report_form.html:66 -#: hypha/apply/projects/templates/application_projects/vendor_form.html:27 -#: hypha/apply/review/templates/review/review_edit_form.html:42 -#: hypha/apply/review/templates/review/review_form.html:43 -#: hypha/apply/users/templates/users/change_password.html:42 -#: hypha/apply/users/templates/users/email_change/confirm_password.html:35 -#: hypha/apply/users/templates/users/register.html:25 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:135 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:148 +#: hypha/apply/projects/templates/application_projects/report_form.html:47 +#: hypha/apply/projects/templates/application_projects/report_form.html:67 +#: hypha/apply/projects/templates/application_projects/vendor_form.html:26 +#: hypha/apply/review/templates/review/review_edit_form.html:43 +#: hypha/apply/review/templates/review/review_form.html:44 +#: hypha/apply/users/templates/users/change_password.html:46 +#: hypha/apply/users/templates/users/email_change/confirm_password.html:36 +#: hypha/apply/users/templates/users/register.html:28 msgid "Submit" msgstr "" @@ -834,26 +856,27 @@ msgid "No comments available" msgstr "" #: hypha/apply/activity/templates/activity/include/listing_base.html:15 -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:38 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:57 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:39 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:69 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:46 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:64 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:25 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:63 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:27 #: hypha/apply/funds/templates/funds/admin/widgets/read_only.html:2 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:107 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:106 +#: hypha/apply/funds/templates/funds/includes/rendered_answers.html:19 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:40 #: hypha/apply/projects/templates/application_projects/includes/reports.html:74 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:98 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:126 #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/report_detail.html:59 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:23 -#: hypha/apply/review/templates/review/review_detail.html:42 +#: hypha/apply/projects/templates/application_projects/report_detail.html:60 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:24 +#: hypha/apply/review/templates/review/review_detail.html:45 msgid "Edit" msgstr "" #: hypha/apply/activity/templates/activity/include/listing_base.html:21 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:34 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:39 msgid "Last edited" msgstr "" @@ -867,7 +890,7 @@ msgstr "" #: hypha/apply/activity/templates/activity/include/notifications_dropdown.html:6 #: hypha/apply/activity/templates/activity/notifications.html:8 -#: hypha/templates/base-apply.html:143 +#: hypha/templates/base-apply.html:152 msgid "Notifications" msgstr "" @@ -881,19 +904,19 @@ msgid "made a comment" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:11 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:104 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:106 #: hypha/apply/users/templates/wagtailusers/users/results.html:40 msgid "Filter" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:18 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:49 -#: hypha/apply/projects/templates/application_projects/project_detail.html:78 +#: hypha/apply/projects/templates/application_projects/project_detail.html:79 msgid "Communications" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:22 -#: hypha/apply/projects/templates/application_projects/project_detail.html:93 +#: hypha/apply/projects/templates/application_projects/project_detail.html:94 msgid "Activity Feed" msgstr "" @@ -1001,6 +1024,8 @@ msgstr "" #: hypha/apply/activity/templates/messages/email/base.html:2 #: hypha/apply/users/templates/users/activation/email.txt:2 #: hypha/apply/users/templates/users/email_change/confirm_email.txt:2 +#: hypha/apply/users/templates/users/email_change/update_info_email.html:2 +#: hypha/apply/users/templates/users/password_reset/email.txt:2 #, python-format msgid "Dear %(user)s," msgstr "" @@ -1009,7 +1034,7 @@ msgstr "" #, python-format msgid "" "Kind Regards,\n" -"The %(ORG_SHORT_NAME)s Team" +" The %(ORG_SHORT_NAME)s Team" msgstr "" #: hypha/apply/activity/templates/messages/email/batch_ready_to_review.html:4 @@ -1153,7 +1178,7 @@ msgid "A Project is waiting for contract" msgstr "" #: hypha/apply/activity/templates/messages/email/ready_for_contracting.html:11 -#: hypha/apply/funds/models/utils.py:137 +#: hypha/apply/funds/models/utils.py:146 msgid "Project Approval Form" msgstr "" @@ -1322,8 +1347,8 @@ msgid "" msgstr "" #: hypha/apply/activity/templates/messages/email/vendor_setup_needed.html:11 -#: hypha/apply/funds/tables.py:571 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:135 +#: hypha/apply/funds/tables.py:661 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:92 msgid "Submission" msgstr "" @@ -1333,45 +1358,45 @@ msgid "Contracting Information has been updated on %(title)s." msgstr "" #: hypha/apply/api/v1/determination/utils.py:25 -#: hypha/apply/determinations/forms.py:108 -#: hypha/apply/determinations/views.py:92 +#: hypha/apply/determinations/forms.py:109 +#: hypha/apply/determinations/views.py:86 msgid "-- No determination selected -- " msgstr "" -#: hypha/apply/api/v1/filters.py:23 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:22 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:32 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:33 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:55 -#: hypha/apply/funds/tables.py:497 +#: hypha/apply/api/v1/filters.py:25 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:20 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:30 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:31 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:53 +#: hypha/apply/funds/tables.py:578 msgid "Active" msgstr "" -#: hypha/apply/api/v1/filters.py:24 +#: hypha/apply/api/v1/filters.py:27 msgid "Submit date" msgstr "" -#: hypha/apply/api/v1/filters.py:26 +#: hypha/apply/api/v1/filters.py:31 msgid "fund" msgstr "" -#: hypha/apply/api/v1/filters.py:32 +#: hypha/apply/api/v1/filters.py:37 msgid "No Screening" msgstr "" -#: hypha/apply/api/v1/filters.py:43 hypha/apply/funds/tables.py:307 +#: hypha/apply/api/v1/filters.py:48 hypha/apply/funds/tables.py:354 msgid "Category" msgstr "" -#: hypha/apply/api/v1/projects/serializers.py:29 +#: hypha/apply/api/v1/projects/serializers.py:28 msgid "Not found" msgstr "" -#: hypha/apply/api/v1/projects/views.py:47 +#: hypha/apply/api/v1/projects/views.py:48 msgid "Not Found" msgstr "" -#: hypha/apply/api/v1/projects/views.py:53 +#: hypha/apply/api/v1/projects/views.py:52 msgid "Invoice Already has this deliverable" msgstr "" @@ -1383,8 +1408,8 @@ msgstr "" msgid "Multi select" msgstr "" -#: hypha/apply/categories/blocks.py:30 hypha/apply/funds/blocks.py:30 -#: hypha/apply/funds/blocks.py:61 hypha/apply/funds/blocks.py:110 +#: hypha/apply/categories/blocks.py:30 hypha/apply/funds/blocks.py:31 +#: hypha/apply/funds/blocks.py:69 hypha/apply/funds/blocks.py:113 #: hypha/apply/stream_forms/blocks.py:36 msgid "Label" msgstr "" @@ -1393,8 +1418,8 @@ msgstr "" msgid "Leave blank to use the default Category label" msgstr "" -#: hypha/apply/categories/blocks.py:35 hypha/apply/funds/blocks.py:31 -#: hypha/apply/funds/blocks.py:62 hypha/apply/funds/blocks.py:111 +#: hypha/apply/categories/blocks.py:35 hypha/apply/funds/blocks.py:35 +#: hypha/apply/funds/blocks.py:73 hypha/apply/funds/blocks.py:116 #: hypha/apply/stream_forms/blocks.py:37 msgid "Help text" msgstr "" @@ -1403,29 +1428,29 @@ msgstr "" msgid "Leave blank to use the default Category help text" msgstr "" -#: hypha/apply/categories/models.py:32 hypha/apply/categories/models.py:60 +#: hypha/apply/categories/models.py:33 hypha/apply/categories/models.py:65 msgid "Make available to filter on dashboard" msgstr "" -#: hypha/apply/categories/models.py:40 hypha/apply/categories/models.py:85 +#: hypha/apply/categories/models.py:41 hypha/apply/categories/models.py:91 msgid "Options" msgstr "" -#: hypha/apply/categories/models.py:53 +#: hypha/apply/categories/models.py:57 msgid "Keep the name short, ideally one word." msgstr "" -#: hypha/apply/categories/models.py:56 +#: hypha/apply/categories/models.py:61 #: hypha/apply/funds/templates/funds/includes/submission-list-item.html:25 #: hypha/apply/funds/templates/funds/includes/submission-list-item.html:34 msgid "Archived" msgstr "" -#: hypha/apply/categories/models.py:57 +#: hypha/apply/categories/models.py:62 msgid "Archived terms can be viewed but not set on content." msgstr "" -#: hypha/apply/categories/models.py:63 +#: hypha/apply/categories/models.py:68 msgid "Make available to applicants" msgstr "" @@ -1434,37 +1459,37 @@ msgid "archived" msgstr "" #: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:5 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:10 #: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:14 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:10 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:5 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:11 #: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:9 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:15 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:14 msgid "Dashboard" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:12 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:10 msgid "An overview of active and past submissions and projects" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:15 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:13 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:14 msgid "Submit a new application" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:16 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:14 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:15 msgid "Apply now for our open rounds" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:17 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:15 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:16 #: hypha/apply/home/templates/apply_home/includes/apply_listing.html:31 #: hypha/templates/includes/apply_button.html:2 @@ -1472,74 +1497,69 @@ msgid "Apply" msgstr "" #: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:23 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:42 -#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:31 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:49 -msgid "Your active submissions" +msgid "My active submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:29 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:48 -#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:55 -#: hypha/apply/funds/tables.py:90 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:33 -#: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:4 -#: hypha/apply/projects/models/payment.py:30 hypha/apply/projects/tables.py:20 -#: hypha/apply/projects/templates/application_projects/includes/reports.html:47 -#: hypha/apply/projects/templates/application_projects/includes/reports.html:58 -msgid "Submitted" +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:30 +msgid "Submitted on " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:29 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:48 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:30 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:58 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:54 #: hypha/apply/determinations/templates/determinations/includes/applicant_determination_block.html:10 #: hypha/apply/determinations/templates/determinations/includes/determination_block.html:9 -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:19 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:17 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:95 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:97 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:33 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:34 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:38 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:39 #: hypha/apply/funds/templates/funds/tables/table.html:30 -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "by" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:36 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:65 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:62 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:61 msgid "Start your" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:36 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:65 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:62 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:61 msgid "application" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:63 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:45 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:81 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:52 msgid "No active submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:50 -msgid "Your active projects" +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:53 +msgid "My active projects" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:57 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:69 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:60 +msgid "Project start date: " +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:66 +msgid "No active projects" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:74 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:88 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:58 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:82 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:84 msgid "Submission history" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:64 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:81 msgid "Project history" msgstr "" @@ -1556,21 +1576,40 @@ msgstr "" msgid "No submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:36 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:37 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:110 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:35 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:32 msgid "Your previous reviews" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:14 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:45 +#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:31 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:47 +msgid "Your active submissions" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:58 +#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:54 +#: hypha/apply/funds/tables.py:84 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:95 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:38 +#: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:4 +#: hypha/apply/projects/models/payment.py:31 hypha/apply/projects/tables.py:18 +#: hypha/apply/projects/templates/application_projects/includes/reports.html:47 +#: hypha/apply/projects/templates/application_projects/includes/reports.html:58 +msgid "Submitted" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:12 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:19 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:14 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:12 msgid "Apply admin" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:27 +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:24 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:81 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:89 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:93 #: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:75 msgid "PAF waiting for assignee" msgstr "" @@ -1578,8 +1617,7 @@ msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:15 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:12 #: hypha/apply/users/templates/two_factor/_base.html:7 -#: hypha/apply/users/templates/two_factor/_base_focus.html:7 -#: hypha/apply/users/templates/users/account.html:9 +#: hypha/apply/users/templates/users/account.html:8 msgid "Welcome" msgstr "" @@ -1596,7 +1634,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:23 #: hypha/apply/funds/templates/funds/includes/status-block.html:9 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:55 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:169 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:170 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:34 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:105 #: hypha/apply/projects/templates/application_projects/includes/reports.html:66 @@ -1606,6 +1644,7 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:135 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:149 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:200 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:55 msgid "View" msgstr "" @@ -1629,8 +1668,8 @@ msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:116 #: hypha/apply/dashboard/templates/dashboard/includes/flagged.html:12 #: hypha/apply/dashboard/templates/dashboard/includes/submissions-waiting-for-review.html:13 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:41 -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:28 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:38 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:30 #: hypha/apply/funds/templates/funds/submissions_overview.html:54 #: hypha/apply/funds/templates/funds/submissions_overview.html:64 #: hypha/apply/projects/templates/application_projects/overview.html:34 @@ -1640,39 +1679,39 @@ msgid "Show all" msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:103 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:34 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:32 msgid "Active Invoices" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:25 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:23 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:5 #: hypha/apply/projects/templates/application_projects/invoice_list.html:6 msgid "Invoices" msgstr "" +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:38 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:39 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:40 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:41 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:42 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:64 msgid "For Approval" msgstr "" +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:46 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:47 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:48 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:49 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:50 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:73 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:75 msgid "For Conversion" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:59 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:58 msgid "No Active Invoices" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:68 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:69 msgid "No Invoices for Approval " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:77 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:80 msgid "No Invoices for Conversion " msgstr "" @@ -1682,56 +1721,56 @@ msgid "Your Flagged Submissions" msgstr "" #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:4 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:13 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:14 #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:15 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:27 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:16 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:17 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:29 msgid "Awaiting your approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:6 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:7 msgid "PAF waiting for internal approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:21 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:22 #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:23 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:34 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:24 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:25 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:38 msgid "Approved by you" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:31 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:34 msgid "You have approved all PAFs, no PAF is waiting for your Approval " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:38 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:43 msgid "No PAF is approved by you yet " msgstr "" #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:4 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:13 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:14 #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:15 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:27 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:16 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:17 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:29 msgid "Waiting for contract" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:6 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:7 msgid "Projects in contracting" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:21 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:22 #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:23 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:34 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:24 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:25 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:38 msgid "Waiting for contract approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:31 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:34 msgid "No project is waiting for contract" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:38 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:43 msgid "No project is waiting for contract approval " msgstr "" @@ -1755,11 +1794,16 @@ msgstr "" #: hypha/apply/determinations/blocks.py:77 #: hypha/apply/determinations/blocks.py:78 #: hypha/apply/determinations/blocks.py:79 -#: hypha/apply/determinations/blocks.py:80 hypha/apply/funds/blocks.py:202 -#: hypha/apply/review/blocks.py:160 hypha/apply/review/blocks.py:161 -#: hypha/apply/review/blocks.py:162 hypha/apply/review/blocks.py:163 -#: hypha/apply/review/blocks.py:164 hypha/apply/review/blocks.py:165 -#: hypha/apply/review/blocks.py:166 hypha/apply/stream_forms/blocks.py:468 +#: hypha/apply/determinations/blocks.py:80 hypha/apply/funds/blocks.py:207 +#: hypha/apply/review/blocks.py:168 hypha/apply/review/blocks.py:169 +#: hypha/apply/review/blocks.py:170 hypha/apply/review/blocks.py:171 +#: hypha/apply/review/blocks.py:172 hypha/apply/review/blocks.py:173 +#: hypha/apply/review/blocks.py:174 hypha/apply/stream_forms/blocks.py:463 +#: hypha/apply/stream_forms/blocks.py:464 +#: hypha/apply/stream_forms/blocks.py:465 +#: hypha/apply/stream_forms/blocks.py:466 +#: hypha/apply/stream_forms/blocks.py:467 +#: hypha/apply/stream_forms/blocks.py:468 #: hypha/apply/stream_forms/blocks.py:469 #: hypha/apply/stream_forms/blocks.py:470 #: hypha/apply/stream_forms/blocks.py:471 @@ -1767,180 +1811,176 @@ msgstr "" #: hypha/apply/stream_forms/blocks.py:473 #: hypha/apply/stream_forms/blocks.py:474 #: hypha/apply/stream_forms/blocks.py:475 -#: hypha/apply/stream_forms/blocks.py:476 -#: hypha/apply/stream_forms/blocks.py:477 -#: hypha/apply/stream_forms/blocks.py:478 -#: hypha/apply/stream_forms/blocks.py:479 -#: hypha/apply/stream_forms/blocks.py:480 -#: hypha/apply/stream_forms/blocks.py:481 hypha/apply/utils/blocks.py:76 -#: hypha/apply/utils/blocks.py:77 +#: hypha/apply/stream_forms/blocks.py:476 hypha/apply/utils/blocks.py:74 +#: hypha/apply/utils/blocks.py:75 msgid "Fields" msgstr "" -#: hypha/apply/determinations/blocks.py:78 hypha/apply/review/blocks.py:162 -#: hypha/apply/stream_forms/blocks.py:466 +#: hypha/apply/determinations/blocks.py:78 hypha/apply/review/blocks.py:170 +#: hypha/apply/stream_forms/blocks.py:461 msgid "Paragraph" msgstr "" -#: hypha/apply/determinations/forms.py:172 -#: hypha/apply/determinations/forms.py:253 -#: hypha/apply/determinations/forms.py:529 +#: hypha/apply/determinations/forms.py:177 +#: hypha/apply/determinations/forms.py:255 +#: hypha/apply/determinations/forms.py:575 #: hypha/apply/determinations/models.py:108 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:12 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:20 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:22 msgid "Determination" msgstr "" -#: hypha/apply/determinations/forms.py:178 -#: hypha/apply/determinations/forms.py:259 -#: hypha/apply/determinations/models.py:109 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:33 +#: hypha/apply/determinations/forms.py:183 +#: hypha/apply/determinations/forms.py:261 +#: hypha/apply/determinations/models.py:110 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:34 msgid "Determination message" msgstr "" -#: hypha/apply/determinations/forms.py:185 +#: hypha/apply/determinations/forms.py:190 msgid "Goals and principles" msgstr "" -#: hypha/apply/determinations/forms.py:205 +#: hypha/apply/determinations/forms.py:210 msgid "Technical merit" msgstr "" -#: hypha/apply/determinations/forms.py:220 +#: hypha/apply/determinations/forms.py:225 msgid "Reasonable, realistic and sustainable" msgstr "" -#: hypha/apply/determinations/forms.py:234 +#: hypha/apply/determinations/forms.py:238 msgid "Other comments" msgstr "" -#: hypha/apply/determinations/forms.py:267 +#: hypha/apply/determinations/forms.py:269 msgid "Positive aspects" msgstr "" -#: hypha/apply/determinations/forms.py:273 +#: hypha/apply/determinations/forms.py:275 msgid "Concerns" msgstr "" -#: hypha/apply/determinations/forms.py:279 +#: hypha/apply/determinations/forms.py:281 msgid "Items that must be addressed" msgstr "" -#: hypha/apply/determinations/forms.py:285 +#: hypha/apply/determinations/forms.py:287 msgid "Project overview questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:288 +#: hypha/apply/determinations/forms.py:290 msgid "Objectives questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:291 +#: hypha/apply/determinations/forms.py:293 msgid "Methods and strategy questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:294 +#: hypha/apply/determinations/forms.py:296 msgid "Technical feasibility questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:297 +#: hypha/apply/determinations/forms.py:300 msgid "Alternative analysis - \"red teaming\" questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:300 +#: hypha/apply/determinations/forms.py:304 msgid "Usability questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:303 +#: hypha/apply/determinations/forms.py:307 msgid "Sustainability questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:306 +#: hypha/apply/determinations/forms.py:310 msgid "Collaboration questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:309 +#: hypha/apply/determinations/forms.py:313 msgid "Cost realism questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:312 +#: hypha/apply/determinations/forms.py:316 msgid "Qualifications questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:315 +#: hypha/apply/determinations/forms.py:319 msgid "Evaluation questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:319 +#: hypha/apply/determinations/forms.py:324 msgid "Rationale and appropriateness questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:360 -#: hypha/apply/determinations/views.py:360 +#: hypha/apply/determinations/forms.py:375 +#: hypha/apply/determinations/views.py:401 msgid "-- No proposal form selected -- " msgstr "" -#: hypha/apply/determinations/forms.py:361 -#: hypha/apply/determinations/views.py:361 +#: hypha/apply/determinations/forms.py:378 +#: hypha/apply/determinations/views.py:404 msgid "Select the proposal form only for determination approval" msgstr "" -#: hypha/apply/determinations/forms.py:363 -#: hypha/apply/determinations/views.py:363 +#: hypha/apply/determinations/forms.py:382 +#: hypha/apply/determinations/views.py:408 msgid "Select the proposal form to use for proposal stage." msgstr "" -#: hypha/apply/determinations/forms.py:365 -#: hypha/apply/determinations/views.py:365 +#: hypha/apply/determinations/forms.py:385 +#: hypha/apply/determinations/views.py:411 msgid "Proposal Form" msgstr "" -#: hypha/apply/determinations/models.py:116 +#: hypha/apply/determinations/models.py:117 #: hypha/apply/determinations/templates/determinations/includes/determination_block.html:7 -#: hypha/apply/funds/workflow.py:222 hypha/apply/funds/workflow.py:349 -#: hypha/apply/funds/workflow.py:504 hypha/apply/funds/workflow.py:683 -#: hypha/apply/projects/models/project.py:76 hypha/apply/review/models.py:164 +#: hypha/apply/funds/workflow.py:254 hypha/apply/funds/workflow.py:393 +#: hypha/apply/funds/workflow.py:569 hypha/apply/funds/workflow.py:771 +#: hypha/apply/projects/models/project.py:75 +#: hypha/apply/projects/models/project.py:83 hypha/apply/review/models.py:172 msgid "Draft" msgstr "" -#: hypha/apply/determinations/models.py:117 -#: hypha/apply/projects/models/vendor.py:51 hypha/apply/review/models.py:165 +#: hypha/apply/determinations/models.py:119 +#: hypha/apply/projects/models/vendor.py:46 hypha/apply/review/models.py:174 msgid "Creation time" msgstr "" -#: hypha/apply/determinations/models.py:118 -#: hypha/apply/projects/models/vendor.py:52 hypha/apply/review/models.py:166 +#: hypha/apply/determinations/models.py:121 +#: hypha/apply/projects/models/vendor.py:48 hypha/apply/review/models.py:176 msgid "Update time" msgstr "" -#: hypha/apply/determinations/models.py:119 +#: hypha/apply/determinations/models.py:123 msgid "Send message to applicant" msgstr "" -#: hypha/apply/determinations/models.py:242 +#: hypha/apply/determinations/models.py:249 msgid "Request" msgstr "" -#: hypha/apply/determinations/models.py:243 +#: hypha/apply/determinations/models.py:250 msgid "Concept note" msgstr "" -#: hypha/apply/determinations/models.py:244 +#: hypha/apply/determinations/models.py:251 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:71 msgid "Proposal" msgstr "" -#: hypha/apply/determinations/models.py:364 +#: hypha/apply/determinations/models.py:460 msgid "Concept form" msgstr "" -#: hypha/apply/determinations/models.py:365 +#: hypha/apply/determinations/models.py:461 msgid "Proposal form" msgstr "" -#: hypha/apply/determinations/options.py:10 hypha/apply/funds/workflow.py:332 -#: hypha/apply/funds/workflow.py:486 hypha/apply/funds/workflow.py:665 -#: hypha/apply/funds/workflow.py:786 hypha/apply/funds/workflow.py:940 -#: hypha/apply/funds/workflow.py:1174 +#: hypha/apply/determinations/options.py:10 hypha/apply/funds/workflow.py:376 +#: hypha/apply/funds/workflow.py:551 hypha/apply/funds/workflow.py:753 +#: hypha/apply/funds/workflow.py:890 hypha/apply/funds/workflow.py:1065 +#: hypha/apply/funds/workflow.py:1317 msgid "Dismissed" msgstr "" @@ -1961,58 +2001,58 @@ msgstr "" msgid "Create a Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:8 msgid "Update Determination draft" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:8 #: hypha/apply/determinations/templates/determinations/determination_form.html:7 msgid "Create Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:10 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 -#: hypha/apply/determinations/templates/determinations/determination_form.html:8 -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:9 -#: hypha/apply/funds/templates/funds/revisions_compare.html:8 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:12 -#: hypha/apply/review/templates/review/review_detail.html:11 -#: hypha/apply/review/templates/review/review_edit_form.html:8 -#: hypha/apply/review/templates/review/review_form.html:8 -#: hypha/apply/review/templates/review/review_list.html:13 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:15 +#: hypha/apply/determinations/templates/determinations/determination_form.html:9 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:8 +#: hypha/apply/funds/templates/funds/revisions_compare.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:25 +#: hypha/apply/review/templates/review/review_detail.html:14 +#: hypha/apply/review/templates/review/review_edit_form.html:9 +#: hypha/apply/review/templates/review/review_form.html:9 +#: hypha/apply/review/templates/review/review_list.html:11 msgid "For" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:48 -#: hypha/apply/funds/templates/funds/application_base.html:68 -#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:36 -#: hypha/apply/funds/views.py:1164 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:67 -#: hypha/apply/review/templates/review/review_edit_form.html:40 -#: hypha/apply/review/templates/review/review_form.html:41 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:42 +#: hypha/apply/funds/templates/funds/application_base.html:71 +#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:37 +#: hypha/apply/funds/views.py:1271 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:68 +#: hypha/apply/review/templates/review/review_edit_form.html:41 +#: hypha/apply/review/templates/review/review_form.html:42 msgid "Save draft" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:12 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:11 msgid "Add Batch Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 msgid "Determining" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 msgid "submission" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:116 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:73 msgid "as" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:21 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:19 #: hypha/apply/funds/templates/funds/includes/batch_archive_submission_form.html:8 #: hypha/apply/funds/templates/funds/includes/batch_delete_submission_form.html:8 #: hypha/apply/funds/templates/funds/includes/batch_progress_form.html:6 @@ -2023,7 +2063,7 @@ msgstr "" msgid "Show" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:37 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:35 msgid "Send" msgstr "" @@ -2032,16 +2072,16 @@ msgid "Determination for" msgstr "" #: hypha/apply/determinations/templates/determinations/determination_detail.html:10 -#: hypha/apply/review/templates/review/review_detail.html:8 -msgid "Back to submission" +#: hypha/apply/review/templates/review/review_detail.html:9 +msgid "View submission" msgstr "" -#: hypha/apply/determinations/templates/determinations/determination_detail.html:12 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 msgid "DRAFT" msgstr "" #: hypha/apply/determinations/templates/determinations/determination_form.html:7 -msgid "Edit Determination" +msgid "Edit determination" msgstr "" #: hypha/apply/determinations/templates/determinations/includes/applicant_determination_block.html:3 @@ -2082,26 +2122,26 @@ msgstr "" msgid "Add determination" msgstr "" -#: hypha/apply/determinations/views.py:242 +#: hypha/apply/determinations/views.py:255 #, python-brace-format msgid "" "A determination already exists for the following submissions and they have " "been excluded: {submissions}" msgstr "" -#: hypha/apply/determinations/views.py:278 +#: hypha/apply/determinations/views.py:302 msgid "You do not have permission to create that determination." msgstr "" -#: hypha/apply/determinations/views.py:281 +#: hypha/apply/determinations/views.py:307 msgid "A final determination has already been submitted." msgstr "" -#: hypha/apply/determinations/views.py:289 +#: hypha/apply/determinations/views.py:320 msgid "There is a draft determination you do not have permission to edit." msgstr "" -#: hypha/apply/determinations/views.py:438 +#: hypha/apply/determinations/views.py:486 #, python-brace-format msgid "" "A determination of \"{current}\" exists but you tried to progress as " @@ -2120,173 +2160,172 @@ msgstr "" msgid "Staff flag" msgstr "" -#: hypha/apply/funds/admin_helpers.py:26 +#: hypha/apply/funds/admin_helpers.py:27 msgid "Fund or RFP" msgstr "" -#: hypha/apply/funds/admin_helpers.py:67 +#: hypha/apply/funds/admin_helpers.py:71 msgid "Funds & RFP" msgstr "" -#: hypha/apply/funds/admin_helpers.py:68 +#: hypha/apply/funds/admin_helpers.py:72 msgid "Rounds and Sealed Rounds" msgstr "" -#: hypha/apply/funds/admin_helpers.py:69 hypha/public/home/models.py:131 -#: hypha/public/home/models.py:136 +#: hypha/apply/funds/admin_helpers.py:73 hypha/public/home/models.py:157 +#: hypha/public/home/models.py:167 msgid "Labs" msgstr "" -#: hypha/apply/funds/admin_helpers.py:86 hypha/apply/funds/tables.py:498 +#: hypha/apply/funds/admin_helpers.py:90 hypha/apply/funds/tables.py:579 #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:13 #: hypha/apply/funds/templates/funds/includes/round-block.html:13 #: hypha/templates/includes/relatedcontent_card.html:8 msgid "Open" msgstr "" -#: hypha/apply/funds/admin_helpers.py:87 +#: hypha/apply/funds/admin_helpers.py:91 #: hypha/apply/funds/templates/funds/includes/round-block.html:18 #: hypha/templates/includes/relatedcontent_card.html:10 msgid "Closed" msgstr "" -#: hypha/apply/funds/admin_views.py:67 +#: hypha/apply/funds/admin_views.py:78 #, python-brace-format msgid "Page '{0}' and {1} subpages copied." msgstr "" -#: hypha/apply/funds/admin_views.py:72 +#: hypha/apply/funds/admin_views.py:84 #, python-brace-format msgid "Page '{0}' copied." msgstr "" -#: hypha/apply/funds/blocks.py:30 +#: hypha/apply/funds/blocks.py:31 msgid "What is the title of your application?" msgstr "" -#: hypha/apply/funds/blocks.py:31 +#: hypha/apply/funds/blocks.py:36 msgid "This project name can be changed if a full proposal is requested." msgstr "" -#: hypha/apply/funds/blocks.py:34 +#: hypha/apply/funds/blocks.py:40 msgid "Application title" msgstr "" -#: hypha/apply/funds/blocks.py:44 +#: hypha/apply/funds/blocks.py:50 msgid "Requested amount" msgstr "" -#: hypha/apply/funds/blocks.py:55 +#: hypha/apply/funds/blocks.py:62 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:35 msgid "Organization name" msgstr "" -#: hypha/apply/funds/blocks.py:61 +#: hypha/apply/funds/blocks.py:69 msgid "What email address should we use to contact you?" msgstr "" -#: hypha/apply/funds/blocks.py:63 +#: hypha/apply/funds/blocks.py:75 msgid "" "We will use this email address to communicate with you about your proposal." msgstr "" -#: hypha/apply/funds/blocks.py:79 +#: hypha/apply/funds/blocks.py:93 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:29 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:17 -#: hypha/apply/projects/models/vendor.py:20 -#: hypha/apply/projects/models/vendor.py:59 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:58 +#: hypha/apply/projects/models/vendor.py:18 +#: hypha/apply/projects/models/vendor.py:54 msgid "Address" msgstr "" -#: hypha/apply/funds/blocks.py:110 +#: hypha/apply/funds/blocks.py:113 msgid "What is your name?" msgstr "" -#: hypha/apply/funds/blocks.py:112 +#: hypha/apply/funds/blocks.py:118 msgid "We will use this name when we communicate with you about your proposal." msgstr "" -#: hypha/apply/funds/blocks.py:115 hypha/apply/users/models.py:183 +#: hypha/apply/funds/blocks.py:123 hypha/apply/users/models.py:198 msgid "Full name" msgstr "" -#: hypha/apply/funds/blocks.py:201 hypha/apply/stream_forms/blocks.py:466 -#: hypha/apply/stream_forms/blocks.py:467 -#: hypha/apply/stream_forms/blocks.py:482 -#: hypha/apply/stream_forms/blocks.py:483 hypha/apply/utils/blocks.py:84 +#: hypha/apply/funds/blocks.py:206 hypha/apply/stream_forms/blocks.py:461 +#: hypha/apply/stream_forms/blocks.py:462 +#: hypha/apply/stream_forms/blocks.py:477 +#: hypha/apply/stream_forms/blocks.py:478 hypha/apply/utils/blocks.py:85 msgid "Custom" msgstr "" -#: hypha/apply/funds/forms.py:61 hypha/apply/funds/forms.py:80 +#: hypha/apply/funds/forms.py:62 hypha/apply/funds/forms.py:81 msgid "Take action" msgstr "" -#: hypha/apply/funds/forms.py:143 hypha/apply/projects/forms/project.py:395 +#: hypha/apply/funds/forms.py:147 hypha/apply/projects/forms/project.py:421 #, python-brace-format msgid "Update lead from {lead} to" msgstr "" -#: hypha/apply/funds/forms.py:180 +#: hypha/apply/funds/forms.py:186 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:35 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:37 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:20 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:24 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:61 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:40 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:42 #: hypha/apply/funds/templates/funds/submission_sealed.html:14 #: hypha/apply/funds/templates/funds/submissions_by_round.html:10 -#: hypha/apply/projects/filters.py:33 hypha/apply/projects/filters.py:47 -#: hypha/apply/projects/tables.py:42 +#: hypha/apply/projects/filters.py:40 hypha/apply/projects/filters.py:58 +#: hypha/apply/projects/tables.py:40 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:25 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:25 -#: hypha/apply/projects/templates/application_projects/project_detail.html:37 -#: hypha/apply/projects/templates/application_projects/project_detail.html:46 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:26 +#: hypha/apply/projects/templates/application_projects/project_detail.html:38 +#: hypha/apply/projects/templates/application_projects/project_detail.html:47 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:18 msgid "Lead" msgstr "" -#: hypha/apply/funds/forms.py:228 hypha/apply/funds/forms.py:350 +#: hypha/apply/funds/forms.py:242 hypha/apply/funds/forms.py:383 msgid "External Reviewers" msgstr "" -#: hypha/apply/funds/forms.py:295 +#: hypha/apply/funds/forms.py:317 msgid "Can't unassign, just change, because review already submitted" msgstr "" -#: hypha/apply/funds/forms.py:300 hypha/apply/funds/forms.py:393 +#: hypha/apply/funds/forms.py:323 hypha/apply/funds/forms.py:434 msgid "Users cannot be assigned to multiple roles." msgstr "" -#: hypha/apply/funds/forms.py:383 +#: hypha/apply/funds/forms.py:422 msgid "" "Make sure all submissions support external reviewers and you are lead for " "all the selected submissions." msgstr "" -#: hypha/apply/funds/forms.py:413 +#: hypha/apply/funds/forms.py:454 msgid "---" msgstr "" -#: hypha/apply/funds/forms.py:415 +#: hypha/apply/funds/forms.py:458 #, python-brace-format msgid "{role_name} Reviewer" msgstr "" -#: hypha/apply/funds/forms.py:430 +#: hypha/apply/funds/forms.py:476 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:60 msgid "Partners" msgstr "" -#: hypha/apply/funds/forms.py:491 +#: hypha/apply/funds/forms.py:545 msgid "Meta terms" msgstr "" -#: hypha/apply/funds/forms.py:494 +#: hypha/apply/funds/forms.py:548 msgid "Meta terms are hierarchical in nature." msgstr "" -#: hypha/apply/funds/models/__init__.py:36 hypha/apply/funds/tables.py:93 -#: hypha/apply/projects/tables.py:41 hypha/apply/projects/tables.py:66 +#: hypha/apply/funds/models/__init__.py:36 hypha/apply/funds/tables.py:91 +#: hypha/apply/projects/tables.py:39 hypha/apply/projects/tables.py:66 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:26 msgid "Fund" msgstr "" @@ -2299,82 +2338,82 @@ msgstr "" msgid "Lab" msgstr "" -#: hypha/apply/funds/models/applications.py:86 -#: hypha/apply/funds/models/applications.py:464 +#: hypha/apply/funds/models/applications.py:104 +#: hypha/apply/funds/models/applications.py:536 msgid "Link to the apply guide." msgstr "" -#: hypha/apply/funds/models/applications.py:88 +#: hypha/apply/funds/models/applications.py:111 msgid "" "The slack #channel for notifications. If left empty, notifications will go " "to the default channel." msgstr "" -#: hypha/apply/funds/models/applications.py:93 +#: hypha/apply/funds/models/applications.py:119 msgid "" "Comma separated list of emails where a summary of all the activities related " "to this fund will be sent." msgstr "" -#: hypha/apply/funds/models/applications.py:96 +#: hypha/apply/funds/models/applications.py:124 msgid "Should the deadline date be visible for users." msgstr "" -#: hypha/apply/funds/models/applications.py:146 -#: hypha/apply/funds/models/applications.py:241 -#: hypha/apply/funds/models/applications.py:488 +#: hypha/apply/funds/models/applications.py:178 +#: hypha/apply/funds/models/applications.py:282 +#: hypha/apply/funds/models/applications.py:566 msgid "Content" msgstr "" -#: hypha/apply/funds/models/applications.py:148 -#: hypha/apply/funds/models/applications.py:242 -#: hypha/apply/funds/models/applications.py:490 +#: hypha/apply/funds/models/applications.py:180 +#: hypha/apply/funds/models/applications.py:283 +#: hypha/apply/funds/models/applications.py:568 msgid "Promote" msgstr "" -#: hypha/apply/funds/models/applications.py:195 +#: hypha/apply/funds/models/applications.py:229 msgid "When no end date is provided the round will remain open indefinitely." msgstr "" -#: hypha/apply/funds/models/applications.py:206 +#: hypha/apply/funds/models/applications.py:245 msgid "Dates" msgstr "" -#: hypha/apply/funds/models/applications.py:210 -#: hypha/apply/funds/models/utils.py:53 +#: hypha/apply/funds/models/applications.py:250 +#: hypha/apply/funds/models/utils.py:58 msgid "Workflow" msgstr "" -#: hypha/apply/funds/models/applications.py:211 -#: hypha/apply/funds/models/applications.py:218 -#: hypha/apply/funds/models/applications.py:224 -#: hypha/apply/funds/models/applications.py:229 -#: hypha/apply/funds/models/applications.py:235 +#: hypha/apply/funds/models/applications.py:251 +#: hypha/apply/funds/models/applications.py:258 +#: hypha/apply/funds/models/applications.py:264 +#: hypha/apply/funds/models/applications.py:269 +#: hypha/apply/funds/models/applications.py:275 msgid "Copied from the fund." msgstr "" -#: hypha/apply/funds/models/applications.py:217 -#: hypha/apply/funds/models/utils.py:129 +#: hypha/apply/funds/models/applications.py:257 +#: hypha/apply/funds/models/utils.py:137 msgid "Application forms" msgstr "" -#: hypha/apply/funds/models/applications.py:223 +#: hypha/apply/funds/models/applications.py:263 msgid "Internal Review Form" msgstr "" -#: hypha/apply/funds/models/applications.py:230 +#: hypha/apply/funds/models/applications.py:270 msgid "External Review Form" msgstr "" -#: hypha/apply/funds/models/applications.py:236 +#: hypha/apply/funds/models/applications.py:276 msgid "Determination Form" msgstr "" -#: hypha/apply/funds/models/applications.py:466 +#: hypha/apply/funds/models/applications.py:540 msgid "The slack #channel for notifications." msgstr "" -#: hypha/apply/funds/models/applications.py:471 +#: hypha/apply/funds/models/applications.py:547 msgid "" "Comma separated list of emails where a summary of all the activities related " "to this lab will be sent." @@ -2396,152 +2435,152 @@ msgstr "" msgid "Submissions outcomes for which reviewers should have access to" msgstr "" -#: hypha/apply/funds/models/reviewer_role.py:81 +#: hypha/apply/funds/models/reviewer_role.py:80 msgid "Submissions for which reviewer is assigned to" msgstr "" -#: hypha/apply/funds/models/reviewer_role.py:85 +#: hypha/apply/funds/models/reviewer_role.py:84 msgid "Use the above configured variables to filter out submissions" msgstr "" -#: hypha/apply/funds/models/screening.py:10 +#: hypha/apply/funds/models/screening.py:11 msgid "Yes/No" msgstr "" -#: hypha/apply/funds/models/screening.py:11 +#: hypha/apply/funds/models/screening.py:12 msgid "Tick mark for Yes otherwise No." msgstr "" -#: hypha/apply/funds/models/screening.py:14 +#: hypha/apply/funds/models/screening.py:16 msgid "Default Yes/No" msgstr "" -#: hypha/apply/funds/models/screening.py:15 +#: hypha/apply/funds/models/screening.py:17 msgid "Only one Yes and No screening decision can be set as default." msgstr "" -#: hypha/apply/funds/models/submissions.py:435 +#: hypha/apply/funds/models/submissions.py:472 msgid "submit time" msgstr "" -#: hypha/apply/funds/models/utils.py:130 +#: hypha/apply/funds/models/utils.py:138 msgid "Internal Review Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:133 +#: hypha/apply/funds/models/utils.py:141 msgid "External Review Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:136 +#: hypha/apply/funds/models/utils.py:145 msgid "Determination Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:138 +#: hypha/apply/funds/models/utils.py:147 msgid "Project SOW Form" msgstr "" -#: hypha/apply/funds/models/utils.py:151 +#: hypha/apply/funds/models/utils.py:163 msgid "Additional text for the application confirmation message." msgstr "" -#: hypha/apply/funds/models/utils.py:167 hypha/apply/funds/models/utils.py:171 +#: hypha/apply/funds/models/utils.py:182 hypha/apply/funds/models/utils.py:186 msgid "Confirmation email" msgstr "" -#: hypha/apply/funds/tables.py:91 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:35 -#: hypha/apply/projects/filters.py:32 hypha/apply/projects/filters.py:48 -#: hypha/apply/projects/tables.py:65 +#: hypha/apply/funds/tables.py:86 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:37 +#: hypha/apply/projects/filters.py:37 hypha/apply/projects/filters.py:61 +#: hypha/apply/projects/tables.py:64 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:20 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:30 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:91 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:101 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:21 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:22 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:30 -#: hypha/public/partner/tables.py:54 hypha/public/partner/tables.py:100 +#: hypha/public/partner/tables.py:60 hypha/public/partner/tables.py:113 msgid "Status" msgstr "" -#: hypha/apply/funds/tables.py:92 +#: hypha/apply/funds/tables.py:90 msgid "Type" msgstr "" -#: hypha/apply/funds/tables.py:94 +#: hypha/apply/funds/tables.py:92 msgid "Comments" msgstr "" -#: hypha/apply/funds/tables.py:95 +#: hypha/apply/funds/tables.py:94 #: hypha/apply/funds/templates/funds/tables/table.html:22 -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "Last updated" msgstr "" -#: hypha/apply/funds/tables.py:109 +#: hypha/apply/funds/tables.py:117 msgid "No submissions available" msgstr "" -#: hypha/apply/funds/tables.py:155 hypha/apply/funds/tables.py:304 +#: hypha/apply/funds/tables.py:174 hypha/apply/funds/tables.py:348 msgid "Screening" msgstr "" -#: hypha/apply/funds/tables.py:190 +#: hypha/apply/funds/tables.py:218 msgid "Role" msgstr "" -#: hypha/apply/funds/tables.py:289 +#: hypha/apply/funds/tables.py:328 msgid "Statuses" msgstr "" -#: hypha/apply/funds/tables.py:301 hypha/apply/funds/tables.py:401 -#: hypha/apply/funds/tables.py:495 hypha/apply/funds/tables.py:529 -#: hypha/apply/projects/filters.py:31 hypha/apply/projects/filters.py:46 -#: hypha/public/home/models.py:124 +#: hypha/apply/funds/tables.py:341 hypha/apply/funds/tables.py:462 +#: hypha/apply/funds/tables.py:576 hypha/apply/funds/tables.py:613 +#: hypha/apply/projects/filters.py:32 hypha/apply/projects/filters.py:55 +#: hypha/public/home/models.py:145 msgid "Funds" msgstr "" -#: hypha/apply/funds/tables.py:302 hypha/apply/funds/tables.py:400 -#: hypha/apply/funds/tables.py:534 +#: hypha/apply/funds/tables.py:344 hypha/apply/funds/tables.py:459 +#: hypha/apply/funds/tables.py:618 #: hypha/apply/funds/templates/funds/rounds.html:5 #: hypha/apply/funds/templates/funds/rounds.html:15 msgid "Rounds" msgstr "" -#: hypha/apply/funds/tables.py:303 hypha/apply/funds/tables.py:496 +#: hypha/apply/funds/tables.py:346 hypha/apply/funds/tables.py:577 msgid "Leads" msgstr "" -#: hypha/apply/funds/tables.py:304 +#: hypha/apply/funds/tables.py:348 msgid "No Status" msgstr "" -#: hypha/apply/funds/tables.py:305 hypha/apply/funds/tables.py:524 +#: hypha/apply/funds/tables.py:351 hypha/apply/funds/tables.py:608 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:59 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:45 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:47 msgid "Reviewers" msgstr "" -#: hypha/apply/funds/tables.py:310 +#: hypha/apply/funds/tables.py:357 msgid "Terms" msgstr "" -#: hypha/apply/funds/tables.py:429 +#: hypha/apply/funds/tables.py:498 #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:20 msgid "Determined" msgstr "" -#: hypha/apply/funds/tables.py:549 +#: hypha/apply/funds/tables.py:637 hypha/apply/users/groups.py:5 msgid "Reviewer" msgstr "" -#: hypha/apply/funds/tables.py:562 hypha/apply/funds/tables.py:596 +#: hypha/apply/funds/tables.py:652 hypha/apply/funds/tables.py:686 msgid "No reviews available" msgstr "" -#: hypha/apply/funds/tables.py:600 +#: hypha/apply/funds/tables.py:693 hypha/apply/users/groups.py:4 msgid "Staff" msgstr "" -#: hypha/apply/funds/tables.py:608 +#: hypha/apply/funds/tables.py:703 msgid "No staff available" msgstr "" @@ -2561,18 +2600,18 @@ msgstr "" msgid "Continue" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:20 -msgid "" -"There were some errors with your form. Please amend the fields highlighted " -"below" -msgstr "" - -#: hypha/apply/funds/templates/funds/application_base.html:28 +#: hypha/apply/funds/templates/funds/application_base.html:12 #: hypha/apply/home/templates/apply_home/includes/apply_listing.html:11 #: hypha/public/funds/templates/public_funds/includes/fund_apply_cta.html:8 msgid "Next deadline" msgstr "" +#: hypha/apply/funds/templates/funds/application_base.html:26 +msgid "" +"There were some errors with your form. Please amend the fields highlighted " +"below" +msgstr "" + #: hypha/apply/funds/templates/funds/application_base.html:33 #, python-format msgid "" @@ -2584,11 +2623,11 @@ msgstr "" msgid "Application guide" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:67 +#: hypha/apply/funds/templates/funds/application_base.html:70 msgid "Submit for review" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:70 +#: hypha/apply/funds/templates/funds/application_base.html:74 msgid "You must have Javascript enabled to use this form." msgstr "" @@ -2597,37 +2636,50 @@ msgid "Your application is saved as a draft." msgstr "" #: hypha/apply/funds/templates/funds/application_base_landing.html:10 -#, python-format -msgid "Thank you for your submission to the %(ORG_LONG_NAME)s." +msgid "Please note that your application is not submitted for review." msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:14 +#: hypha/apply/funds/templates/funds/application_base_landing.html:13 msgid "" -"Please note that it is not submitted for review. You can complete your " -"application by following the log-in details emailed to you." +"You can access your applications from your dashboard. From there, you can " +"complete and submit them." msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:16 +#: hypha/apply/funds/templates/funds/application_base_landing.html:15 msgid "" -"An e-mail with more information has been sent to the address you entered." +"You can complete your application by following the log-in details emailed to " +"you." msgstr "" #: hypha/apply/funds/templates/funds/application_base_landing.html:19 #, python-format +msgid "Thank you for your submission to the %(ORG_LONG_NAME)s." +msgstr "" + +#: hypha/apply/funds/templates/funds/application_base_landing.html:21 +msgid "" +"An e-mail with more information has been sent to the address you entered." +msgstr "" + +#: hypha/apply/funds/templates/funds/application_base_landing.html:24 +#, python-format msgid "" -"If you do not receive an e-mail within 15 minutes please check your spam " -"folder and contact %(email)s for further assistance." +"\n" +" If you do not receive an e-mail within 15 minutes\n" +" please check your spam folder and contact %(email)s\n" +" for further assistance.\n" +" " msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:27 -msgid "Go to my dashboard." +#: hypha/apply/funds/templates/funds/application_base_landing.html:49 +msgid "Go to your dashboard" msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:29 -#: hypha/apply/users/templates/users/login.html:43 +#: hypha/apply/funds/templates/funds/application_base_landing.html:56 +#: hypha/apply/users/templates/users/login.html:45 #: hypha/apply/users/templates/users/password_reset/complete.html:13 -#: hypha/apply/users/templates/users/password_reset/form.html:33 -#: hypha/apply/users/templates/users/register.html:29 +#: hypha/apply/users/templates/users/password_reset/form.html:36 +#: hypha/apply/users/templates/users/register.html:32 msgid "Log in" msgstr "" @@ -2636,29 +2688,29 @@ msgstr "" msgid "Revisions for %(title)s" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:8 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:7 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:66 msgid "Revisions" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:21 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:19 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:5 msgid "current" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:25 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:23 #: hypha/apply/funds/templates/funds/revisions_compare.html:3 -#: hypha/apply/review/templates/review/review_detail.html:51 +#: hypha/apply/review/templates/review/review_detail.html:54 msgid "Compare" msgstr "" #: hypha/apply/funds/templates/funds/applicationsubmission_admin_detail.html:10 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:3 #: hypha/apply/funds/templates/funds/includes/generic_primary_actions.html:5 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:67 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:81 #: hypha/apply/projects/templates/application_projects/project_admin_detail.html:10 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:146 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:150 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:103 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:107 msgid "Actions to take" msgstr "" @@ -2678,28 +2730,32 @@ msgstr "" #: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:9 #: hypha/apply/review/templates/review/review_confirm_delete.html:4 #: hypha/apply/review/templates/review/review_confirm_delete.html:9 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:4 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:9 msgid "Deleting" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:17 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:16 #, python-format msgid "Are you sure you want to delete \"%(object)s\"?" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:18 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:17 msgid "" "All content related to this submission will also be deleted. This includes " "reviews, determinations and comments." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:19 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:18 #: hypha/apply/funds/templates/funds/includes/archive_submission_form.html:5 -#: hypha/apply/funds/templates/funds/includes/create_project_form.html:8 +#: hypha/apply/funds/templates/funds/includes/create_project_form.html:7 #: hypha/apply/funds/templates/funds/includes/unarchive_submission_form.html:5 -#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:18 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:230 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:32 -#: hypha/apply/review/templates/review/review_confirm_delete.html:18 +#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:17 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:231 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:33 +#: hypha/apply/review/templates/review/review_confirm_delete.html:17 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:17 +#: hypha/apply/users/templates/elevate/elevate.html:27 msgid "Confirm" msgstr "" @@ -2715,90 +2771,81 @@ msgstr "" msgid "Submission details" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:62 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:61 msgid "Activity feed" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:66 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:65 msgid "View message log" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:77 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:76 msgid "This submission has been archived." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:89 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:88 msgid "Congratulations!" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:90 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:89 #, python-format msgid "Your %(stage)s application has been accepted." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:91 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:90 #, python-format msgid "Start your %(stage)s application." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:97 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 #: hypha/apply/funds/templates/submissions/all.html:289 msgid "Updated" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:101 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:100 #: hypha/apply/funds/templates/funds/includes/batch_delete_submission_form.html:14 #: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:33 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:50 -#: hypha/apply/funds/templates/submissions/all.html:446 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:52 +#: hypha/apply/funds/templates/submissions/all.html:445 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:48 -#: hypha/apply/projects/views/payment.py:238 -#: hypha/apply/review/templates/review/review_detail.html:34 +#: hypha/apply/projects/views/payment.py:248 +#: hypha/apply/review/templates/review/review_detail.html:37 msgid "Delete" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:152 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:151 msgid "Related submissions" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:154 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:158 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:153 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:157 msgid "View linked" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:163 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:162 msgid "Past Submissions" msgstr "" #: hypha/apply/funds/templates/funds/applicationsubmission_form.html:3 -#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:7 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:8 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:15 #: hypha/apply/projects/templates/application_projects/project_approval_form.html:3 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:12 #: hypha/apply/projects/templates/application_projects/project_form.html:5 #: hypha/apply/projects/templates/application_projects/project_form.html:10 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:8 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:9 msgid "Editing" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:10 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:10 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:9 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:19 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:8 -#: hypha/apply/projects/templates/application_projects/project_sow_detail.html:12 -#: hypha/apply/projects/templates/application_projects/report_detail.html:10 -#: hypha/apply/projects/templates/application_projects/report_form.html:14 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:10 -msgid "View project page" +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:12 +msgid "Goto project page" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:26 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:31 msgid "Download PDF" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:37 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:42 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:2 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:3 msgid "Proposal Information" @@ -2843,7 +2890,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:53 #: hypha/apply/funds/templates/funds/includes/progress_form.html:4 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:169 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:155 msgid "Update status" msgstr "" @@ -2890,8 +2937,8 @@ msgid "" msgstr "" #: hypha/apply/funds/templates/funds/includes/batch_archive_submission_form.html:14 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:55 -#: hypha/apply/funds/templates/submissions/all.html:434 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:57 +#: hypha/apply/funds/templates/submissions/all.html:433 msgid "Archive" msgstr "" @@ -2915,8 +2962,8 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:60 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:316 #: hypha/apply/projects/templates/application_projects/invoice_admin_detail.html:28 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:167 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:171 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:153 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:157 msgid "Update Status" msgstr "" @@ -2929,7 +2976,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/update_reviewer_form.html:4 #: hypha/apply/funds/templates/submissions/submenu/bulk-update-reviewers.html:50 #: hypha/apply/projects/templates/application_projects/project_admin_detail.html:22 -#: hypha/apply/projects/templates/application_projects/project_detail.html:42 +#: hypha/apply/projects/templates/application_projects/project_detail.html:43 msgid "Update" msgstr "" @@ -2953,18 +3000,18 @@ msgstr "" msgid "Create" msgstr "" -#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:28 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:97 +#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:29 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:99 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:68 msgid "Close" msgstr "" -#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:29 +#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:30 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:69 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:41 -#: hypha/apply/projects/templates/application_projects/project_form.html:30 -#: hypha/apply/projects/templates/application_projects/report_form.html:55 -#: hypha/apply/projects/templates/application_projects/report_form.html:65 +#: hypha/apply/projects/templates/application_projects/project_form.html:29 +#: hypha/apply/projects/templates/application_projects/report_form.html:56 +#: hypha/apply/projects/templates/application_projects/report_form.html:66 msgid "Cancel" msgstr "" @@ -2985,7 +3032,7 @@ msgid "Current status" msgstr "" #: hypha/apply/funds/templates/funds/includes/progress_form.html:6 -#: hypha/apply/funds/workflow.py:776 +#: hypha/apply/funds/workflow.py:876 msgid "Progress" msgstr "" @@ -3016,42 +3063,33 @@ msgstr "" msgid "Legal Name" msgstr "" -#: hypha/apply/funds/templates/funds/includes/rendered_answers.html:20 -msgid "Edit account" -msgstr "" - #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:24 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:11 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:53 -#: hypha/apply/projects/templates/application_projects/project_detail.html:114 +#: hypha/apply/projects/templates/application_projects/project_detail.html:115 msgid "E-mail" msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:8 -msgid "Avg. Score" -msgstr "" - -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:14 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:16 msgid "No staff reviewers yet" msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:39 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:41 msgid "Show more..." msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:40 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:42 msgid "Show less..." msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:24 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:25 msgid "Export" msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:34 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:36 msgid "There are no" msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:34 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:36 msgid "rounds" msgstr "" @@ -3086,9 +3124,9 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/submission_stats.html:6 #: hypha/apply/funds/templates/funds/includes/submission_stats.html:13 -#: hypha/apply/funds/workflow.py:317 hypha/apply/funds/workflow.py:471 -#: hypha/apply/funds/workflow.py:650 hypha/apply/funds/workflow.py:925 -#: hypha/apply/funds/workflow.py:1170 +#: hypha/apply/funds/workflow.py:361 hypha/apply/funds/workflow.py:534 +#: hypha/apply/funds/workflow.py:736 hypha/apply/funds/workflow.py:1050 +#: hypha/apply/funds/workflow.py:1313 msgid "Accepted" msgstr "" @@ -3112,7 +3150,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/submissions_overview.html:28 #: hypha/apply/funds/templates/funds/submissions_result.html:20 #: hypha/apply/review/templates/review/review_list.html:4 -#: hypha/apply/review/templates/review/review_list.html:12 +#: hypha/apply/review/templates/review/review_list.html:10 msgid "Reviews" msgstr "" @@ -3132,46 +3170,46 @@ msgstr "" msgid "Your avg. score" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:17 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:19 #: hypha/apply/funds/templates/funds/submissions.html:17 msgid "Try newer version" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:26 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:28 msgid "Selected" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:66 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:68 msgid "Hide archived" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:68 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:70 msgid "Show archived" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:72 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:75 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:74 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:77 msgid "Filters" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:78 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:85 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:80 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:87 msgid "Search" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:84 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:86 msgid "submissions" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:85 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:87 msgid "Search input" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:95 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:97 msgid "Clear" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:96 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:98 msgid "Filter by" msgstr "" @@ -3180,7 +3218,7 @@ msgid "Are you sure you want to Unarchive this submission." msgstr "" #: hypha/apply/funds/templates/funds/includes/update_lead_form.html:3 -#: hypha/apply/projects/templates/application_projects/project_detail.html:41 +#: hypha/apply/projects/templates/application_projects/project_detail.html:42 msgid "Assign Lead" msgstr "" @@ -3196,7 +3234,7 @@ msgstr "" msgid "Update Reviewers" msgstr "" -#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:17 +#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:16 #, python-format msgid ">Are you sure you want to delete \"%(object)s\"?" msgstr "" @@ -3235,12 +3273,12 @@ msgstr "" msgid "Reviews by %(object)s" msgstr "" -#: hypha/apply/funds/templates/funds/revisions_compare.html:7 -msgid "Comparing revisions" +#: hypha/apply/funds/templates/funds/revisions_compare.html:9 +msgid "View revisions" msgstr "" -#: hypha/apply/funds/templates/funds/revisions_compare.html:9 -msgid "Back to revisions" +#: hypha/apply/funds/templates/funds/revisions_compare.html:13 +msgid "Comparing revisions" msgstr "" #: hypha/apply/funds/templates/funds/rounds.html:16 @@ -3291,6 +3329,10 @@ msgstr "" msgid "Submissions awaiting Review" msgstr "" +#: hypha/apply/funds/templates/funds/submissions_by_status.html:11 +msgid "All submissions in " +msgstr "" + #: hypha/apply/funds/templates/funds/submissions_overview.html:10 msgid "Track and explore recent submissions" msgstr "" @@ -3343,6 +3385,7 @@ msgid "There are %(count)s results for: %(search_term)s" msgstr "" #: hypha/apply/funds/templates/funds/tables/table.html:21 +#: hypha/apply/users/groups.py:3 msgid "Applicant" msgstr "" @@ -3512,613 +3555,625 @@ msgstr "" msgid "No rounds available" msgstr "" -#: hypha/apply/funds/views.py:217 hypha/apply/funds/views.py:244 -#: hypha/apply/funds/views.py:263 hypha/apply/funds/views.py:282 -#: hypha/apply/projects/views/project.py:349 +#: hypha/apply/funds/views.py:221 hypha/apply/funds/views.py:250 +#: hypha/apply/funds/views.py:272 hypha/apply/funds/views.py:294 +#: hypha/apply/projects/views/project.py:390 msgid "Sorry something went wrong" msgstr "" -#: hypha/apply/funds/views.py:325 +#: hypha/apply/funds/views.py:343 hypha/apply/funds/views_beta.py:339 msgid "Failed to update: " msgstr "" -#: hypha/apply/funds/views.py:565 hypha/apply/funds/views.py:568 -#: hypha/apply/funds/views.py:601 hypha/apply/funds/views.py:604 +#: hypha/apply/funds/views.py:625 hypha/apply/funds/views.py:628 +#: hypha/apply/funds/views.py:665 hypha/apply/funds/views.py:668 msgid "No Round or Lab found matching the query" msgstr "" -#: hypha/apply/funds/views.py:628 +#: hypha/apply/funds/views.py:692 msgid "No statuses match the requested value" msgstr "" -#: hypha/apply/funds/views.py:702 +#: hypha/apply/funds/views.py:774 msgid "Project Created!" msgstr "" -#: hypha/apply/funds/views.py:1264 -msgid "Submission saved successfully" +#: hypha/apply/funds/views.py:1308 +msgid "Draft saved" msgstr "" -#: hypha/apply/funds/views_beta.py:40 +#: hypha/apply/funds/views_beta.py:42 msgid "No screening" msgstr "" -#: hypha/apply/funds/views_beta.py:200 +#: hypha/apply/funds/views_beta.py:206 msgid "Newest" msgstr "" -#: hypha/apply/funds/views_beta.py:201 +#: hypha/apply/funds/views_beta.py:207 msgid "Oldest" msgstr "" -#: hypha/apply/funds/views_beta.py:202 +#: hypha/apply/funds/views_beta.py:208 msgid "Most Commented" msgstr "" -#: hypha/apply/funds/views_beta.py:203 +#: hypha/apply/funds/views_beta.py:209 msgid "Least Commented" msgstr "" -#: hypha/apply/funds/views_beta.py:204 +#: hypha/apply/funds/views_beta.py:210 msgid "Recently Updated" msgstr "" -#: hypha/apply/funds/views_beta.py:205 +#: hypha/apply/funds/views_beta.py:211 msgid "Least Recently Updated" msgstr "" -#: hypha/apply/funds/views_beta.py:206 +#: hypha/apply/funds/views_beta.py:212 msgid "Best Match" msgstr "" -#: hypha/apply/funds/workflow.py:230 hypha/apply/funds/workflow.py:274 -#: hypha/apply/funds/workflow.py:357 hypha/apply/funds/workflow.py:395 -#: hypha/apply/funds/workflow.py:432 hypha/apply/funds/workflow.py:512 -#: hypha/apply/funds/workflow.py:574 hypha/apply/funds/workflow.py:611 -#: hypha/apply/funds/workflow.py:691 hypha/apply/funds/workflow.py:734 -#: hypha/apply/funds/workflow.py:807 hypha/apply/funds/workflow.py:848 -#: hypha/apply/funds/workflow.py:886 +#: hypha/apply/funds/workflow.py:262 hypha/apply/funds/workflow.py:313 +#: hypha/apply/funds/workflow.py:401 hypha/apply/funds/workflow.py:446 +#: hypha/apply/funds/workflow.py:488 hypha/apply/funds/workflow.py:577 +#: hypha/apply/funds/workflow.py:648 hypha/apply/funds/workflow.py:690 +#: hypha/apply/funds/workflow.py:779 hypha/apply/funds/workflow.py:829 +#: hypha/apply/funds/workflow.py:915 hypha/apply/funds/workflow.py:963 +#: hypha/apply/funds/workflow.py:1006 msgid "Request More Information" msgstr "" -#: hypha/apply/funds/workflow.py:231 hypha/apply/funds/workflow.py:358 -#: hypha/apply/funds/workflow.py:514 hypha/apply/funds/workflow.py:692 -#: hypha/apply/funds/workflow.py:808 +#: hypha/apply/funds/workflow.py:263 hypha/apply/funds/workflow.py:402 +#: hypha/apply/funds/workflow.py:579 hypha/apply/funds/workflow.py:780 +#: hypha/apply/funds/workflow.py:916 msgid "Open Review" msgstr "" -#: hypha/apply/funds/workflow.py:232 hypha/apply/funds/workflow.py:249 -#: hypha/apply/funds/workflow.py:275 hypha/apply/funds/workflow.py:292 -#: hypha/apply/funds/workflow.py:359 hypha/apply/funds/workflow.py:397 -#: hypha/apply/funds/workflow.py:433 hypha/apply/funds/workflow.py:516 -#: hypha/apply/funds/workflow.py:576 hypha/apply/funds/workflow.py:612 +#: hypha/apply/funds/workflow.py:264 hypha/apply/funds/workflow.py:286 +#: hypha/apply/funds/workflow.py:314 hypha/apply/funds/workflow.py:336 +#: hypha/apply/funds/workflow.py:403 hypha/apply/funds/workflow.py:448 +#: hypha/apply/funds/workflow.py:489 hypha/apply/funds/workflow.py:581 +#: hypha/apply/funds/workflow.py:650 hypha/apply/funds/workflow.py:691 msgid "Ready For Determination" msgstr "" -#: hypha/apply/funds/workflow.py:233 hypha/apply/funds/workflow.py:250 -#: hypha/apply/funds/workflow.py:277 hypha/apply/funds/workflow.py:293 -#: hypha/apply/funds/workflow.py:306 hypha/apply/funds/workflow.py:435 -#: hypha/apply/funds/workflow.py:460 hypha/apply/funds/workflow.py:614 -#: hypha/apply/funds/workflow.py:639 hypha/apply/funds/workflow.py:889 -#: hypha/apply/funds/workflow.py:914 +#: hypha/apply/funds/workflow.py:265 hypha/apply/funds/workflow.py:287 +#: hypha/apply/funds/workflow.py:316 hypha/apply/funds/workflow.py:337 +#: hypha/apply/funds/workflow.py:350 hypha/apply/funds/workflow.py:491 +#: hypha/apply/funds/workflow.py:523 hypha/apply/funds/workflow.py:693 +#: hypha/apply/funds/workflow.py:725 hypha/apply/funds/workflow.py:1009 +#: hypha/apply/funds/workflow.py:1039 msgid "Accept but additional info required" msgstr "" -#: hypha/apply/funds/workflow.py:234 hypha/apply/funds/workflow.py:251 -#: hypha/apply/funds/workflow.py:278 hypha/apply/funds/workflow.py:294 -#: hypha/apply/funds/workflow.py:307 hypha/apply/funds/workflow.py:324 -#: hypha/apply/funds/workflow.py:436 hypha/apply/funds/workflow.py:461 -#: hypha/apply/funds/workflow.py:478 hypha/apply/funds/workflow.py:615 -#: hypha/apply/funds/workflow.py:640 hypha/apply/funds/workflow.py:657 -#: hypha/apply/funds/workflow.py:890 hypha/apply/funds/workflow.py:915 -#: hypha/apply/funds/workflow.py:932 +#: hypha/apply/funds/workflow.py:266 hypha/apply/funds/workflow.py:288 +#: hypha/apply/funds/workflow.py:317 hypha/apply/funds/workflow.py:338 +#: hypha/apply/funds/workflow.py:351 hypha/apply/funds/workflow.py:368 +#: hypha/apply/funds/workflow.py:492 hypha/apply/funds/workflow.py:524 +#: hypha/apply/funds/workflow.py:541 hypha/apply/funds/workflow.py:694 +#: hypha/apply/funds/workflow.py:726 hypha/apply/funds/workflow.py:743 +#: hypha/apply/funds/workflow.py:1010 hypha/apply/funds/workflow.py:1040 +#: hypha/apply/funds/workflow.py:1057 #: hypha/cookieconsent/templates/includes/banner.html:12 msgid "Accept" msgstr "" -#: hypha/apply/funds/workflow.py:235 hypha/apply/funds/workflow.py:252 -#: hypha/apply/funds/workflow.py:279 hypha/apply/funds/workflow.py:295 -#: hypha/apply/funds/workflow.py:308 hypha/apply/funds/workflow.py:360 -#: hypha/apply/funds/workflow.py:399 hypha/apply/funds/workflow.py:437 -#: hypha/apply/funds/workflow.py:462 hypha/apply/funds/workflow.py:517 -#: hypha/apply/funds/workflow.py:539 hypha/apply/funds/workflow.py:552 -#: hypha/apply/funds/workflow.py:563 hypha/apply/funds/workflow.py:578 -#: hypha/apply/funds/workflow.py:616 hypha/apply/funds/workflow.py:641 -#: hypha/apply/funds/workflow.py:695 hypha/apply/funds/workflow.py:709 -#: hypha/apply/funds/workflow.py:738 hypha/apply/funds/workflow.py:763 -#: hypha/apply/funds/workflow.py:797 hypha/apply/funds/workflow.py:811 -#: hypha/apply/funds/workflow.py:826 hypha/apply/funds/workflow.py:852 -#: hypha/apply/funds/workflow.py:891 hypha/apply/funds/workflow.py:916 +#: hypha/apply/funds/workflow.py:267 hypha/apply/funds/workflow.py:289 +#: hypha/apply/funds/workflow.py:318 hypha/apply/funds/workflow.py:339 +#: hypha/apply/funds/workflow.py:352 hypha/apply/funds/workflow.py:404 +#: hypha/apply/funds/workflow.py:450 hypha/apply/funds/workflow.py:493 +#: hypha/apply/funds/workflow.py:525 hypha/apply/funds/workflow.py:582 +#: hypha/apply/funds/workflow.py:609 hypha/apply/funds/workflow.py:622 +#: hypha/apply/funds/workflow.py:635 hypha/apply/funds/workflow.py:652 +#: hypha/apply/funds/workflow.py:695 hypha/apply/funds/workflow.py:727 +#: hypha/apply/funds/workflow.py:783 hypha/apply/funds/workflow.py:802 +#: hypha/apply/funds/workflow.py:833 hypha/apply/funds/workflow.py:863 +#: hypha/apply/funds/workflow.py:905 hypha/apply/funds/workflow.py:919 +#: hypha/apply/funds/workflow.py:939 hypha/apply/funds/workflow.py:967 +#: hypha/apply/funds/workflow.py:1011 hypha/apply/funds/workflow.py:1041 msgid "Dismiss" msgstr "" -#: hypha/apply/funds/workflow.py:237 hypha/apply/funds/workflow.py:362 -#: hypha/apply/funds/workflow.py:519 hypha/apply/funds/workflow.py:697 +#: hypha/apply/funds/workflow.py:269 hypha/apply/funds/workflow.py:406 +#: hypha/apply/funds/workflow.py:584 hypha/apply/funds/workflow.py:785 msgid "Need screening" msgstr "" -#: hypha/apply/funds/workflow.py:238 hypha/apply/funds/workflow.py:363 -#: hypha/apply/funds/workflow.py:520 +#: hypha/apply/funds/workflow.py:270 hypha/apply/funds/workflow.py:407 +#: hypha/apply/funds/workflow.py:585 msgid "Application Received" msgstr "" -#: hypha/apply/funds/workflow.py:254 hypha/apply/funds/workflow.py:297 -#: hypha/apply/funds/workflow.py:375 hypha/apply/funds/workflow.py:413 -#: hypha/apply/funds/workflow.py:451 hypha/apply/funds/workflow.py:532 -#: hypha/apply/funds/workflow.py:592 hypha/apply/funds/workflow.py:630 -#: hypha/apply/funds/workflow.py:713 hypha/apply/funds/workflow.py:753 -#: hypha/apply/funds/workflow.py:828 hypha/apply/funds/workflow.py:867 -#: hypha/apply/funds/workflow.py:905 +#: hypha/apply/funds/workflow.py:291 hypha/apply/funds/workflow.py:341 +#: hypha/apply/funds/workflow.py:424 hypha/apply/funds/workflow.py:469 +#: hypha/apply/funds/workflow.py:512 hypha/apply/funds/workflow.py:602 +#: hypha/apply/funds/workflow.py:671 hypha/apply/funds/workflow.py:714 +#: hypha/apply/funds/workflow.py:806 hypha/apply/funds/workflow.py:853 +#: hypha/apply/funds/workflow.py:941 hypha/apply/funds/workflow.py:987 +#: hypha/apply/funds/workflow.py:1030 msgid "More information required" msgstr "" -#: hypha/apply/funds/workflow.py:262 hypha/apply/funds/workflow.py:383 -#: hypha/apply/funds/workflow.py:421 hypha/apply/funds/workflow.py:550 -#: hypha/apply/funds/workflow.py:561 hypha/apply/funds/workflow.py:600 -#: hypha/apply/funds/workflow.py:721 hypha/apply/funds/workflow.py:836 -#: hypha/apply/funds/workflow.py:875 +#: hypha/apply/funds/workflow.py:299 hypha/apply/funds/workflow.py:432 +#: hypha/apply/funds/workflow.py:477 hypha/apply/funds/workflow.py:620 +#: hypha/apply/funds/workflow.py:633 hypha/apply/funds/workflow.py:679 +#: hypha/apply/funds/workflow.py:814 hypha/apply/funds/workflow.py:949 +#: hypha/apply/funds/workflow.py:995 msgid "Close Review" msgstr "" -#: hypha/apply/funds/workflow.py:263 hypha/apply/funds/workflow.py:384 -#: hypha/apply/funds/workflow.py:538 hypha/apply/funds/workflow.py:551 -#: hypha/apply/funds/workflow.py:722 +#: hypha/apply/funds/workflow.py:300 hypha/apply/funds/workflow.py:433 +#: hypha/apply/funds/workflow.py:608 hypha/apply/funds/workflow.py:621 +#: hypha/apply/funds/workflow.py:815 msgid "Need screening (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:265 hypha/apply/funds/workflow.py:386 -#: hypha/apply/funds/workflow.py:554 hypha/apply/funds/workflow.py:725 -#: hypha/apply/funds/workflow.py:839 hypha/apply/funds/workflow.py:1146 +#: hypha/apply/funds/workflow.py:302 hypha/apply/funds/workflow.py:435 +#: hypha/apply/funds/workflow.py:624 hypha/apply/funds/workflow.py:818 +#: hypha/apply/funds/workflow.py:952 hypha/apply/funds/workflow.py:1287 msgid "Internal Review" msgstr "" -#: hypha/apply/funds/workflow.py:266 hypha/apply/funds/workflow.py:387 -#: hypha/apply/funds/workflow.py:555 hypha/apply/funds/workflow.py:566 -#: hypha/apply/funds/workflow.py:726 hypha/apply/funds/workflow.py:840 +#: hypha/apply/funds/workflow.py:303 hypha/apply/funds/workflow.py:436 +#: hypha/apply/funds/workflow.py:625 hypha/apply/funds/workflow.py:638 +#: hypha/apply/funds/workflow.py:819 hypha/apply/funds/workflow.py:953 #, python-brace-format msgid "{org_short_name} Review" msgstr "" -#: hypha/apply/funds/workflow.py:276 hypha/apply/funds/workflow.py:736 +#: hypha/apply/funds/workflow.py:315 hypha/apply/funds/workflow.py:831 msgid "Open Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:281 hypha/apply/funds/workflow.py:401 -#: hypha/apply/funds/workflow.py:439 hypha/apply/funds/workflow.py:580 -#: hypha/apply/funds/workflow.py:618 hypha/apply/funds/workflow.py:740 -#: hypha/apply/funds/workflow.py:854 hypha/apply/funds/workflow.py:893 +#: hypha/apply/funds/workflow.py:320 hypha/apply/funds/workflow.py:452 +#: hypha/apply/funds/workflow.py:495 hypha/apply/funds/workflow.py:654 +#: hypha/apply/funds/workflow.py:697 hypha/apply/funds/workflow.py:835 +#: hypha/apply/funds/workflow.py:969 hypha/apply/funds/workflow.py:1013 msgid "Ready For Discussion" msgstr "" -#: hypha/apply/funds/workflow.py:305 hypha/apply/funds/workflow.py:325 -#: hypha/apply/funds/workflow.py:422 hypha/apply/funds/workflow.py:459 -#: hypha/apply/funds/workflow.py:479 hypha/apply/funds/workflow.py:601 -#: hypha/apply/funds/workflow.py:638 hypha/apply/funds/workflow.py:658 -#: hypha/apply/funds/workflow.py:761 hypha/apply/funds/workflow.py:876 -#: hypha/apply/funds/workflow.py:913 hypha/apply/funds/workflow.py:933 +#: hypha/apply/funds/workflow.py:349 hypha/apply/funds/workflow.py:369 +#: hypha/apply/funds/workflow.py:478 hypha/apply/funds/workflow.py:521 +#: hypha/apply/funds/workflow.py:543 hypha/apply/funds/workflow.py:680 +#: hypha/apply/funds/workflow.py:723 hypha/apply/funds/workflow.py:745 +#: hypha/apply/funds/workflow.py:861 hypha/apply/funds/workflow.py:996 +#: hypha/apply/funds/workflow.py:1038 hypha/apply/funds/workflow.py:1058 msgid "Ready For Discussion (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:310 hypha/apply/funds/workflow.py:464 -#: hypha/apply/funds/workflow.py:643 hypha/apply/funds/workflow.py:1166 +#: hypha/apply/funds/workflow.py:354 hypha/apply/funds/workflow.py:527 +#: hypha/apply/funds/workflow.py:729 hypha/apply/funds/workflow.py:1309 msgid "Ready for Determination" msgstr "" -#: hypha/apply/funds/workflow.py:318 hypha/apply/funds/workflow.py:472 -#: hypha/apply/funds/workflow.py:651 +#: hypha/apply/funds/workflow.py:362 hypha/apply/funds/workflow.py:535 +#: hypha/apply/funds/workflow.py:737 msgid "Application Outcome" msgstr "" -#: hypha/apply/funds/workflow.py:327 hypha/apply/funds/workflow.py:481 -#: hypha/apply/funds/workflow.py:660 hypha/apply/funds/workflow.py:935 +#: hypha/apply/funds/workflow.py:371 hypha/apply/funds/workflow.py:546 +#: hypha/apply/funds/workflow.py:748 hypha/apply/funds/workflow.py:1060 msgid "Accepted but additional info required" msgstr "" -#: hypha/apply/funds/workflow.py:396 hypha/apply/funds/workflow.py:575 -#: hypha/apply/funds/workflow.py:795 hypha/apply/funds/workflow.py:809 -#: hypha/apply/funds/workflow.py:824 hypha/apply/funds/workflow.py:849 -#: hypha/apply/funds/workflow.py:865 +#: hypha/apply/funds/workflow.py:447 hypha/apply/funds/workflow.py:649 +#: hypha/apply/funds/workflow.py:903 hypha/apply/funds/workflow.py:917 +#: hypha/apply/funds/workflow.py:937 hypha/apply/funds/workflow.py:964 +#: hypha/apply/funds/workflow.py:985 msgid "Open External Review" msgstr "" -#: hypha/apply/funds/workflow.py:398 hypha/apply/funds/workflow.py:562 -#: hypha/apply/funds/workflow.py:577 hypha/apply/funds/workflow.py:851 +#: hypha/apply/funds/workflow.py:449 hypha/apply/funds/workflow.py:634 +#: hypha/apply/funds/workflow.py:651 hypha/apply/funds/workflow.py:966 msgid "Open Internal Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:424 hypha/apply/funds/workflow.py:603 -#: hypha/apply/funds/workflow.py:878 hypha/apply/funds/workflow.py:1162 +#: hypha/apply/funds/workflow.py:480 hypha/apply/funds/workflow.py:682 +#: hypha/apply/funds/workflow.py:998 hypha/apply/funds/workflow.py:1305 msgid "External Review" msgstr "" -#: hypha/apply/funds/workflow.py:434 hypha/apply/funds/workflow.py:613 -#: hypha/apply/funds/workflow.py:888 +#: hypha/apply/funds/workflow.py:490 hypha/apply/funds/workflow.py:692 +#: hypha/apply/funds/workflow.py:1008 msgid "Open External Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:515 hypha/apply/funds/workflow.py:549 +#: hypha/apply/funds/workflow.py:580 hypha/apply/funds/workflow.py:619 msgid "Open Community Review" msgstr "" -#: hypha/apply/funds/workflow.py:565 +#: hypha/apply/funds/workflow.py:637 msgid "Community Review" msgstr "" -#: hypha/apply/funds/workflow.py:693 hypha/apply/funds/workflow.py:711 -#: hypha/apply/funds/workflow.py:735 +#: hypha/apply/funds/workflow.py:781 hypha/apply/funds/workflow.py:804 +#: hypha/apply/funds/workflow.py:830 msgid "Ready For Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:694 hypha/apply/funds/workflow.py:710 -#: hypha/apply/funds/workflow.py:723 hypha/apply/funds/workflow.py:737 -#: hypha/apply/funds/workflow.py:751 hypha/apply/funds/workflow.py:762 +#: hypha/apply/funds/workflow.py:782 hypha/apply/funds/workflow.py:803 +#: hypha/apply/funds/workflow.py:816 hypha/apply/funds/workflow.py:832 +#: hypha/apply/funds/workflow.py:851 hypha/apply/funds/workflow.py:862 msgid "Invite to Proposal" msgstr "" -#: hypha/apply/funds/workflow.py:698 +#: hypha/apply/funds/workflow.py:786 msgid "Concept Note Received" msgstr "" -#: hypha/apply/funds/workflow.py:765 +#: hypha/apply/funds/workflow.py:865 msgid "Ready for Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:772 +#: hypha/apply/funds/workflow.py:872 msgid "Concept Accepted" msgstr "" -#: hypha/apply/funds/workflow.py:773 +#: hypha/apply/funds/workflow.py:873 msgid "Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:796 hypha/apply/funds/workflow.py:810 -#: hypha/apply/funds/workflow.py:825 hypha/apply/funds/workflow.py:850 -#: hypha/apply/funds/workflow.py:887 +#: hypha/apply/funds/workflow.py:904 hypha/apply/funds/workflow.py:918 +#: hypha/apply/funds/workflow.py:938 hypha/apply/funds/workflow.py:965 +#: hypha/apply/funds/workflow.py:1007 msgid "Ready For Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:799 hypha/apply/funds/workflow.py:1158 +#: hypha/apply/funds/workflow.py:907 hypha/apply/funds/workflow.py:1301 msgid "Invited for Proposal" msgstr "" -#: hypha/apply/funds/workflow.py:813 +#: hypha/apply/funds/workflow.py:921 msgid "Proposal Received" msgstr "" -#: hypha/apply/funds/workflow.py:837 +#: hypha/apply/funds/workflow.py:950 msgid "Proposal Received (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:918 +#: hypha/apply/funds/workflow.py:1043 msgid "Ready for Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:926 +#: hypha/apply/funds/workflow.py:1051 msgid "Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:1142 +#: hypha/apply/funds/workflow.py:1283 msgid "Received" msgstr "" -#: hypha/apply/funds/workflow.py:1150 +#: hypha/apply/funds/workflow.py:1291 msgid "Ready for Discussion" msgstr "" -#: hypha/apply/funds/workflow.py:1154 +#: hypha/apply/funds/workflow.py:1297 msgid "More Information Requested" msgstr "" -#: hypha/apply/middleware.py:18 +#: hypha/apply/middleware.py:19 msgid "" "The object you are trying to delete is used somewhere. Please remove any " "usages and try again!." msgstr "" -#: hypha/apply/projects/filters.py:88 +#: hypha/apply/projects/filters.py:106 msgid "Reporting Period" msgstr "" -#: hypha/apply/projects/forms/payment.py:89 +#: hypha/apply/projects/forms/payment.py:107 msgid "The invoice must be a PDF." msgstr "" -#: hypha/apply/projects/forms/payment.py:93 +#: hypha/apply/projects/forms/payment.py:112 msgid "" "Files that are related to the invoice. They could be xls, microsoft office " "documents, open office documents, pdfs, txt files." msgstr "" -#: hypha/apply/projects/forms/payment.py:112 +#: hypha/apply/projects/forms/payment.py:138 msgid "Invoice File" msgstr "" -#: hypha/apply/projects/forms/payment.py:163 +#: hypha/apply/projects/forms/payment.py:195 msgid "File not found on submission" msgstr "" -#: hypha/apply/projects/forms/project.py:58 +#: hypha/apply/projects/forms/project.py:59 msgid "Something changed before your approval please re-review" msgstr "" -#: hypha/apply/projects/forms/project.py:62 +#: hypha/apply/projects/forms/project.py:65 msgid "The contract you were trying to approve has already been approved" msgstr "" -#: hypha/apply/projects/forms/project.py:65 +#: hypha/apply/projects/forms/project.py:69 msgid "You can only approve a signed contract" msgstr "" -#: hypha/apply/projects/forms/project.py:80 +#: hypha/apply/projects/forms/project.py:85 msgid "Select Project Lead" msgstr "" -#: hypha/apply/projects/forms/project.py:98 +#: hypha/apply/projects/forms/project.py:104 msgid "Project lead is a required field" msgstr "" -#: hypha/apply/projects/forms/project.py:279 +#: hypha/apply/projects/forms/project.py:295 msgid "A Project can only be sent for Approval when Drafted." msgstr "" -#: hypha/apply/projects/forms/project.py:337 -#: hypha/apply/projects/forms/project.py:349 +#: hypha/apply/projects/forms/project.py:363 +#: hypha/apply/projects/forms/project.py:375 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:49 msgid "Contract" msgstr "" -#: hypha/apply/projects/forms/project.py:357 +#: hypha/apply/projects/forms/project.py:383 msgid "Document" msgstr "" -#: hypha/apply/projects/forms/project.py:372 +#: hypha/apply/projects/forms/project.py:398 msgid "Contract Document" msgstr "" -#: hypha/apply/projects/forms/report.py:15 +#: hypha/apply/projects/forms/report.py:16 msgid "This section of the report will be shared with the broader community." msgstr "" -#: hypha/apply/projects/forms/report.py:18 +#: hypha/apply/projects/forms/report.py:20 msgid "This section of the report will be shared with staff only." msgstr "" -#: hypha/apply/projects/forms/report.py:53 +#: hypha/apply/projects/forms/report.py:56 msgid "Must include either public or private content when submitting a report." msgstr "" -#: hypha/apply/projects/forms/vendor.py:50 -#: hypha/apply/projects/models/vendor.py:48 +#: hypha/apply/projects/forms/vendor.py:52 +#: hypha/apply/projects/models/vendor.py:42 msgid "Yes, the account belongs to the organisation above" msgstr "" -#: hypha/apply/projects/forms/vendor.py:51 -#: hypha/apply/projects/models/vendor.py:49 +#: hypha/apply/projects/forms/vendor.py:53 +#: hypha/apply/projects/models/vendor.py:43 msgid "No, it is a personal bank account" msgstr "" -#: hypha/apply/projects/forms/vendor.py:106 hypha/apply/review/options.py:23 +#: hypha/apply/projects/forms/vendor.py:113 hypha/apply/review/options.py:23 msgid "No" msgstr "" -#: hypha/apply/projects/forms/vendor.py:106 hypha/apply/review/options.py:25 +#: hypha/apply/projects/forms/vendor.py:113 hypha/apply/review/options.py:25 msgid "Yes" msgstr "" -#: hypha/apply/projects/models/payment.py:31 -msgid "Resubmitted" -msgstr "" - #: hypha/apply/projects/models/payment.py:32 -msgid "Changes Requested by Staff" +msgid "Resubmitted" msgstr "" #: hypha/apply/projects/models/payment.py:33 -msgid "Changes Requested by Finance 1" +msgid "Changes requested by staff" msgstr "" #: hypha/apply/projects/models/payment.py:34 -msgid "Changes Requested by Finance 2" +msgid "Changes requested by finance" msgstr "" #: hypha/apply/projects/models/payment.py:35 -msgid "Approved by Staff" +msgid "Changes requested by finance 2" msgstr "" #: hypha/apply/projects/models/payment.py:36 -msgid "Approved by Finance 1" +msgid "Approved by staff" msgstr "" #: hypha/apply/projects/models/payment.py:37 -msgid "Approved by Finance 2" +msgid "Approved by finance" +msgstr "" + +#: hypha/apply/projects/models/payment.py:38 +msgid "Approved by finance 2" msgstr "" -#: hypha/apply/projects/models/payment.py:38 hypha/apply/projects/utils.py:122 +#: hypha/apply/projects/models/payment.py:39 hypha/apply/projects/utils.py:139 msgid "Paid" msgstr "" -#: hypha/apply/projects/models/payment.py:39 hypha/apply/projects/utils.py:120 +#: hypha/apply/projects/models/payment.py:40 hypha/apply/projects/utils.py:141 +msgid "Payment failed" +msgstr "" + +#: hypha/apply/projects/models/payment.py:41 hypha/apply/projects/utils.py:137 msgid "Declined" msgstr "" -#: hypha/apply/projects/models/payment.py:121 +#: hypha/apply/projects/models/payment.py:144 msgid "Quantity Selected on an Invoice" msgstr "" -#: hypha/apply/projects/models/payment.py:148 +#: hypha/apply/projects/models/payment.py:173 msgid "Message" msgstr "" -#: hypha/apply/projects/models/payment.py:150 +#: hypha/apply/projects/models/payment.py:176 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:19 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:29 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:90 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:100 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:20 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:21 msgid "Invoice number" msgstr "" -#: hypha/apply/projects/models/payment.py:156 +#: hypha/apply/projects/models/payment.py:183 msgid "Invoice amount" msgstr "" -#: hypha/apply/projects/models/payment.py:168 +#: hypha/apply/projects/models/payment.py:192 #, python-brace-format msgid "Invoice requested for {project}" msgstr "" -#: hypha/apply/projects/models/project.py:77 +#: hypha/apply/projects/models/project.py:76 msgid "Internal approval" msgstr "" -#: hypha/apply/projects/models/project.py:78 +#: hypha/apply/projects/models/project.py:77 +#: hypha/apply/projects/models/project.py:85 hypha/apply/users/groups.py:11 msgid "Contracting" msgstr "" -#: hypha/apply/projects/models/project.py:79 +#: hypha/apply/projects/models/project.py:78 +#: hypha/apply/projects/models/project.py:86 msgid "Invoicing and reporting" msgstr "" -#: hypha/apply/projects/models/project.py:80 +#: hypha/apply/projects/models/project.py:79 +#: hypha/apply/projects/models/project.py:87 msgid "Closing" msgstr "" -#: hypha/apply/projects/models/project.py:81 +#: hypha/apply/projects/models/project.py:80 +#: hypha/apply/projects/models/project.py:88 msgid "Complete" msgstr "" -#: hypha/apply/projects/models/project.py:169 +#: hypha/apply/projects/models/project.py:84 +msgid "{} approval" +msgstr "" + +#: hypha/apply/projects/models/project.py:210 msgid "Proposed Start Date" msgstr "" -#: hypha/apply/projects/models/project.py:170 +#: hypha/apply/projects/models/project.py:211 msgid "Proposed End Date" msgstr "" -#: hypha/apply/projects/models/project.py:299 +#: hypha/apply/projects/models/project.py:348 msgid "Proposed End Date must be after Proposed Start Date" msgstr "" -#: hypha/apply/projects/models/project.py:467 +#: hypha/apply/projects/models/project.py:489 msgid "user groups" msgstr "" -#: hypha/apply/projects/models/project.py:469 +#: hypha/apply/projects/models/project.py:491 msgid "Only selected group's users will be listed for this PAFReviewerRole" msgstr "" -#: hypha/apply/projects/models/project.py:500 -#: hypha/apply/projects/models/project.py:502 +#: hypha/apply/projects/models/project.py:528 +#: hypha/apply/projects/models/project.py:530 msgid "PAF Reviewers Roles" msgstr "" -#: hypha/apply/projects/models/project.py:521 +#: hypha/apply/projects/models/project.py:559 #, python-brace-format msgid "Approval of {project} by {user}" msgstr "" -#: hypha/apply/projects/models/project.py:554 +#: hypha/apply/projects/models/project.py:601 msgid "Counter Signed" msgstr "" -#: hypha/apply/projects/models/project.py:554 +#: hypha/apply/projects/models/project.py:601 msgid "Unsigned" msgstr "" -#: hypha/apply/projects/models/project.py:557 +#: hypha/apply/projects/models/project.py:604 #, python-brace-format msgid "Contract for {project} ({state})" msgstr "" -#: hypha/apply/projects/models/project.py:572 +#: hypha/apply/projects/models/project.py:628 #, python-brace-format msgid "Project file: {title}" msgstr "" -#: hypha/apply/projects/models/project.py:605 +#: hypha/apply/projects/models/project.py:671 #, python-brace-format msgid "Contract file: {title}" msgstr "" -#: hypha/apply/projects/models/report.py:189 +#: hypha/apply/projects/models/report.py:212 msgid "week" msgstr "" -#: hypha/apply/projects/models/report.py:190 +#: hypha/apply/projects/models/report.py:213 msgid "month" msgstr "" -#: hypha/apply/projects/models/report.py:191 +#: hypha/apply/projects/models/report.py:214 msgid "year" msgstr "" -#: hypha/apply/projects/models/report.py:193 +#: hypha/apply/projects/models/report.py:216 msgid "Weeks" msgstr "" -#: hypha/apply/projects/models/report.py:194 +#: hypha/apply/projects/models/report.py:217 msgid "Months" msgstr "" -#: hypha/apply/projects/models/report.py:195 hypha/public/partner/tables.py:22 +#: hypha/apply/projects/models/report.py:218 hypha/public/partner/tables.py:26 msgid "Years" msgstr "" -#: hypha/apply/projects/models/report.py:207 +#: hypha/apply/projects/models/report.py:232 msgid "Reporting Disabled" msgstr "" -#: hypha/apply/projects/models/report.py:211 +#: hypha/apply/projects/models/report.py:237 #, python-brace-format msgid "One time, that already has reported on {date}" msgstr "" -#: hypha/apply/projects/models/report.py:213 +#: hypha/apply/projects/models/report.py:242 #, python-brace-format msgid "One time on {date}" msgstr "" -#: hypha/apply/projects/models/report.py:218 -#: hypha/apply/projects/models/report.py:229 +#: hypha/apply/projects/models/report.py:250 +#: hypha/apply/projects/models/report.py:265 msgid "last day" msgstr "" -#: hypha/apply/projects/models/report.py:224 +#: hypha/apply/projects/models/report.py:256 #, python-brace-format msgid "Once a year on {month} {day}" msgstr "" -#: hypha/apply/projects/models/report.py:225 +#: hypha/apply/projects/models/report.py:259 #, python-brace-format msgid "Every {occurrence} years on {month} {day}" msgstr "" -#: hypha/apply/projects/models/report.py:233 +#: hypha/apply/projects/models/report.py:269 #, python-brace-format msgid "Once a month on the {day}" msgstr "" -#: hypha/apply/projects/models/report.py:234 +#: hypha/apply/projects/models/report.py:270 #, python-brace-format msgid "Every {occurrence} months on the {day}" msgstr "" -#: hypha/apply/projects/models/report.py:239 +#: hypha/apply/projects/models/report.py:277 #, python-brace-format msgid "Once a week on {weekday}" msgstr "" -#: hypha/apply/projects/models/report.py:240 +#: hypha/apply/projects/models/report.py:278 #, python-brace-format msgid "Every {occurrence} weeks on {weekday}" msgstr "" #: hypha/apply/projects/tables.py:13 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:26 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:27 msgid "Invoice Number" msgstr "" -#: hypha/apply/projects/tables.py:17 +#: hypha/apply/projects/tables.py:16 msgid "Project Name" msgstr "" @@ -4133,13 +4188,13 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/filters/widgets/date_range_input_widget.html:5 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:24 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:9 -#: hypha/apply/projects/templates/application_projects/report_detail.html:21 -#: hypha/apply/projects/templates/application_projects/report_form.html:28 +#: hypha/apply/projects/templates/application_projects/report_detail.html:22 +#: hypha/apply/projects/templates/application_projects/report_form.html:29 msgid "to" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:6 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:126 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:127 msgid "Contracting documents" msgstr "" @@ -4181,78 +4236,78 @@ msgstr "" msgid "Contracting team " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:89 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:108 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:160 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:205 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:90 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:109 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:161 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:206 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:190 -#: hypha/apply/templates/forms/includes/field.html:8 +#: hypha/apply/templates/forms/includes/field.html:11 msgid "Upload" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:91 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:110 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:92 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:111 msgid "Reupload" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Pending countersigned contract by " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Countersigned contract by " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "you " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Vendor " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:140 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:141 msgid "Pending " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:148 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:149 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:177 msgid "View template" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:182 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:183 #: hypha/apply/projects/templates/application_projects/includes/deliverables_block.html:35 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:214 msgid "Remove" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:204 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:205 msgid "Upload Countersigned Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:207 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:208 msgid "Upload Signed Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:208 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:209 msgid "The signed contract will be sent to Applicant once you submit." msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:218 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:219 msgid "Upload contracting documents" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:227 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:228 msgid "Approve Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:228 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:229 msgid "" "You confirm that the uploaded contract is acceptable for commencing the " "project." msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:229 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:230 msgid "This cannot be undone." msgstr "" @@ -4359,14 +4414,14 @@ msgid "Report every:" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:73 -#: hypha/apply/projects/templates/application_projects/project_form.html:34 -#: hypha/apply/projects/templates/application_projects/report_form.html:45 -#: hypha/apply/projects/templates/application_projects/report_form.html:56 -#: hypha/apply/projects/views/payment.py:183 -#: hypha/apply/projects/views/payment.py:236 -#: hypha/apply/projects/views/project.py:1201 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:69 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:97 +#: hypha/apply/projects/templates/application_projects/project_form.html:33 +#: hypha/apply/projects/templates/application_projects/report_form.html:46 +#: hypha/apply/projects/templates/application_projects/report_form.html:57 +#: hypha/apply/projects/views/payment.py:189 +#: hypha/apply/projects/views/payment.py:246 +#: hypha/apply/projects/views/project.py:1395 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:70 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:98 msgid "Save" msgstr "" @@ -4470,15 +4525,17 @@ msgid "View/Update Approvers" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:42 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:130 msgid "Change approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:51 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:143 msgid "Assign approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:91 -#: hypha/apply/projects/views/vendor.py:250 +#: hypha/apply/projects/views/vendor.py:258 msgid "Contracting Information" msgstr "" @@ -4575,17 +4632,21 @@ msgid "All approvers will be notified via email." msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:296 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:133 msgid "Change Approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:297 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:307 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:134 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:147 msgid "" "Selected approver will be notified. On unselecting, every listed member here " "will be notified." msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:306 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:146 msgid "Assign Approver" msgstr "" @@ -4599,51 +4660,58 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:4 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:12 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:51 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:14 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:65 #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:19 msgid "Invoice" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:12 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:90 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:9 +#: hypha/apply/projects/templates/application_projects/project_sow_detail.html:12 +#: hypha/apply/projects/templates/application_projects/report_detail.html:11 +#: hypha/apply/projects/templates/application_projects/report_form.html:15 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:11 +msgid "View project page" +msgstr "" + +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:14 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:104 msgid "Delete Invoice" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:24 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:25 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:23 msgid "Vendor" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:31 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:32 msgid "Are you sure you want to delete this invoice for" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:41 -msgid "View status history" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:43 -msgid "Hide status history" +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:57 +msgid "Hide" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:56 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:133 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:70 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:90 msgid "Supporting Documents" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:73 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:87 msgid "" "Only editable when 'Submitted' or you have been requested to make changes" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:82 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:96 msgid "Edit Invoice" msgstr "" #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:17 msgid "Add" msgstr "" @@ -4683,131 +4751,110 @@ msgstr "" msgid "Update Project Status" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:34 -#: hypha/apply/projects/templates/application_projects/project_detail.html:106 -msgid "Project Information" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:38 -msgid "Proposed start date" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:43 -msgid "Project Proposed end date" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:48 -msgid "Legal name" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:63 -msgid "Phone" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:68 -msgid "Value" +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:15 +msgid "Back to Project" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:74 -msgid "Sent to Compliance" +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:35 +#: hypha/apply/projects/templates/application_projects/project_detail.html:107 +msgid "Project Information" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:95 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:52 msgid "Approvals" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:101 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:58 msgid " - Pending" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:106 -#: hypha/apply/review/templates/review/review_detail.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:63 +#: hypha/apply/review/templates/review/review_detail.html:12 msgid "Review" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:108 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:65 msgid "Submission lead" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:111 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:68 msgid "Staff reviewers" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:121 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:129 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:78 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:86 msgid "No reviews" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:123 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:80 msgid "Advisory council" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:153 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:110 msgid "Edit PAF" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:157 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:114 msgid "Download Approval Form" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:161 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:118 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:28 msgid "Download as PDF" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:163 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:120 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:30 msgid "Download as DOCX" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:170 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:156 msgid "Project's current status" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:79 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:76 +msgid "Proposal attachments" +msgstr "" + +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:88 msgid "Approval form not configured. Please add an approval form in the" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:80 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:89 msgid "fund settings" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:13 +#: hypha/apply/projects/templates/application_projects/project_detail.html:14 #, python-format msgid " This project is in %(status)s state. " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:74 +#: hypha/apply/projects/templates/application_projects/project_detail.html:75 msgid "Details" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:109 +#: hypha/apply/projects/templates/application_projects/project_detail.html:110 msgid "Contractor" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:151 -#: hypha/apply/projects/templates/application_projects/project_detail.html:156 -msgid "Next Step" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_detail.html:171 -#: hypha/apply/projects/templates/application_projects/project_detail.html:177 +#: hypha/apply/projects/templates/application_projects/project_detail.html:174 +#: hypha/apply/projects/templates/application_projects/project_detail.html:180 msgid "PAF Approvals" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:188 -msgid "Requested changes by " +#: hypha/apply/projects/templates/application_projects/project_detail.html:191 +msgid "Request changes or more information by " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:196 +#: hypha/apply/projects/templates/application_projects/project_detail.html:199 msgid "Pending approval from " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:196 +#: hypha/apply/projects/templates/application_projects/project_detail.html:199 msgid " (nobody assigned yet)" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:199 +#: hypha/apply/projects/templates/application_projects/project_detail.html:202 msgid "Approved by " msgstr "" @@ -4835,35 +4882,35 @@ msgstr "" msgid "Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:13 +#: hypha/apply/projects/templates/application_projects/report_detail.html:15 msgid "View report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:21 +#: hypha/apply/projects/templates/application_projects/report_detail.html:22 msgid "This report is for the period" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:26 +#: hypha/apply/projects/templates/application_projects/report_detail.html:27 msgid "Report Skipped" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:28 +#: hypha/apply/projects/templates/application_projects/report_detail.html:29 msgid "Public Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:33 +#: hypha/apply/projects/templates/application_projects/report_detail.html:34 msgid "Private Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:39 +#: hypha/apply/projects/templates/application_projects/report_detail.html:40 msgid "Attachements" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:66 +#: hypha/apply/projects/templates/application_projects/report_detail.html:67 msgid "View previous report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:73 +#: hypha/apply/projects/templates/application_projects/report_detail.html:74 msgid "View next report" msgstr "" @@ -4871,29 +4918,29 @@ msgstr "" msgid "Edit Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:17 +#: hypha/apply/projects/templates/application_projects/report_form.html:19 msgid "Submit a report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:28 +#: hypha/apply/projects/templates/application_projects/report_form.html:29 msgid "You are reporting for the period running from" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:50 +#: hypha/apply/projects/templates/application_projects/report_form.html:51 msgid "Save report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:52 +#: hypha/apply/projects/templates/application_projects/report_form.html:53 msgid "" "Saving a draft means this report will be visible to you and staff from your " "project page." msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:62 +#: hypha/apply/projects/templates/application_projects/report_form.html:63 msgid "Submit report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:63 +#: hypha/apply/projects/templates/application_projects/report_form.html:64 msgid "Are you sure you want to submit your report?" msgstr "" @@ -4910,11 +4957,11 @@ msgid "No Reports Available." msgstr "" #: hypha/apply/projects/templates/application_projects/vendor_detail.html:4 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:12 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:14 msgid "Contracting Information for" msgstr "" -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:18 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:19 msgid "Last Updated" msgstr "" @@ -4923,7 +4970,7 @@ msgstr "" msgid "Update Contracting Information" msgstr "" -#: hypha/apply/projects/templates/application_projects/vendor_form.html:27 +#: hypha/apply/projects/templates/application_projects/vendor_form.html:26 msgid "Save and continue" msgstr "" @@ -4962,20 +5009,56 @@ msgstr "" msgid "Visit Project Detail Page" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:33 +#: hypha/apply/projects/templatetags/invoice_tools.py:113 +#, python-brace-format +msgid "{status} by {user_role}" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:36 +#: hypha/apply/projects/templatetags/project_tags.py:41 +#: hypha/apply/projects/templatetags/project_tags.py:45 +#: hypha/apply/projects/templatetags/project_tags.py:158 +#: hypha/apply/projects/templatetags/project_tags.py:170 +#: hypha/apply/projects/templatetags/project_tags.py:180 +#: hypha/apply/projects/templatetags/project_tags.py:199 +#: hypha/apply/projects/templatetags/project_tags.py:204 +msgid "To do" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:37 msgid "Fill in the Approval Form(PAF)" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:35 +#: hypha/apply/projects/templatetags/project_tags.py:42 msgid "Resubmit project documents for approval" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:36 +#: hypha/apply/projects/templatetags/project_tags.py:46 msgid "Submit project documents for approval" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:38 -#: hypha/apply/projects/templatetags/project_tags.py:46 +#: hypha/apply/projects/templatetags/project_tags.py:50 +#: hypha/apply/projects/templatetags/project_tags.py:58 +#: hypha/apply/projects/templatetags/project_tags.py:62 +#: hypha/apply/projects/templatetags/project_tags.py:68 +#: hypha/apply/projects/templatetags/project_tags.py:84 +#: hypha/apply/projects/templatetags/project_tags.py:90 +#: hypha/apply/projects/templatetags/project_tags.py:105 +#: hypha/apply/projects/templatetags/project_tags.py:114 +#: hypha/apply/projects/templatetags/project_tags.py:120 +#: hypha/apply/projects/templatetags/project_tags.py:128 +#: hypha/apply/projects/templatetags/project_tags.py:137 +#: hypha/apply/projects/templatetags/project_tags.py:144 +#: hypha/apply/projects/templatetags/project_tags.py:150 +#: hypha/apply/projects/templatetags/project_tags.py:164 +#: hypha/apply/projects/templatetags/project_tags.py:174 +#: hypha/apply/projects/templatetags/project_tags.py:187 +#: hypha/apply/projects/templatetags/project_tags.py:193 +msgid "Waiting for" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:52 +#: hypha/apply/projects/templatetags/project_tags.py:70 #, python-brace-format msgid "" "Awaiting project documents to be created and approved by {org_short_name} " @@ -4983,213 +5066,213 @@ msgid "" "stage." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:42 +#: hypha/apply/projects/templatetags/project_tags.py:59 msgid "Changes requested. Awaiting documents to be resubmitted." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:43 +#: hypha/apply/projects/templatetags/project_tags.py:63 msgid "Awaiting approval form to be created." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:56 -#: hypha/apply/projects/templatetags/project_tags.py:75 +#: hypha/apply/projects/templatetags/project_tags.py:86 +#: hypha/apply/projects/templatetags/project_tags.py:122 #, python-brace-format msgid "Awaiting approval. Assigned to {approver}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:59 -#: hypha/apply/projects/templatetags/project_tags.py:77 +#: hypha/apply/projects/templatetags/project_tags.py:92 +#: hypha/apply/projects/templatetags/project_tags.py:130 #, python-brace-format msgid "Awaiting {reviewer_role} to assign an approver" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:68 +#: hypha/apply/projects/templatetags/project_tags.py:106 msgid "Awaiting PAF approval form to be approved" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:72 +#: hypha/apply/projects/templatetags/project_tags.py:115 msgid "Awaiting approval from other approvers teams" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:80 +#: hypha/apply/projects/templatetags/project_tags.py:138 msgid "Awaiting project approval from assigned approvers" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:84 +#: hypha/apply/projects/templatetags/project_tags.py:145 #, python-brace-format msgid "Awaiting signed contract from {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:86 +#: hypha/apply/projects/templatetags/project_tags.py:151 msgid "Awaiting signed contract from Contracting team" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:91 +#: hypha/apply/projects/templatetags/project_tags.py:160 msgid "Awaiting contract documents to be submitted by you." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:92 +#: hypha/apply/projects/templatetags/project_tags.py:165 msgid "Awaiting countersigned contract from Vendor" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:95 +#: hypha/apply/projects/templatetags/project_tags.py:171 msgid "Awaiting contract documents submission by you" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:96 +#: hypha/apply/projects/templatetags/project_tags.py:175 msgid "Awaiting contract documents submission from Vendor" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:99 +#: hypha/apply/projects/templatetags/project_tags.py:182 msgid "Review the contract for all relevant details and approve." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:101 +#: hypha/apply/projects/templatetags/project_tags.py:189 #, python-brace-format msgid "Awaiting contract approval from {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:103 +#: hypha/apply/projects/templatetags/project_tags.py:194 msgid "Awaiting contract approval from Staff" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:106 +#: hypha/apply/projects/templatetags/project_tags.py:200 msgid "Add invoices" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:108 +#: hypha/apply/projects/templatetags/project_tags.py:205 msgid "Review invoice and take action" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:120 +#: hypha/apply/projects/templatetags/project_tags.py:224 #, python-brace-format msgid "Please download the signed contract uploaded by {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:122 +#: hypha/apply/projects/templatetags/project_tags.py:226 msgid "Countersign" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:123 +#: hypha/apply/projects/templatetags/project_tags.py:227 msgid "Upload it back" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:124 +#: hypha/apply/projects/templatetags/project_tags.py:229 msgid "Please also make sure to upload other required contracting documents" msgstr "" -#: hypha/apply/projects/utils.py:113 -msgid "Pending Approval" +#: hypha/apply/projects/utils.py:129 +msgid "Pending approval" msgstr "" -#: hypha/apply/projects/utils.py:118 +#: hypha/apply/projects/utils.py:135 msgid "Request for change or more information" msgstr "" -#: hypha/apply/projects/views/payment.py:63 -#: hypha/apply/projects/views/payment.py:268 +#: hypha/apply/projects/views/payment.py:64 +#: hypha/apply/projects/views/payment.py:285 #, python-brace-format msgid "

Invoice status updated to: {status}.

" msgstr "" -#: hypha/apply/projects/views/payment.py:195 +#: hypha/apply/projects/views/payment.py:203 msgid "

Invoice added.

" msgstr "" -#: hypha/apply/projects/views/project.py:157 +#: hypha/apply/projects/views/project.py:176 msgid "PAF has been submitted for approval" msgstr "" -#: hypha/apply/projects/views/project.py:180 +#: hypha/apply/projects/views/project.py:203 msgid "Document has been uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:200 +#: hypha/apply/projects/views/project.py:227 msgid "Document has been removed" msgstr "" -#: hypha/apply/projects/views/project.py:224 +#: hypha/apply/projects/views/project.py:255 msgid "Contracting document has been removed" msgstr "" -#: hypha/apply/projects/views/project.py:296 +#: hypha/apply/projects/views/project.py:332 msgid "Lead has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:380 +#: hypha/apply/projects/views/project.py:425 msgid "" "Contractor documents have been approved. You can receive invoices from " "vendor now." msgstr "" -#: hypha/apply/projects/views/project.py:418 +#: hypha/apply/projects/views/project.py:467 msgid "Countersigned contract uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:421 +#: hypha/apply/projects/views/project.py:474 msgid "Signed contract uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:466 +#: hypha/apply/projects/views/project.py:530 msgid "Contract documents submitted" msgstr "" -#: hypha/apply/projects/views/project.py:493 +#: hypha/apply/projects/views/project.py:554 msgid "Contracting document has been uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:533 +#: hypha/apply/projects/views/project.py:609 #, python-brace-format msgid "

{role} has updated PAF status to {paf_status}.

" msgstr "" -#: hypha/apply/projects/views/project.py:560 +#: hypha/apply/projects/views/project.py:649 msgid "PAF status has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:584 +#: hypha/apply/projects/views/project.py:680 msgid "PAF has been approved" msgstr "" -#: hypha/apply/projects/views/project.py:656 +#: hypha/apply/projects/views/project.py:757 msgid "Project status has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:770 +#: hypha/apply/projects/views/project.py:897 msgid "PAF approvers have been updated" msgstr "" -#: hypha/apply/projects/views/project.py:1206 +#: hypha/apply/projects/views/project.py:1401 msgid "You are not allowed to edit the project at this time" msgstr "" -#: hypha/apply/projects/views/vendor.py:259 +#: hypha/apply/projects/views/vendor.py:272 msgid "Bank Account Information" msgstr "" -#: hypha/apply/projects/views/vendor.py:268 +#: hypha/apply/projects/views/vendor.py:297 msgid "(Optional) Extra Information for Accepting Payments" msgstr "" -#: hypha/apply/projects/views/vendor.py:273 +#: hypha/apply/projects/views/vendor.py:310 msgid "Intermediary Bank Account Information" msgstr "" -#: hypha/apply/projects/views/vendor.py:282 +#: hypha/apply/projects/views/vendor.py:336 msgid "Account Holder National Identity Document Information" msgstr "" #: hypha/apply/review/blocks.py:34 -#: hypha/apply/review/templates/review/review_detail.html:23 +#: hypha/apply/review/templates/review/review_detail.html:26 msgid "Score" msgstr "" -#: hypha/apply/review/models.py:162 -#: hypha/apply/review/templates/review/review_detail.html:19 +#: hypha/apply/review/models.py:169 +#: hypha/apply/review/templates/review/review_detail.html:22 msgid "Recommendation" msgstr "" -#: hypha/apply/review/models.py:167 +#: hypha/apply/review/models.py:178 msgid "Visibility" msgstr "" @@ -5253,7 +5336,8 @@ msgstr "" msgid "Add a review" msgstr "" -#: hypha/apply/review/templates/review/review_confirm_delete.html:17 +#: hypha/apply/review/templates/review/review_confirm_delete.html:16 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:16 msgid "Are you sure you want to delete" msgstr "" @@ -5261,33 +5345,38 @@ msgstr "" msgid "Review for" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "at" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:49 +#: hypha/apply/review/templates/review/review_detail.html:52 msgid "Review was not against the latest version" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:69 +#: hypha/apply/review/templates/review/review_detail.html:74 msgid "" "An opinion is a replacement for a review. You will no longer be able to " "submit a review for this application." msgstr "" -#: hypha/apply/review/templates/review/review_form.html:46 +#: hypha/apply/review/templates/review/review_form.html:47 msgid "You have already posted a review for this submission" msgstr "" -#: hypha/apply/review/views.py:66 +#: hypha/apply/review/templatetags/review_tags.py:58 +#, python-brace-format +msgid "Avg. score: {average}" +msgstr "" + +#: hypha/apply/review/views.py:68 msgid "Edit Review" msgstr "" -#: hypha/apply/review/views.py:136 +#: hypha/apply/review/views.py:145 msgid "Update Review draft" msgstr "" -#: hypha/apply/review/views.py:136 +#: hypha/apply/review/views.py:145 msgid "Create Review" msgstr "" @@ -5296,7 +5385,7 @@ msgid "Help link" msgstr "" #: hypha/apply/stream_forms/blocks.py:115 -#: hypha/apply/stream_forms/blocks.py:216 +#: hypha/apply/stream_forms/blocks.py:213 msgid "Required" msgstr "" @@ -5351,7 +5440,7 @@ msgid "Checkbox field" msgstr "" #: hypha/apply/stream_forms/blocks.py:197 -#: hypha/apply/stream_forms/blocks.py:218 +#: hypha/apply/stream_forms/blocks.py:215 msgid "Choice" msgstr "" @@ -5359,60 +5448,60 @@ msgstr "" msgid "Radio buttons" msgstr "" -#: hypha/apply/stream_forms/blocks.py:230 +#: hypha/apply/stream_forms/blocks.py:227 msgid "Group fields" msgstr "" -#: hypha/apply/stream_forms/blocks.py:264 +#: hypha/apply/stream_forms/blocks.py:258 msgid "Dropdown field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:274 +#: hypha/apply/stream_forms/blocks.py:268 msgid "Checkbox" msgstr "" -#: hypha/apply/stream_forms/blocks.py:280 +#: hypha/apply/stream_forms/blocks.py:274 msgid "Multiple checkboxes field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:320 +#: hypha/apply/stream_forms/blocks.py:313 msgid "Date field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:342 +#: hypha/apply/stream_forms/blocks.py:335 msgid "Time field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:375 +#: hypha/apply/stream_forms/blocks.py:367 msgid "Date+time field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:407 +#: hypha/apply/stream_forms/blocks.py:399 msgid "Image field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:419 +#: hypha/apply/stream_forms/blocks.py:412 msgid "Single File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:433 +#: hypha/apply/stream_forms/blocks.py:429 msgid "Multiple File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:467 +#: hypha/apply/stream_forms/blocks.py:462 msgid "Section header" msgstr "" -#: hypha/apply/stream_forms/blocks.py:486 hypha/public/forms/models.py:70 +#: hypha/apply/stream_forms/blocks.py:481 hypha/public/forms/models.py:74 msgid "Form fields" msgstr "" -#: hypha/apply/stream_forms/models.py:71 +#: hypha/apply/stream_forms/models.py:74 msgid "" "You are logged in so this information is fetched from your user account." msgstr "" -#: hypha/apply/templates/forms/includes/field.html:37 +#: hypha/apply/templates/forms/includes/field.html:41 msgid "See help guide for more information." msgstr "" @@ -5422,92 +5511,186 @@ msgid "" "below." msgstr "" -#: hypha/apply/users/admin_views.py:106 hypha/apply/users/admin_views.py:131 +#: hypha/apply/users/admin_views.py:116 hypha/apply/users/admin_views.py:141 msgid "Search users" msgstr "" -#: hypha/apply/users/forms.py:41 +#: hypha/apply/users/forms.py:111 msgid "A user with that email already exists." msgstr "" -#: hypha/apply/users/forms.py:42 +#: hypha/apply/users/forms.py:112 msgid "The two password fields didn't match." msgstr "" -#: hypha/apply/users/forms.py:73 +#: hypha/apply/users/forms.py:149 msgid "" "You are registered using OAuth, please contact an admin if you need to " "change your email address." msgstr "" -#: hypha/apply/users/forms.py:91 +#: hypha/apply/users/forms.py:176 msgid "Only includes active, non-superusers" msgstr "" -#: hypha/apply/users/forms.py:100 -#: hypha/apply/users/templates/users/account.html:35 +#: hypha/apply/users/forms.py:185 +#: hypha/apply/users/templates/users/account.html:34 #: hypha/apply/users/templates/users/activation/email.txt:13 msgid "Password" msgstr "" -#: hypha/apply/users/forms.py:101 +#: hypha/apply/users/forms.py:186 msgid "Email change requires you to put password." msgstr "" -#: hypha/apply/users/forms.py:114 hypha/apply/users/forms.py:143 +#: hypha/apply/users/forms.py:199 hypha/apply/users/forms.py:228 msgid "Incorrect password. Please try again." msgstr "" -#: hypha/apply/users/forms.py:130 +#: hypha/apply/users/forms.py:215 msgid "Please type your password to confirm" msgstr "" -#: hypha/apply/users/models.py:182 +#: hypha/apply/users/groups.py:6 +msgid "Staff Admin" +msgstr "" + +#: hypha/apply/users/groups.py:7 hypha/public/partner/tables.py:108 +msgid "Partner" +msgstr "" + +#: hypha/apply/users/groups.py:8 +msgid "Community Reviewer" +msgstr "" + +#: hypha/apply/users/groups.py:9 +msgid "Approver" +msgstr "" + +#: hypha/apply/users/groups.py:10 +msgid "Finance" +msgstr "" + +#: hypha/apply/users/groups.py:14 +msgid "" +"Can access their own application and communicate via the communication tab." +msgstr "" + +#: hypha/apply/users/groups.py:17 +msgid "" +"View and edit all submissions, submit reviews, send determinations, and set " +"up applications." +msgstr "" + +#: hypha/apply/users/groups.py:20 +msgid "" +"Has a dashboard and can submit reviews. Advisory Council Members are " +"typically assigned this role." +msgstr "" + +#: hypha/apply/users/groups.py:23 +msgid "Placeholder..." +msgstr "" + +#: hypha/apply/users/groups.py:26 +msgid "" +"Can view, edit, and comment on a specific application they are assigned to." +msgstr "" + +#: hypha/apply/users/groups.py:30 +msgid "" +"An applicant with access to other applications utilizing the community " +"review (peer review) workflow." +msgstr "" + +#: hypha/apply/users/groups.py:34 +msgid "" +"Can review/approve PAF, and access compliance documents. Must also be in " +"group: Staff, Contracting, or Finance." +msgstr "" + +#: hypha/apply/users/groups.py:37 +msgid "" +"Can review/approve the PAF, access documents associated with contracting, " +"and access invoices approved by Staff." +msgstr "" + +#: hypha/apply/users/groups.py:40 +msgid "" +"Can review/approve the PAF and access documents associated with contracting." +msgstr "" + +#: hypha/apply/users/models.py:196 msgid "email address" msgstr "" -#: hypha/apply/users/models.py:185 +#: hypha/apply/users/models.py:201 msgid "Slack name" msgstr "" -#: hypha/apply/users/models.py:187 +#: hypha/apply/users/models.py:203 msgid "This is the name we should \"@mention\" when sending notifications" msgstr "" -#: hypha/apply/users/models.py:304 +#: hypha/apply/users/models.py:331 msgid "Show consent checkbox?" msgstr "" -#: hypha/apply/users/models.py:308 +#: hypha/apply/users/models.py:335 msgid "Login extra text" msgstr "" -#: hypha/apply/users/models.py:309 +#: hypha/apply/users/models.py:337 msgid "Displayed along side login form" msgstr "" -#: hypha/apply/users/models.py:312 +#: hypha/apply/users/models.py:340 msgid "Extra text to be displayed on register form" msgstr "" -#: hypha/apply/users/models.py:322 +#: hypha/apply/users/models.py:350 msgid "User consent on login & register forms" msgstr "" -#: hypha/apply/users/models.py:328 +#: hypha/apply/users/models.py:356 msgid "Login form customizations" msgstr "" -#: hypha/apply/users/models.py:334 +#: hypha/apply/users/models.py:362 msgid "Register form customizations" msgstr "" +#: hypha/apply/users/templates/elevate/elevate.html:4 +#: hypha/apply/users/templates/elevate/elevate.html:12 +msgid "Confirm access" +msgstr "" + +#: hypha/apply/users/templates/elevate/elevate.html:32 +msgid "" +"\n" +" Tip: You are entering sudo mode. After " +"you've performed a sudo-protected\n" +" action, you'll only be asked to re-authenticate again after " +"a few hours of inactivity.\n" +" " +msgstr "" + #: hypha/apply/users/templates/two_factor/_base.html:9 -#: hypha/apply/users/templates/two_factor/_base_focus.html:9 +#: hypha/apply/users/templates/two_factor/_base_focus.html:18 #: hypha/apply/users/templates/users/account.html:12 msgid "Go to my dashboard" msgstr "" +#: hypha/apply/users/templates/two_factor/_base_focus.html:8 +#: hypha/apply/users/templates/two_factor/core/setup_complete.html:5 +msgid "Back to Account" +msgstr "" + +#: hypha/apply/users/templates/two_factor/_base_focus.html:12 +#: hypha/apply/users/templates/users/account.html:37 +msgid "Two-Factor Authentication (2FA)" +msgstr "" + #: hypha/apply/users/templates/two_factor/_wizard_actions.html:4 #: hypha/apply/users/templates/users/login.html:4 #: hypha/public/utils/templates/utils/includes/login_button.html:7 @@ -5539,70 +5722,63 @@ msgid "" msgstr "" #: hypha/apply/users/templates/two_factor/admin/disable.html:23 -#: hypha/apply/users/templates/users/account.html:42 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:76 +#: hypha/apply/users/templates/users/account.html:41 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:77 msgid "Disable 2FA" msgstr "" #: hypha/apply/users/templates/two_factor/core/backup_tokens.html:5 #: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:5 -#: hypha/apply/users/templates/two_factor/core/setup.html:6 -#: hypha/apply/users/templates/two_factor/core/setup_complete.html:5 -msgid "Back to Account" -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:6 -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:6 msgid "Backup Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:7 -msgid "" -"Each of the code can be used only once. When they are used up, you can " -"generate a new set of backup codes." -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:11 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:8 msgid "" "You should now print these codes or copy them to your\n" -" clipboard and store them in your password manager." +" clipboard and store them in your password manager." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:16 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:22 msgid "Print" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:21 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:27 msgid "Copied!" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:22 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:29 msgid "Copy to Clipboard" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:23 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:30 msgid "Regenerate Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:26 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:33 +msgid "" +"Note: Each of the code can be used only once. When they are " +"used up, you can generate a new set of backup codes." +msgstr "" + +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:34 msgid "" "Once done, acknowledge you have stored the codes securely and then click " "\"Finish\"." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:33 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:41 msgid "Finish" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:37 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:45 msgid "You don't have any backup codes yet." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:39 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:47 msgid "Generate Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:7 +#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:6 msgid "" "If you loose your smartphone, or your Authenticator app is not available, " "you can use a backup code along with your username and password to login " @@ -5612,82 +5788,77 @@ msgid "" "are used up, you can generate a new set of backup codes." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:26 +#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:25 #: hypha/apply/users/templates/two_factor/profile/disable.html:22 -#: hypha/apply/users/templates/users/change_password.html:28 +#: hypha/apply/users/templates/users/change_password.html:31 #: hypha/apply/users/templates/users/email_change/confirm_password.html:21 -#: hypha/apply/users/templates/users/password_reset/confirm.html:27 +#: hypha/apply/users/templates/users/password_reset/confirm.html:30 msgid "
  • Please correct the error below.
  • " msgid_plural "
  • Please correct the errors below.
  • " msgstr[0] "" msgstr[1] "" -#: hypha/apply/users/templates/two_factor/core/setup.html:9 -#: hypha/apply/users/templates/users/account.html:38 -msgid "Two-Factor Authentication (2FA)" -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/setup.html:11 +#: hypha/apply/users/templates/two_factor/core/setup.html:6 msgid "" "2FA is an extra layer of security used to make sure that people trying to " "gain access to an online account are who they say they are. We recommend " "using Authy or another authenticator app." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:14 +#: hypha/apply/users/templates/two_factor/core/setup.html:9 #, python-format msgid "" "Please contact %(ORG_EMAIL)s if you have technical difficulty enabling 2FA." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:17 +#: hypha/apply/users/templates/two_factor/core/setup.html:12 msgid "Please select which authentication method you would like to use." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:20 +#: hypha/apply/users/templates/two_factor/core/setup.html:15 msgid "" "2FA requires a verification code to pair your smartphone with your account." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:22 +#: hypha/apply/users/templates/two_factor/core/setup.html:17 msgid "" "Step 1: Open the Authencator app on your phone and scan the " "QR code displayed below." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:25 +#: hypha/apply/users/templates/two_factor/core/setup.html:20 msgid "Unable to scan the QR code? Try this link:" msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:26 +#: hypha/apply/users/templates/two_factor/core/setup.html:21 msgid "" "Step 2: Enter the 6-digit verification code generated by " "the app below." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:28 +#: hypha/apply/users/templates/two_factor/core/setup.html:23 msgid "" "Please enter the phone number you wish to receive the text messages on. This " "number will be validated in the next step." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:32 +#: hypha/apply/users/templates/two_factor/core/setup.html:27 msgid "" "Please enter the phone number you wish to be called on. This number will be " "validated in the next step." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:37 +#: hypha/apply/users/templates/two_factor/core/setup.html:32 #: hypha/apply/users/templates/users/login.html:14 msgid "We are calling your phone right now, please enter the digits you hear." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:40 +#: hypha/apply/users/templates/two_factor/core/setup.html:35 #: hypha/apply/users/templates/users/login.html:17 msgid "We sent you a text message, please enter the tokens we sent." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:44 +#: hypha/apply/users/templates/two_factor/core/setup.html:39 msgid "" "We've encountered an issue with the selected authentication method. Please " "go back and verify that you entered your information correctly, try again, " @@ -5695,7 +5866,7 @@ msgid "" "contact the site administrator." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:51 +#: hypha/apply/users/templates/two_factor/core/setup.html:46 msgid "" "To identify and verify your YubiKey, please insert a token in the field " "below. Your YubiKey will be linked to your account." @@ -5846,11 +6017,15 @@ msgid "Enable Two-Factor Authentication" msgstr "" #: hypha/apply/users/templates/users/account.html:4 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:21 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:22 msgid "Account" msgstr "" -#: hypha/apply/users/templates/users/account.html:20 +#: hypha/apply/users/templates/users/account.html:9 +msgid "Manage your account details and security." +msgstr "" + +#: hypha/apply/users/templates/users/account.html:19 msgid "Profile" msgstr "" @@ -5858,25 +6033,25 @@ msgstr "" msgid "Update Profile" msgstr "" -#: hypha/apply/users/templates/users/account.html:34 +#: hypha/apply/users/templates/users/account.html:33 msgid "Account Security" msgstr "" -#: hypha/apply/users/templates/users/account.html:36 +#: hypha/apply/users/templates/users/account.html:35 #: hypha/apply/users/templates/users/change_password.html:3 msgid "Update password" msgstr "" -#: hypha/apply/users/templates/users/account.html:41 +#: hypha/apply/users/templates/users/account.html:40 msgid "Backup codes" msgstr "" -#: hypha/apply/users/templates/users/account.html:45 +#: hypha/apply/users/templates/users/account.html:44 msgid "Enable 2FA" msgstr "" #: hypha/apply/users/templates/users/account.html:53 -#: hypha/apply/users/templates/users/account.html:60 +#: hypha/apply/users/templates/users/account.html:61 msgid "Become" msgstr "" @@ -5920,6 +6095,7 @@ msgstr "" #: hypha/apply/users/templates/users/activation/email.txt:17 #: hypha/apply/users/templates/users/email_change/confirm_email.txt:10 +#: hypha/apply/users/templates/users/password_reset/email.txt:10 #, python-format msgid "" "Kind Regards,\n" @@ -5974,7 +6150,7 @@ msgstr "" #: hypha/apply/users/templates/users/email_change/confirm_password.html:4 #: hypha/apply/users/templates/users/email_change/confirm_password.html:5 -#: hypha/apply/users/views.py:174 +#: hypha/apply/users/views.py:211 msgid "Enter Password" msgstr "" @@ -5983,7 +6159,7 @@ msgid "Check your email" msgstr "" #: hypha/apply/users/templates/users/email_change/done.html:5 -#: hypha/apply/users/views.py:220 +#: hypha/apply/users/views.py:277 msgid "Verify Email" msgstr "" @@ -6016,6 +6192,21 @@ msgid "" "%(ORG_SHORT_NAME)s at" msgstr "" +#: hypha/apply/users/templates/users/email_change/update_info_email.html:4 +#, python-format +msgid "" +"There has been an attempt to change email of your account on the " +"%(org_long_name)s web site. If this action wasn't made by you, please " +"contact support at %(org_email)s " +msgstr "" + +#: hypha/apply/users/templates/users/email_change/update_info_email.html:7 +#, python-format +msgid "" +"Kind Regards,\n" +" The %(org_short_name)s Team" +msgstr "" + #: hypha/apply/users/templates/users/login.html:21 msgid "" "Please enter the 6-digit verification code generated by your Authenticator " @@ -6029,36 +6220,36 @@ msgid "" "manager." msgstr "" -#: hypha/apply/users/templates/users/login.html:54 +#: hypha/apply/users/templates/users/login.html:56 #, python-format msgid "Log in with your %(ORG_SHORT_NAME)s email" msgstr "" -#: hypha/apply/users/templates/users/login.html:60 +#: hypha/apply/users/templates/users/login.html:62 msgid "Create account" msgstr "" -#: hypha/apply/users/templates/users/login.html:62 +#: hypha/apply/users/templates/users/login.html:64 msgid "Forgot your password?" msgstr "" -#: hypha/apply/users/templates/users/login.html:71 +#: hypha/apply/users/templates/users/login.html:76 msgid "Or, alternatively, use one of your backup phones:" msgstr "" -#: hypha/apply/users/templates/users/login.html:86 +#: hypha/apply/users/templates/users/login.html:91 msgid "As a last resort, you can use a backup codes:" msgstr "" -#: hypha/apply/users/templates/users/login.html:88 +#: hypha/apply/users/templates/users/login.html:93 msgid "Use Backup Code" msgstr "" -#: hypha/apply/users/templates/users/login.html:101 +#: hypha/apply/users/templates/users/login.html:106 msgid "Verification Code" msgstr "" -#: hypha/apply/users/templates/users/login.html:105 +#: hypha/apply/users/templates/users/login.html:110 msgid "Backup Code" msgstr "" @@ -6089,11 +6280,11 @@ msgid "" "correctly." msgstr "" -#: hypha/apply/users/templates/users/password_reset/confirm.html:39 +#: hypha/apply/users/templates/users/password_reset/confirm.html:43 msgid "Reset" msgstr "" -#: hypha/apply/users/templates/users/password_reset/confirm.html:42 +#: hypha/apply/users/templates/users/password_reset/confirm.html:47 msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." @@ -6118,12 +6309,15 @@ msgstr "" msgid "Check your \"Spam\" folder, if you don't find the email in your inbox." msgstr "" -#: hypha/apply/users/templates/users/password_reset/email.txt:2 -msgid "Please follow the link below to reset your password:" +#: hypha/apply/users/templates/users/password_reset/email.txt:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(org_long_name)s." msgstr "" -#: hypha/apply/users/templates/users/password_reset/email.txt:7 -msgid "Your username (in case you've forgotten):" +#: hypha/apply/users/templates/users/password_reset/email.txt:6 +msgid "Please follow the link below to reset your password:" msgstr "" #: hypha/apply/users/templates/users/password_reset/form.html:22 @@ -6136,7 +6330,7 @@ msgid "" "password reset link." msgstr "" -#: hypha/apply/users/templates/users/password_reset/form.html:28 +#: hypha/apply/users/templates/users/password_reset/form.html:31 msgid "Send reset email" msgstr "" @@ -6164,24 +6358,24 @@ msgid "" "email." msgstr "" -#: hypha/apply/users/templates/users/register.html:29 +#: hypha/apply/users/templates/users/register.html:32 msgid "Already have an account?" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:23 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:24 msgid "Roles" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:71 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:99 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:72 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:100 msgid "Delete user" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 msgid "This account do not have 2FA enabled." msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 msgid "2FA already disabled" msgstr "" @@ -6223,28 +6417,28 @@ msgstr "" msgid "Email is already in use." msgstr "" -#: hypha/apply/users/views.py:205 +#: hypha/apply/users/views.py:243 msgid "Password Page timed out. Try changing the email again." msgstr "" -#: hypha/apply/users/views.py:226 +#: hypha/apply/users/views.py:283 msgid "Hijack feature is not enabled." msgstr "" -#: hypha/apply/users/views.py:258 +#: hypha/apply/users/views.py:316 #, python-brace-format msgid "Your email has been successfully updated to {email}!" msgstr "" -#: hypha/apply/utils/blocks.py:49 +#: hypha/apply/utils/blocks.py:47 msgid "Rich text field" msgstr "" -#: hypha/apply/utils/blocks.py:64 +#: hypha/apply/utils/blocks.py:62 msgid "Markdown text field" msgstr "" -#: hypha/apply/utils/blocks.py:83 +#: hypha/apply/utils/blocks.py:82 msgid " Required" msgstr "" @@ -6252,7 +6446,7 @@ msgstr "" msgid "Page size of downloadable Project and Submission PDFs" msgstr "" -#: hypha/apply/utils/views.py:265 +#: hypha/apply/utils/views.py:269 #, python-brace-format msgid "Page '{0}' can't be deleted because is in use in '{1}'." msgstr "" @@ -6277,36 +6471,36 @@ msgstr "" msgid "field type" msgstr "" -#: hypha/public/funds/models.py:55 hypha/public/funds/models.py:169 -#: hypha/public/news/models.py:114 hypha/public/standardpages/models.py:31 +#: hypha/public/funds/models.py:55 hypha/public/funds/models.py:185 +#: hypha/public/news/models.py:99 hypha/public/standardpages/models.py:31 msgid "Related pages" msgstr "" -#: hypha/public/funds/models.py:149 +#: hypha/public/funds/models.py:154 msgid "External link" msgstr "" -#: hypha/public/funds/models.py:150 +#: hypha/public/funds/models.py:159 msgid "Text to display on the button for external links" msgstr "" -#: hypha/public/funds/models.py:167 +#: hypha/public/funds/models.py:182 msgid "Link for lab application" msgstr "" -#: hypha/public/funds/models.py:189 hypha/public/funds/models.py:190 +#: hypha/public/funds/models.py:206 hypha/public/funds/models.py:207 msgid "Cannot link to both a Lab page and external link" msgstr "" -#: hypha/public/funds/models.py:195 hypha/public/funds/models.py:196 +#: hypha/public/funds/models.py:214 hypha/public/funds/models.py:215 msgid "Please provide a way for applicants to apply" msgstr "" -#: hypha/public/funds/models.py:201 +#: hypha/public/funds/models.py:223 msgid "Cannot customise the text for internal lab pages, leave blank" msgstr "" -#: hypha/public/funds/models.py:206 +#: hypha/public/funds/models.py:231 msgid "Please provide some text for the link button" msgstr "" @@ -6322,27 +6516,27 @@ msgstr "" msgid "The first word will be bold" msgstr "" -#: hypha/public/home/models.py:106 +#: hypha/public/home/models.py:116 msgid "Introduction" msgstr "" -#: hypha/public/home/models.py:111 +#: hypha/public/home/models.py:124 msgid "News" msgstr "" -#: hypha/public/home/models.py:117 +#: hypha/public/home/models.py:133 msgid "Our Work" msgstr "" -#: hypha/public/home/models.py:121 +#: hypha/public/home/models.py:140 msgid "Promoted Funds" msgstr "" -#: hypha/public/home/models.py:128 +#: hypha/public/home/models.py:152 msgid "Promoted Labs" msgstr "" -#: hypha/public/home/models.py:135 +#: hypha/public/home/models.py:164 msgid "Promoted RFPs" msgstr "" @@ -6366,59 +6560,59 @@ msgstr "" msgid "Sign up" msgstr "" -#: hypha/public/mailchimp/views.py:80 +#: hypha/public/mailchimp/views.py:86 msgid "Sorry, there were errors with your form." msgstr "" -#: hypha/public/mailchimp/views.py:85 +#: hypha/public/mailchimp/views.py:91 msgid "Sorry, there has been an problem. Please try again later." msgstr "" -#: hypha/public/mailchimp/views.py:92 +#: hypha/public/mailchimp/views.py:98 msgid "Thank you for subscribing" msgstr "" -#: hypha/public/navigation/models.py:13 +#: hypha/public/navigation/models.py:14 msgid "Leave blank to use the page's own title" msgstr "" -#: hypha/public/navigation/models.py:24 +#: hypha/public/navigation/models.py:28 msgid "Main site navigation" msgstr "" -#: hypha/public/news/blocks.py:10 +#: hypha/public/news/blocks.py:11 msgid "" "Please enter only table id from embed code. Table widget code creates " "automatically." msgstr "" -#: hypha/public/news/models.py:94 +#: hypha/public/news/models.py:78 msgid "" "Use this field to override the date that the news item appears to have been " "published." msgstr "" -#: hypha/public/news/models.py:109 +#: hypha/public/news/models.py:94 msgid "Authors" msgstr "" -#: hypha/public/news/models.py:112 +#: hypha/public/news/models.py:97 msgid "News types" msgstr "" -#: hypha/public/news/models.py:113 +#: hypha/public/news/models.py:98 msgid "Mentioned project" msgstr "" -#: hypha/public/news/models.py:172 +#: hypha/public/news/models.py:163 msgid "The title of the main news feed." msgstr "" -#: hypha/public/news/models.py:173 +#: hypha/public/news/models.py:166 msgid "The description of the main news feed." msgstr "" -#: hypha/public/news/models.py:176 +#: hypha/public/news/models.py:172 #, python-brace-format msgid "" "The title of the news feed by type. Use {news_type} to insert the type name." @@ -6431,150 +6625,152 @@ msgid "" "name." msgstr "" -#: hypha/public/partner/models.py:50 +#: hypha/public/partner/models.py:47 msgid "Partner Page" msgstr "" -#: hypha/public/partner/models.py:121 +#: hypha/public/partner/models.py:116 msgid "Investment Category Settings" msgstr "" -#: hypha/public/partner/models.py:125 +#: hypha/public/partner/models.py:120 msgid "Select the categories that should be used in investments." msgstr "" -#: hypha/public/partner/models.py:199 +#: hypha/public/partner/models.py:186 msgid "Use format: " msgstr "" -#: hypha/public/partner/models.py:205 hypha/public/partner/tables.py:48 +#: hypha/public/partner/models.py:192 hypha/public/partner/tables.py:52 #, python-brace-format msgid "Amount Committed ({currency})" msgstr "" -#: hypha/public/partner/tables.py:58 +#: hypha/public/partner/tables.py:64 msgid "Items per page" msgstr "" -#: hypha/public/partner/tables.py:59 +#: hypha/public/partner/tables.py:65 msgid "Per page" msgstr "" -#: hypha/public/partner/tables.py:98 -msgid "Partner" -msgstr "" - -#: hypha/public/partner/tables.py:99 +#: hypha/public/partner/tables.py:112 msgid "Year" msgstr "" -#: hypha/public/partner/tables.py:101 +#: hypha/public/partner/tables.py:114 msgid "Amount Committed" msgstr "" -#: hypha/public/partner/tables.py:114 +#: hypha/public/partner/tables.py:127 msgid "No investments available" msgstr "" -#: hypha/public/people/models.py:96 +#: hypha/public/people/models.py:93 msgid "Other" msgstr "" -#: hypha/public/people/models.py:179 +#: hypha/public/people/models.py:197 msgid "Name" msgstr "" -#: hypha/public/people/models.py:183 +#: hypha/public/people/models.py:202 msgid "Social accounts" msgstr "" -#: hypha/public/people/models.py:187 +#: hypha/public/people/models.py:207 msgid "Other Contact Methods" msgstr "" -#: hypha/public/people/models.py:188 +#: hypha/public/people/models.py:209 msgid "Contact information" msgstr "" -#: hypha/public/people/models.py:189 +#: hypha/public/people/models.py:211 msgid "Person types" msgstr "" -#: hypha/public/people/models.py:192 +#: hypha/public/people/models.py:214 msgid "Funds Reviewed" msgstr "" -#: hypha/public/projects/models.py:129 +#: hypha/public/projects/models.py:132 msgid "Contact Details" msgstr "" -#: hypha/public/projects/models.py:131 +#: hypha/public/projects/models.py:136 msgid "Related Projects" msgstr "" -#: hypha/public/projects/models.py:134 +#: hypha/public/projects/models.py:139 msgid "Categories" msgstr "" -#: hypha/public/utils/models.py:129 +#: hypha/public/utils/models.py:155 msgid "" "Choose the image you wish to be displayed when this page appears in listings" msgstr "" -#: hypha/public/utils/models.py:131 +#: hypha/public/utils/models.py:161 msgid "Override the page title used when this page appears in listings" msgstr "" -#: hypha/public/utils/models.py:132 +#: hypha/public/utils/models.py:167 msgid "" "The text summary used when this page appears in listings. It's also used as " "the description for search engines if the 'Search description' field above " "is not defined." msgstr "" -#: hypha/public/utils/models.py:210 +#: hypha/public/utils/models.py:268 msgid "Your Twitter username without the @, e.g. katyperry" msgstr "" -#: hypha/public/utils/models.py:215 +#: hypha/public/utils/models.py:273 msgid "Your Facebook app ID." msgstr "" -#: hypha/public/utils/models.py:220 +#: hypha/public/utils/models.py:279 msgid "Default sharing text to use if social text has not been set on a page." msgstr "" -#: hypha/public/utils/models.py:226 +#: hypha/public/utils/models.py:286 msgid "Site name, used by Open Graph." msgstr "" -#: hypha/public/utils/models.py:244 +#: hypha/public/utils/models.py:303 msgid "Default site logo" msgstr "" -#: hypha/public/utils/models.py:253 +#: hypha/public/utils/models.py:312 msgid "Mobil site logo (if not set default will be used)" msgstr "" -#: hypha/public/utils/models.py:259 +#: hypha/public/utils/models.py:319 msgid "" "Link for the site logo, e.g. \"https://www.example.org/\". If not set, " "defaults to page with slug set to \"home\"." msgstr "" -#: hypha/public/utils/models.py:265 +#: hypha/public/utils/models.py:326 +msgid "" +"This will overwrite the default front page navigation bar, html tags is " +"allowed." +msgstr "" + +#: hypha/public/utils/models.py:334 msgid "This will be added to the footer, html tags is allowed." msgstr "" -#: hypha/public/utils/models.py:325 +#: hypha/public/utils/models.py:397 msgid "In months" msgstr "" -#: hypha/public/utils/models.py:351 +#: hypha/public/utils/models.py:426 msgid "Funding" msgstr "" -#: hypha/templates/base-apply.html:134 hypha/templates/base-apply.html:160 +#: hypha/templates/base-apply.html:143 hypha/templates/base-apply.html:169 msgid "Log out" msgstr "" diff --git a/hypha/locale/en/LC_MESSAGES/django.po b/hypha/locale/en/LC_MESSAGES/django.po index afc2374818..f67ce5623e 100644 --- a/hypha/locale/en/LC_MESSAGES/django.po +++ b/hypha/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-11 09:49+0000\n" +"POT-Creation-Date: 2023-11-01 17:19+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,170 +18,179 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: hypha/apply/activity/adapters/activity_feed.py:21 +#: hypha/apply/activity/adapters/activity_feed.py:25 #, python-brace-format msgid "Submitted {source.title} for {source.page.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:22 -#: hypha/apply/activity/adapters/activity_feed.py:23 +#: hypha/apply/activity/adapters/activity_feed.py:26 +#: hypha/apply/activity/adapters/activity_feed.py:27 msgid "Edited" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:24 -#: hypha/apply/activity/adapters/activity_feed.py:38 +#: hypha/apply/activity/adapters/activity_feed.py:28 +#: hypha/apply/activity/adapters/activity_feed.py:50 #, python-brace-format msgid "Lead changed from {old_lead} to {source.lead}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:25 +#: hypha/apply/activity/adapters/activity_feed.py:29 #, python-brace-format msgid "Batch Lead changed to {new_lead}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:26 +#: hypha/apply/activity/adapters/activity_feed.py:31 #, python-brace-format msgid "Sent a determination. Outcome: {determination.clean_outcome}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:28 +#: hypha/apply/activity/adapters/activity_feed.py:34 msgid "Invited to submit a proposal" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:32 +#: hypha/apply/activity/adapters/activity_feed.py:38 msgid "Submitted a review" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:33 +#: hypha/apply/activity/adapters/activity_feed.py:39 msgid "Opened the submission while still sealed" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:35 +#: hypha/apply/activity/adapters/activity_feed.py:42 #, python-brace-format msgid "" "{user} {opinion.opinion_display}s with {opinion.review.author}s review of " "{source}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:36 -msgid "Created" +#: hypha/apply/activity/adapters/activity_feed.py:45 +#, python-brace-format +msgid "{user} deleted the opinion for review: {review_opinion.review}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:37 -#, python-brace-format -msgid "Progressed from {old_stage} to {source.status_display}" +#: hypha/apply/activity/adapters/activity_feed.py:47 +msgid "Created project" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:39 +#: hypha/apply/activity/adapters/activity_feed.py:52 msgid "Requested approval" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:40 -#: hypha/apply/determinations/options.py:12 hypha/apply/projects/utils.py:116 +#: hypha/apply/activity/adapters/activity_feed.py:54 +#: hypha/apply/determinations/options.py:12 hypha/apply/projects/utils.py:133 msgid "Approved" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:41 +#: hypha/apply/activity/adapters/activity_feed.py:56 #, python-brace-format msgid "Requested changes for acceptance: \"{comment}\"" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:42 +#: hypha/apply/activity/adapters/activity_feed.py:58 msgid "Submitted Contract Documents" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:43 +#: hypha/apply/activity/adapters/activity_feed.py:59 #, python-brace-format msgid "Uploaded a {contract.state} contract" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:44 +#: hypha/apply/activity/adapters/activity_feed.py:60 msgid "Approved contract" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:46 -#: hypha/apply/projects/views/payment.py:218 +#: hypha/apply/activity/adapters/activity_feed.py:62 +#: hypha/apply/projects/views/payment.py:227 msgid "Invoice added" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:47 +#: hypha/apply/activity/adapters/activity_feed.py:63 msgid "Submitted a report" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:50 +#: hypha/apply/activity/adapters/activity_feed.py:66 #: hypha/apply/activity/adapters/django_messages.py:20 msgid "Reporting disabled" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:53 -#: hypha/apply/activity/adapters/slack.py:72 +#: hypha/apply/activity/adapters/activity_feed.py:70 +#: hypha/apply/activity/adapters/slack.py:131 #, python-brace-format msgid "{user} has archived the submission: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:54 -#: hypha/apply/activity/adapters/slack.py:73 +#: hypha/apply/activity/adapters/activity_feed.py:73 +#: hypha/apply/activity/adapters/slack.py:134 #, python-brace-format msgid "{user} has unarchived the submission: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:89 +#: hypha/apply/activity/adapters/activity_feed.py:75 +msgid "Deleted an invoice" +msgstr "" + +#: hypha/apply/activity/adapters/activity_feed.py:124 msgid "Reviewers updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:91 -#: hypha/apply/activity/adapters/activity_feed.py:176 -#: hypha/apply/activity/adapters/slack.py:180 +#: hypha/apply/activity/adapters/activity_feed.py:126 +#: hypha/apply/activity/adapters/activity_feed.py:246 +#: hypha/apply/activity/adapters/slack.py:241 msgid "Added:" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:95 -#: hypha/apply/activity/adapters/activity_feed.py:180 -#: hypha/apply/activity/adapters/slack.py:184 +#: hypha/apply/activity/adapters/activity_feed.py:130 +#: hypha/apply/activity/adapters/activity_feed.py:250 +#: hypha/apply/activity/adapters/slack.py:245 msgid "Removed:" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:101 +#: hypha/apply/activity/adapters/activity_feed.py:136 msgid "Batch Reviewers Updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:104 +#: hypha/apply/activity/adapters/activity_feed.py:139 #, python-brace-format msgid "{user} as {name}." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:121 +#: hypha/apply/activity/adapters/activity_feed.py:156 #, python-brace-format msgid "Successfully deleted submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:128 +#: hypha/apply/activity/adapters/activity_feed.py:163 #, python-brace-format msgid "Successfully archived submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:134 +#: hypha/apply/activity/adapters/activity_feed.py:178 +msgid "PAF assigned to {}" +msgstr "" + +#: hypha/apply/activity/adapters/activity_feed.py:183 +#: hypha/apply/activity/adapters/activity_feed.py:215 #, python-brace-format msgid "Progressed from {old_display} to {new_display}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:174 +#: hypha/apply/activity/adapters/activity_feed.py:244 msgid "Partners updated." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:188 +#: hypha/apply/activity/adapters/activity_feed.py:258 #, python-brace-format msgid "" "Updated reporting frequency. New schedule is: {new_schedule} starting on " "{schedule_start}" msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:198 +#: hypha/apply/activity/adapters/activity_feed.py:268 #, python-brace-format msgid "Updated Invoice status to: {invoice_status}." msgstr "" -#: hypha/apply/activity/adapters/activity_feed.py:246 +#: hypha/apply/activity/adapters/activity_feed.py:311 #, python-brace-format msgid "Screening decision from {old_status} to {new_status}" msgstr "" @@ -198,35 +207,35 @@ msgstr "" msgid "Reminder deleted" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:27 -#: hypha/apply/activity/adapters/slack.py:205 +#: hypha/apply/activity/adapters/django_messages.py:28 +#: hypha/apply/activity/adapters/slack.py:266 #, python-brace-format msgid "{user} as {name}," msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:33 +#: hypha/apply/activity/adapters/django_messages.py:34 #, python-brace-format msgid "Batch reviewers added: {reviewers_text} to " msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:38 +#: hypha/apply/activity/adapters/django_messages.py:41 #, python-brace-format msgid "" "Successfully updated reporting frequency. They will now report " "{new_schedule} starting on {schedule_start}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:42 +#: hypha/apply/activity/adapters/django_messages.py:47 #, python-brace-format msgid "Successfully skipped a Report for {start_date} to {end_date}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:44 +#: hypha/apply/activity/adapters/django_messages.py:51 #, python-brace-format msgid "Successfully unskipped a Report for {start_date} to {end_date}" msgstr "" -#: hypha/apply/activity/adapters/django_messages.py:63 +#: hypha/apply/activity/adapters/django_messages.py:72 #, python-brace-format msgid "Successfully determined as {outcome}: " msgstr "" @@ -245,283 +254,290 @@ msgstr "" msgid "Reminder: Application ready to review: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:90 +#: hypha/apply/activity/adapters/emails.py:93 #, python-brace-format msgid "Project is waiting for approval: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:92 +#: hypha/apply/activity/adapters/emails.py:97 #, python-brace-format msgid "Contract uploaded for the project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:94 +#: hypha/apply/activity/adapters/emails.py:102 #, python-brace-format msgid "Contract Documents required approval for the project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:101 +#: hypha/apply/activity/adapters/emails.py:112 #, python-brace-format msgid "Project is waiting for the contract: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:103 +#: hypha/apply/activity/adapters/emails.py:116 #, python-brace-format msgid "Project is ready for invoicing: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:105 +#: hypha/apply/activity/adapters/emails.py:120 #, python-brace-format -msgid "Project status has changed to {source.status}: {source.title}" +msgid "Project status has changed to {project_status}: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:107 +#: hypha/apply/activity/adapters/emails.py:126 msgid "Project has been rejected, please update and resubmit" msgstr "" -#: hypha/apply/activity/adapters/emails.py:109 +#: hypha/apply/activity/adapters/emails.py:129 #, python-brace-format msgid "Project documents are ready to be assigned for approval: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:113 +#: hypha/apply/activity/adapters/emails.py:136 #, python-brace-format msgid "Your application to {org_long_name}: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/emails.py:116 +#: hypha/apply/activity/adapters/emails.py:139 #, python-brace-format msgid "Your {org_long_name} Project: {source.title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:32 +#: hypha/apply/activity/adapters/slack.py:34 #, python-brace-format msgid "" "A new submission has been submitted for {source.page.title}: <{link}|{source." "title}> by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:33 +#: hypha/apply/activity/adapters/slack.py:37 #, python-brace-format msgid "" "The lead of <{link}|{source.title}> has been updated from {old_lead} to " "{source.lead} by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:35 +#: hypha/apply/activity/adapters/slack.py:41 #, python-brace-format msgid "" "A new {comment.visibility} comment has been posted on <{link}|{source.title}" "> by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:36 -#: hypha/apply/activity/adapters/slack.py:37 +#: hypha/apply/activity/adapters/slack.py:43 +#: hypha/apply/activity/adapters/slack.py:44 #, python-brace-format msgid "{user} has edited <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:40 +#: hypha/apply/activity/adapters/slack.py:48 #, python-brace-format msgid "{user} has updated the partners on <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:41 +#: hypha/apply/activity/adapters/slack.py:51 #, python-brace-format msgid "" "{user} has updated the status of <{link}|{source.title}>: {old_phase." "display_name} → {source.phase}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:45 +#: hypha/apply/activity/adapters/slack.py:57 #, python-brace-format msgid "A proposal has been submitted for review: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:46 +#: hypha/apply/activity/adapters/slack.py:60 #, python-brace-format msgid "" "<{link}|{source.title}> by {source.user} has been invited to submit a " "proposal" msgstr "" -#: hypha/apply/activity/adapters/slack.py:47 +#: hypha/apply/activity/adapters/slack.py:63 #, python-brace-format msgid "" "{user} has submitted a review for <{link}|{source.title}>. Outcome: {review." "outcome}, Score: {review.get_score_display}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:49 +#: hypha/apply/activity/adapters/slack.py:67 #, python-brace-format msgid "{user} has opened the sealed submission: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:50 +#: hypha/apply/activity/adapters/slack.py:70 #, python-brace-format msgid "" "{user} {opinion.opinion_display}s with {opinion.review.author}s review of " "<{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:52 +#: hypha/apply/activity/adapters/slack.py:73 #, python-brace-format msgid "{user} has deleted {source.title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:53 +#: hypha/apply/activity/adapters/slack.py:75 #, python-brace-format msgid "{user} has deleted {review.author} review for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:54 +#: hypha/apply/activity/adapters/slack.py:78 +#, python-brace-format +msgid "" +"{user} has deleted {review_opinion.author} review opinion for <{link}|" +"{source.title}>" +msgstr "" + +#: hypha/apply/activity/adapters/slack.py:81 #, python-brace-format msgid "{user} has created a Project: <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:55 +#: hypha/apply/activity/adapters/slack.py:84 #, python-brace-format msgid "" "The lead of project <{link}|{source.title}> has been updated from {old_lead} " "to {source.lead} by {user}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:56 +#: hypha/apply/activity/adapters/slack.py:87 #, python-brace-format msgid "{user} has edited {review.author} review for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:57 +#: hypha/apply/activity/adapters/slack.py:90 #, python-brace-format msgid "{user} has requested approval on project <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:58 +#: hypha/apply/activity/adapters/slack.py:93 #, python-brace-format msgid "{user} has approved project <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:59 +#: hypha/apply/activity/adapters/slack.py:96 #, python-brace-format msgid "" "{user} has requested changes for project acceptance on <{link}|{source.title}" ">" msgstr "" -#: hypha/apply/activity/adapters/slack.py:60 +#: hypha/apply/activity/adapters/slack.py:99 #, python-brace-format msgid "{user} has uploaded a contract for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:61 +#: hypha/apply/activity/adapters/slack.py:102 #, python-brace-format msgid "" "{user} has submitted the contracting document for project <{link}|{source." "title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:62 +#: hypha/apply/activity/adapters/slack.py:105 #, python-brace-format msgid "{user} has approved contract for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:63 +#: hypha/apply/activity/adapters/slack.py:108 #, python-brace-format msgid "{user} has created invoice for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:64 +#: hypha/apply/activity/adapters/slack.py:111 #, python-brace-format msgid "" "{user} has changed the status of <{link_related}|invoice> on <{link}|{source." "title}> to {invoice.status_display}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:65 +#: hypha/apply/activity/adapters/slack.py:114 #, python-brace-format msgid "{user} has deleted invoice from <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:66 +#: hypha/apply/activity/adapters/slack.py:117 #, python-brace-format msgid "{user} has updated invoice for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:67 +#: hypha/apply/activity/adapters/slack.py:120 #, python-brace-format msgid "{user} has submitted a report for <{link}|{source.title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:69 +#: hypha/apply/activity/adapters/slack.py:124 #, python-brace-format msgid "{user} has created a new account for <{link}|{source}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:70 +#: hypha/apply/activity/adapters/slack.py:127 #, python-brace-format msgid "" "{user} has edited account for <{link}|{source}> that now has following " "roles: {roles}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:174 +#: hypha/apply/activity/adapters/slack.py:235 #, python-brace-format msgid "{user} has updated the reviewers on <{link}|{title}>" msgstr "" -#: hypha/apply/activity/adapters/slack.py:193 +#: hypha/apply/activity/adapters/slack.py:254 #, python-brace-format msgid "{user} has batch changed lead to {new_lead} on: {submissions_text}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:211 +#: hypha/apply/activity/adapters/slack.py:272 #, python-brace-format msgid "" "{user} has batch added {reviewers_text} as reviewers on: {submissions_text}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:231 +#: hypha/apply/activity/adapters/slack.py:292 #, python-brace-format msgid "{user} has transitioned the following submissions: {submissions_links}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:241 +#: hypha/apply/activity/adapters/slack.py:302 #, python-brace-format msgid "" "A determination for <{link}|{submission_title}> was sent by email. Outcome: " "{determination_outcome}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:248 +#: hypha/apply/activity/adapters/slack.py:309 #, python-brace-format msgid "" "A determination for <{link}|{submission_title}> was saved without sending an " "email. Outcome: {determination_outcome}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:264 +#: hypha/apply/activity/adapters/slack.py:325 #, python-brace-format msgid "Determinations of {outcome} was sent for: {submissions_links}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:273 +#: hypha/apply/activity/adapters/slack.py:334 #, python-brace-format msgid "{user} has deleted submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:280 +#: hypha/apply/activity/adapters/slack.py:341 #, python-brace-format msgid "{user} has archived submissions: {title}" msgstr "" -#: hypha/apply/activity/adapters/slack.py:294 +#: hypha/apply/activity/adapters/slack.py:355 #, python-brace-format msgid "" "<{link}|{title}> is ready for review. The following are assigned as " "reviewers: {reviewers}" msgstr "" -#: hypha/apply/activity/adapters/utils.py:43 +#: hypha/apply/activity/adapters/utils.py:44 #, python-brace-format msgid " as {role}" msgstr "" @@ -550,7 +566,7 @@ msgstr "" msgid "Activities Summary - " msgstr "" -#: hypha/apply/activity/models.py:168 +#: hypha/apply/activity/models.py:199 msgid "verb" msgstr "" @@ -594,203 +610,207 @@ msgstr "" msgid "sent determination outcome" msgstr "" -#: hypha/apply/activity/options.py:17 +#: hypha/apply/activity/options.py:18 msgid "sent batch determination outcome" msgstr "" -#: hypha/apply/activity/options.py:18 +#: hypha/apply/activity/options.py:20 msgid "invited to proposal" msgstr "" -#: hypha/apply/activity/options.py:19 +#: hypha/apply/activity/options.py:21 msgid "updated reviewers" msgstr "" -#: hypha/apply/activity/options.py:20 +#: hypha/apply/activity/options.py:22 msgid "batch updated reviewers" msgstr "" -#: hypha/apply/activity/options.py:21 +#: hypha/apply/activity/options.py:23 msgid "updated partners" msgstr "" -#: hypha/apply/activity/options.py:22 +#: hypha/apply/activity/options.py:24 msgid "partners updated partner" msgstr "" -#: hypha/apply/activity/options.py:23 +#: hypha/apply/activity/options.py:25 msgid "marked ready for review" msgstr "" -#: hypha/apply/activity/options.py:24 +#: hypha/apply/activity/options.py:27 msgid "marked batch ready for review" msgstr "" -#: hypha/apply/activity/options.py:25 +#: hypha/apply/activity/options.py:29 msgid "added new review" msgstr "" -#: hypha/apply/activity/options.py:26 +#: hypha/apply/activity/options.py:30 msgid "added comment" msgstr "" -#: hypha/apply/activity/options.py:27 +#: hypha/apply/activity/options.py:31 msgid "submitted proposal" msgstr "" -#: hypha/apply/activity/options.py:28 +#: hypha/apply/activity/options.py:32 msgid "opened sealed submission" msgstr "" -#: hypha/apply/activity/options.py:29 +#: hypha/apply/activity/options.py:33 msgid "reviewed opinion" msgstr "" -#: hypha/apply/activity/options.py:30 +#: hypha/apply/activity/options.py:34 msgid "deleted submission" msgstr "" -#: hypha/apply/activity/options.py:31 +#: hypha/apply/activity/options.py:35 msgid "deleted review" msgstr "" -#: hypha/apply/activity/options.py:32 +#: hypha/apply/activity/options.py:36 +msgid "deleted review opinion" +msgstr "" + +#: hypha/apply/activity/options.py:37 msgid "created project" msgstr "" -#: hypha/apply/activity/options.py:33 +#: hypha/apply/activity/options.py:38 msgid "updated contracting information" msgstr "" -#: hypha/apply/activity/options.py:34 +#: hypha/apply/activity/options.py:39 msgid "updated project lead" msgstr "" -#: hypha/apply/activity/options.py:35 +#: hypha/apply/activity/options.py:40 msgid "edited review" msgstr "" -#: hypha/apply/activity/options.py:36 +#: hypha/apply/activity/options.py:41 msgid "sent for approval" msgstr "" -#: hypha/apply/activity/options.py:37 +#: hypha/apply/activity/options.py:42 msgid "approved project" msgstr "" -#: hypha/apply/activity/options.py:38 +#: hypha/apply/activity/options.py:43 msgid "assign paf approver" msgstr "" -#: hypha/apply/activity/options.py:39 +#: hypha/apply/activity/options.py:44 msgid "approved paf" msgstr "" -#: hypha/apply/activity/options.py:40 +#: hypha/apply/activity/options.py:45 msgid "transitioned project" msgstr "" -#: hypha/apply/activity/options.py:41 +#: hypha/apply/activity/options.py:46 msgid "requested project change" msgstr "" -#: hypha/apply/activity/options.py:42 +#: hypha/apply/activity/options.py:48 msgid "submitted contract documents" msgstr "" -#: hypha/apply/activity/options.py:43 +#: hypha/apply/activity/options.py:50 msgid "uploaded document to project" msgstr "" -#: hypha/apply/activity/options.py:44 +#: hypha/apply/activity/options.py:51 msgid "removed document from project" msgstr "" -#: hypha/apply/activity/options.py:45 +#: hypha/apply/activity/options.py:52 msgid "uploaded contract to project" msgstr "" -#: hypha/apply/activity/options.py:46 +#: hypha/apply/activity/options.py:53 msgid "approved contract" msgstr "" -#: hypha/apply/activity/options.py:47 +#: hypha/apply/activity/options.py:54 msgid "created invoice for project" msgstr "" -#: hypha/apply/activity/options.py:48 +#: hypha/apply/activity/options.py:55 msgid "updated invoice status" msgstr "" -#: hypha/apply/activity/options.py:49 +#: hypha/apply/activity/options.py:56 msgid "approve invoice" msgstr "" -#: hypha/apply/activity/options.py:50 +#: hypha/apply/activity/options.py:57 msgid "deleted invoice" msgstr "" -#: hypha/apply/activity/options.py:51 +#: hypha/apply/activity/options.py:58 msgid "sent project to compliance" msgstr "" -#: hypha/apply/activity/options.py:52 +#: hypha/apply/activity/options.py:59 msgid "updated invoice" msgstr "" -#: hypha/apply/activity/options.py:53 +#: hypha/apply/activity/options.py:60 msgid "submitted report" msgstr "" -#: hypha/apply/activity/options.py:54 +#: hypha/apply/activity/options.py:61 msgid "skipped report" msgstr "" -#: hypha/apply/activity/options.py:55 +#: hypha/apply/activity/options.py:62 msgid "changed report frequency" msgstr "" -#: hypha/apply/activity/options.py:56 +#: hypha/apply/activity/options.py:63 msgid "disabled reporting" msgstr "" -#: hypha/apply/activity/options.py:57 +#: hypha/apply/activity/options.py:64 msgid "notified report" msgstr "" -#: hypha/apply/activity/options.py:58 +#: hypha/apply/activity/options.py:65 msgid "created reminder" msgstr "" -#: hypha/apply/activity/options.py:59 +#: hypha/apply/activity/options.py:66 msgid "deleted reminder" msgstr "" -#: hypha/apply/activity/options.py:60 +#: hypha/apply/activity/options.py:67 msgid "reminder to review" msgstr "" -#: hypha/apply/activity/options.py:61 +#: hypha/apply/activity/options.py:68 msgid "batch deleted submissions" msgstr "" -#: hypha/apply/activity/options.py:62 +#: hypha/apply/activity/options.py:70 msgid "batch archive submissions" msgstr "" -#: hypha/apply/activity/options.py:63 +#: hypha/apply/activity/options.py:72 msgid "created new account" msgstr "" -#: hypha/apply/activity/options.py:64 +#: hypha/apply/activity/options.py:73 msgid "edited account" msgstr "" -#: hypha/apply/activity/options.py:65 +#: hypha/apply/activity/options.py:74 msgid "archived submission" msgstr "" -#: hypha/apply/activity/options.py:66 +#: hypha/apply/activity/options.py:75 msgid "unarchived submission" msgstr "" @@ -799,33 +819,35 @@ msgid "There are no actions." msgstr "" #: hypha/apply/activity/templates/activity/include/comment_form.html:5 -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:50 -#: hypha/apply/funds/views.py:1163 hypha/apply/funds/workflow.py:217 -#: hypha/apply/funds/workflow.py:245 hypha/apply/funds/workflow.py:288 -#: hypha/apply/funds/workflow.py:344 hypha/apply/funds/workflow.py:370 -#: hypha/apply/funds/workflow.py:408 hypha/apply/funds/workflow.py:446 -#: hypha/apply/funds/workflow.py:499 hypha/apply/funds/workflow.py:527 -#: hypha/apply/funds/workflow.py:587 hypha/apply/funds/workflow.py:625 -#: hypha/apply/funds/workflow.py:678 hypha/apply/funds/workflow.py:705 -#: hypha/apply/funds/workflow.py:747 hypha/apply/funds/workflow.py:794 -#: hypha/apply/funds/workflow.py:820 hypha/apply/funds/workflow.py:861 -#: hypha/apply/funds/workflow.py:900 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:44 +#: hypha/apply/funds/views.py:1270 hypha/apply/funds/workflow.py:249 +#: hypha/apply/funds/workflow.py:277 hypha/apply/funds/workflow.py:327 +#: hypha/apply/funds/workflow.py:388 hypha/apply/funds/workflow.py:414 +#: hypha/apply/funds/workflow.py:459 hypha/apply/funds/workflow.py:502 +#: hypha/apply/funds/workflow.py:564 hypha/apply/funds/workflow.py:592 +#: hypha/apply/funds/workflow.py:661 hypha/apply/funds/workflow.py:704 +#: hypha/apply/funds/workflow.py:766 hypha/apply/funds/workflow.py:793 +#: hypha/apply/funds/workflow.py:842 hypha/apply/funds/workflow.py:899 +#: hypha/apply/funds/workflow.py:928 hypha/apply/funds/workflow.py:976 +#: hypha/apply/funds/workflow.py:1020 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:25 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:210 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:220 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:211 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:221 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:235 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:259 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:283 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:298 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:308 -#: hypha/apply/projects/templates/application_projects/report_form.html:46 -#: hypha/apply/projects/templates/application_projects/report_form.html:66 -#: hypha/apply/projects/templates/application_projects/vendor_form.html:27 -#: hypha/apply/review/templates/review/review_edit_form.html:42 -#: hypha/apply/review/templates/review/review_form.html:43 -#: hypha/apply/users/templates/users/change_password.html:42 -#: hypha/apply/users/templates/users/email_change/confirm_password.html:35 -#: hypha/apply/users/templates/users/register.html:25 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:135 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:148 +#: hypha/apply/projects/templates/application_projects/report_form.html:47 +#: hypha/apply/projects/templates/application_projects/report_form.html:67 +#: hypha/apply/projects/templates/application_projects/vendor_form.html:26 +#: hypha/apply/review/templates/review/review_edit_form.html:43 +#: hypha/apply/review/templates/review/review_form.html:44 +#: hypha/apply/users/templates/users/change_password.html:46 +#: hypha/apply/users/templates/users/email_change/confirm_password.html:36 +#: hypha/apply/users/templates/users/register.html:28 msgid "Submit" msgstr "" @@ -834,26 +856,27 @@ msgid "No comments available" msgstr "" #: hypha/apply/activity/templates/activity/include/listing_base.html:15 -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:38 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:57 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:39 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:69 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:46 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:64 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:25 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:63 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:27 #: hypha/apply/funds/templates/funds/admin/widgets/read_only.html:2 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:107 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:106 +#: hypha/apply/funds/templates/funds/includes/rendered_answers.html:19 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:40 #: hypha/apply/projects/templates/application_projects/includes/reports.html:74 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:98 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:126 #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/report_detail.html:59 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:23 -#: hypha/apply/review/templates/review/review_detail.html:42 +#: hypha/apply/projects/templates/application_projects/report_detail.html:60 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:24 +#: hypha/apply/review/templates/review/review_detail.html:45 msgid "Edit" msgstr "" #: hypha/apply/activity/templates/activity/include/listing_base.html:21 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:34 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:39 msgid "Last edited" msgstr "" @@ -867,7 +890,7 @@ msgstr "" #: hypha/apply/activity/templates/activity/include/notifications_dropdown.html:6 #: hypha/apply/activity/templates/activity/notifications.html:8 -#: hypha/templates/base-apply.html:143 +#: hypha/templates/base-apply.html:152 msgid "Notifications" msgstr "" @@ -881,19 +904,19 @@ msgid "made a comment" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:11 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:104 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:106 #: hypha/apply/users/templates/wagtailusers/users/results.html:40 msgid "Filter" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:18 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:49 -#: hypha/apply/projects/templates/application_projects/project_detail.html:78 +#: hypha/apply/projects/templates/application_projects/project_detail.html:79 msgid "Communications" msgstr "" #: hypha/apply/activity/templates/activity/notifications.html:22 -#: hypha/apply/projects/templates/application_projects/project_detail.html:93 +#: hypha/apply/projects/templates/application_projects/project_detail.html:94 msgid "Activity Feed" msgstr "" @@ -1001,6 +1024,8 @@ msgstr "" #: hypha/apply/activity/templates/messages/email/base.html:2 #: hypha/apply/users/templates/users/activation/email.txt:2 #: hypha/apply/users/templates/users/email_change/confirm_email.txt:2 +#: hypha/apply/users/templates/users/email_change/update_info_email.html:2 +#: hypha/apply/users/templates/users/password_reset/email.txt:2 #, python-format msgid "Dear %(user)s," msgstr "" @@ -1009,7 +1034,7 @@ msgstr "" #, python-format msgid "" "Kind Regards,\n" -"The %(ORG_SHORT_NAME)s Team" +" The %(ORG_SHORT_NAME)s Team" msgstr "" #: hypha/apply/activity/templates/messages/email/batch_ready_to_review.html:4 @@ -1153,7 +1178,7 @@ msgid "A Project is waiting for contract" msgstr "" #: hypha/apply/activity/templates/messages/email/ready_for_contracting.html:11 -#: hypha/apply/funds/models/utils.py:137 +#: hypha/apply/funds/models/utils.py:146 msgid "Project Approval Form" msgstr "" @@ -1322,8 +1347,8 @@ msgid "" msgstr "" #: hypha/apply/activity/templates/messages/email/vendor_setup_needed.html:11 -#: hypha/apply/funds/tables.py:571 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:135 +#: hypha/apply/funds/tables.py:661 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:92 msgid "Submission" msgstr "" @@ -1333,45 +1358,45 @@ msgid "Contracting Information has been updated on %(title)s." msgstr "" #: hypha/apply/api/v1/determination/utils.py:25 -#: hypha/apply/determinations/forms.py:108 -#: hypha/apply/determinations/views.py:92 +#: hypha/apply/determinations/forms.py:109 +#: hypha/apply/determinations/views.py:86 msgid "-- No determination selected -- " msgstr "" -#: hypha/apply/api/v1/filters.py:23 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:22 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:32 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:33 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:55 -#: hypha/apply/funds/tables.py:497 +#: hypha/apply/api/v1/filters.py:25 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:20 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:30 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:31 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:53 +#: hypha/apply/funds/tables.py:578 msgid "Active" msgstr "" -#: hypha/apply/api/v1/filters.py:24 +#: hypha/apply/api/v1/filters.py:27 msgid "Submit date" msgstr "" -#: hypha/apply/api/v1/filters.py:26 +#: hypha/apply/api/v1/filters.py:31 msgid "fund" msgstr "" -#: hypha/apply/api/v1/filters.py:32 +#: hypha/apply/api/v1/filters.py:37 msgid "No Screening" msgstr "" -#: hypha/apply/api/v1/filters.py:43 hypha/apply/funds/tables.py:307 +#: hypha/apply/api/v1/filters.py:48 hypha/apply/funds/tables.py:354 msgid "Category" msgstr "" -#: hypha/apply/api/v1/projects/serializers.py:29 +#: hypha/apply/api/v1/projects/serializers.py:28 msgid "Not found" msgstr "" -#: hypha/apply/api/v1/projects/views.py:47 +#: hypha/apply/api/v1/projects/views.py:48 msgid "Not Found" msgstr "" -#: hypha/apply/api/v1/projects/views.py:53 +#: hypha/apply/api/v1/projects/views.py:52 msgid "Invoice Already has this deliverable" msgstr "" @@ -1383,8 +1408,8 @@ msgstr "" msgid "Multi select" msgstr "" -#: hypha/apply/categories/blocks.py:30 hypha/apply/funds/blocks.py:30 -#: hypha/apply/funds/blocks.py:61 hypha/apply/funds/blocks.py:110 +#: hypha/apply/categories/blocks.py:30 hypha/apply/funds/blocks.py:31 +#: hypha/apply/funds/blocks.py:69 hypha/apply/funds/blocks.py:113 #: hypha/apply/stream_forms/blocks.py:36 msgid "Label" msgstr "" @@ -1393,8 +1418,8 @@ msgstr "" msgid "Leave blank to use the default Category label" msgstr "" -#: hypha/apply/categories/blocks.py:35 hypha/apply/funds/blocks.py:31 -#: hypha/apply/funds/blocks.py:62 hypha/apply/funds/blocks.py:111 +#: hypha/apply/categories/blocks.py:35 hypha/apply/funds/blocks.py:35 +#: hypha/apply/funds/blocks.py:73 hypha/apply/funds/blocks.py:116 #: hypha/apply/stream_forms/blocks.py:37 msgid "Help text" msgstr "" @@ -1403,29 +1428,29 @@ msgstr "" msgid "Leave blank to use the default Category help text" msgstr "" -#: hypha/apply/categories/models.py:32 hypha/apply/categories/models.py:60 +#: hypha/apply/categories/models.py:33 hypha/apply/categories/models.py:65 msgid "Make available to filter on dashboard" msgstr "" -#: hypha/apply/categories/models.py:40 hypha/apply/categories/models.py:85 +#: hypha/apply/categories/models.py:41 hypha/apply/categories/models.py:91 msgid "Options" msgstr "" -#: hypha/apply/categories/models.py:53 +#: hypha/apply/categories/models.py:57 msgid "Keep the name short, ideally one word." msgstr "" -#: hypha/apply/categories/models.py:56 +#: hypha/apply/categories/models.py:61 #: hypha/apply/funds/templates/funds/includes/submission-list-item.html:25 #: hypha/apply/funds/templates/funds/includes/submission-list-item.html:34 msgid "Archived" msgstr "" -#: hypha/apply/categories/models.py:57 +#: hypha/apply/categories/models.py:62 msgid "Archived terms can be viewed but not set on content." msgstr "" -#: hypha/apply/categories/models.py:63 +#: hypha/apply/categories/models.py:68 msgid "Make available to applicants" msgstr "" @@ -1434,37 +1459,37 @@ msgid "archived" msgstr "" #: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:5 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:10 #: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:9 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:14 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:5 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:11 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:10 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:5 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:11 #: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:9 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:15 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:14 msgid "Dashboard" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:12 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:10 msgid "An overview of active and past submissions and projects" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:15 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:13 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:14 msgid "Submit a new application" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:16 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:14 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:15 msgid "Apply now for our open rounds" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:17 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:15 #: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:16 #: hypha/apply/home/templates/apply_home/includes/apply_listing.html:31 #: hypha/templates/includes/apply_button.html:2 @@ -1472,74 +1497,69 @@ msgid "Apply" msgstr "" #: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:23 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:42 -#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:31 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:49 -msgid "Your active submissions" +msgid "My active submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:29 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:48 -#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:55 -#: hypha/apply/funds/tables.py:90 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:33 -#: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:4 -#: hypha/apply/projects/models/payment.py:30 hypha/apply/projects/tables.py:20 -#: hypha/apply/projects/templates/application_projects/includes/reports.html:47 -#: hypha/apply/projects/templates/application_projects/includes/reports.html:58 -msgid "Submitted" +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:30 +msgid "Submitted on " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:29 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:48 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:30 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:58 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:54 #: hypha/apply/determinations/templates/determinations/includes/applicant_determination_block.html:10 #: hypha/apply/determinations/templates/determinations/includes/determination_block.html:9 -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:19 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:17 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:95 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:97 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:33 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:34 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:38 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:39 #: hypha/apply/funds/templates/funds/tables/table.html:30 -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "by" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:36 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:65 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:62 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:61 msgid "Start your" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:36 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:55 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:65 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:62 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:61 msgid "application" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:44 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:63 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:45 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:81 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:52 msgid "No active submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:50 -msgid "Your active projects" +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:53 +msgid "My active projects" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:57 -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:69 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:60 +msgid "Project start date: " +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:66 +msgid "No active projects" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:74 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:88 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:58 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:82 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:84 msgid "Submission history" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:64 +#: hypha/apply/dashboard/templates/dashboard/applicant_dashboard.html:81 msgid "Project history" msgstr "" @@ -1556,21 +1576,40 @@ msgstr "" msgid "No submissions" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:36 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:37 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:110 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:35 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:32 msgid "Your previous reviews" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:14 +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:45 +#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:31 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:47 +msgid "Your active submissions" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/community_dashboard.html:58 +#: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:37 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:54 +#: hypha/apply/funds/tables.py:84 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:95 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:38 +#: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:4 +#: hypha/apply/projects/models/payment.py:31 hypha/apply/projects/tables.py:18 +#: hypha/apply/projects/templates/application_projects/includes/reports.html:47 +#: hypha/apply/projects/templates/application_projects/includes/reports.html:58 +msgid "Submitted" +msgstr "" + +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:12 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:19 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:14 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:12 msgid "Apply admin" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:27 +#: hypha/apply/dashboard/templates/dashboard/contracting_dashboard.html:24 #: hypha/apply/dashboard/templates/dashboard/dashboard.html:81 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:89 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:93 #: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:75 msgid "PAF waiting for assignee" msgstr "" @@ -1578,8 +1617,7 @@ msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:15 #: hypha/apply/dashboard/templates/dashboard/partner_dashboard.html:12 #: hypha/apply/users/templates/two_factor/_base.html:7 -#: hypha/apply/users/templates/two_factor/_base_focus.html:7 -#: hypha/apply/users/templates/users/account.html:9 +#: hypha/apply/users/templates/users/account.html:8 msgid "Welcome" msgstr "" @@ -1596,7 +1634,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:23 #: hypha/apply/funds/templates/funds/includes/status-block.html:9 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:55 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:169 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:170 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:34 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:105 #: hypha/apply/projects/templates/application_projects/includes/reports.html:66 @@ -1606,6 +1644,7 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:135 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:149 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:200 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:55 msgid "View" msgstr "" @@ -1629,8 +1668,8 @@ msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:116 #: hypha/apply/dashboard/templates/dashboard/includes/flagged.html:12 #: hypha/apply/dashboard/templates/dashboard/includes/submissions-waiting-for-review.html:13 -#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:41 -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:28 +#: hypha/apply/dashboard/templates/dashboard/reviewer_dashboard.html:38 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:30 #: hypha/apply/funds/templates/funds/submissions_overview.html:54 #: hypha/apply/funds/templates/funds/submissions_overview.html:64 #: hypha/apply/projects/templates/application_projects/overview.html:34 @@ -1640,39 +1679,39 @@ msgid "Show all" msgstr "" #: hypha/apply/dashboard/templates/dashboard/dashboard.html:103 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:34 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:32 msgid "Active Invoices" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:25 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:23 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:5 #: hypha/apply/projects/templates/application_projects/invoice_list.html:6 msgid "Invoices" msgstr "" +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:38 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:39 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:40 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:41 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:42 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:64 msgid "For Approval" msgstr "" +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:46 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:47 #: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:48 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:49 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:50 -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:73 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:75 msgid "For Conversion" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:59 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:58 msgid "No Active Invoices" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:68 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:69 msgid "No Invoices for Approval " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:77 +#: hypha/apply/dashboard/templates/dashboard/finance_dashboard.html:80 msgid "No Invoices for Conversion " msgstr "" @@ -1682,56 +1721,56 @@ msgid "Your Flagged Submissions" msgstr "" #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:4 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:13 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:14 #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:15 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:27 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:16 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:17 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:29 msgid "Awaiting your approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:6 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:7 msgid "PAF waiting for internal approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:21 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:22 #: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:23 -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:34 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:24 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:25 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:38 msgid "Approved by you" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:31 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:34 msgid "You have approved all PAFs, no PAF is waiting for your Approval " msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:38 +#: hypha/apply/dashboard/templates/dashboard/includes/paf_waiting_for_approval.html:43 msgid "No PAF is approved by you yet " msgstr "" #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:4 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:13 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:14 #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:15 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:27 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:16 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:17 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:29 msgid "Waiting for contract" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:6 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:7 msgid "Projects in contracting" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:21 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:22 #: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:23 -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:34 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:24 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:25 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:38 msgid "Waiting for contract approval" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:31 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:34 msgid "No project is waiting for contract" msgstr "" -#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:38 +#: hypha/apply/dashboard/templates/dashboard/includes/projects_in_contracting.html:43 msgid "No project is waiting for contract approval " msgstr "" @@ -1755,11 +1794,16 @@ msgstr "" #: hypha/apply/determinations/blocks.py:77 #: hypha/apply/determinations/blocks.py:78 #: hypha/apply/determinations/blocks.py:79 -#: hypha/apply/determinations/blocks.py:80 hypha/apply/funds/blocks.py:202 -#: hypha/apply/review/blocks.py:160 hypha/apply/review/blocks.py:161 -#: hypha/apply/review/blocks.py:162 hypha/apply/review/blocks.py:163 -#: hypha/apply/review/blocks.py:164 hypha/apply/review/blocks.py:165 -#: hypha/apply/review/blocks.py:166 hypha/apply/stream_forms/blocks.py:468 +#: hypha/apply/determinations/blocks.py:80 hypha/apply/funds/blocks.py:207 +#: hypha/apply/review/blocks.py:168 hypha/apply/review/blocks.py:169 +#: hypha/apply/review/blocks.py:170 hypha/apply/review/blocks.py:171 +#: hypha/apply/review/blocks.py:172 hypha/apply/review/blocks.py:173 +#: hypha/apply/review/blocks.py:174 hypha/apply/stream_forms/blocks.py:463 +#: hypha/apply/stream_forms/blocks.py:464 +#: hypha/apply/stream_forms/blocks.py:465 +#: hypha/apply/stream_forms/blocks.py:466 +#: hypha/apply/stream_forms/blocks.py:467 +#: hypha/apply/stream_forms/blocks.py:468 #: hypha/apply/stream_forms/blocks.py:469 #: hypha/apply/stream_forms/blocks.py:470 #: hypha/apply/stream_forms/blocks.py:471 @@ -1767,180 +1811,176 @@ msgstr "" #: hypha/apply/stream_forms/blocks.py:473 #: hypha/apply/stream_forms/blocks.py:474 #: hypha/apply/stream_forms/blocks.py:475 -#: hypha/apply/stream_forms/blocks.py:476 -#: hypha/apply/stream_forms/blocks.py:477 -#: hypha/apply/stream_forms/blocks.py:478 -#: hypha/apply/stream_forms/blocks.py:479 -#: hypha/apply/stream_forms/blocks.py:480 -#: hypha/apply/stream_forms/blocks.py:481 hypha/apply/utils/blocks.py:76 -#: hypha/apply/utils/blocks.py:77 +#: hypha/apply/stream_forms/blocks.py:476 hypha/apply/utils/blocks.py:74 +#: hypha/apply/utils/blocks.py:75 msgid "Fields" msgstr "" -#: hypha/apply/determinations/blocks.py:78 hypha/apply/review/blocks.py:162 -#: hypha/apply/stream_forms/blocks.py:466 +#: hypha/apply/determinations/blocks.py:78 hypha/apply/review/blocks.py:170 +#: hypha/apply/stream_forms/blocks.py:461 msgid "Paragraph" msgstr "" -#: hypha/apply/determinations/forms.py:172 -#: hypha/apply/determinations/forms.py:253 -#: hypha/apply/determinations/forms.py:529 +#: hypha/apply/determinations/forms.py:177 +#: hypha/apply/determinations/forms.py:255 +#: hypha/apply/determinations/forms.py:575 #: hypha/apply/determinations/models.py:108 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:12 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:20 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:22 msgid "Determination" msgstr "" -#: hypha/apply/determinations/forms.py:178 -#: hypha/apply/determinations/forms.py:259 -#: hypha/apply/determinations/models.py:109 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:33 +#: hypha/apply/determinations/forms.py:183 +#: hypha/apply/determinations/forms.py:261 +#: hypha/apply/determinations/models.py:110 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:34 msgid "Determination message" msgstr "" -#: hypha/apply/determinations/forms.py:185 +#: hypha/apply/determinations/forms.py:190 msgid "Goals and principles" msgstr "" -#: hypha/apply/determinations/forms.py:205 +#: hypha/apply/determinations/forms.py:210 msgid "Technical merit" msgstr "" -#: hypha/apply/determinations/forms.py:220 +#: hypha/apply/determinations/forms.py:225 msgid "Reasonable, realistic and sustainable" msgstr "" -#: hypha/apply/determinations/forms.py:234 +#: hypha/apply/determinations/forms.py:238 msgid "Other comments" msgstr "" -#: hypha/apply/determinations/forms.py:267 +#: hypha/apply/determinations/forms.py:269 msgid "Positive aspects" msgstr "" -#: hypha/apply/determinations/forms.py:273 +#: hypha/apply/determinations/forms.py:275 msgid "Concerns" msgstr "" -#: hypha/apply/determinations/forms.py:279 +#: hypha/apply/determinations/forms.py:281 msgid "Items that must be addressed" msgstr "" -#: hypha/apply/determinations/forms.py:285 +#: hypha/apply/determinations/forms.py:287 msgid "Project overview questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:288 +#: hypha/apply/determinations/forms.py:290 msgid "Objectives questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:291 +#: hypha/apply/determinations/forms.py:293 msgid "Methods and strategy questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:294 +#: hypha/apply/determinations/forms.py:296 msgid "Technical feasibility questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:297 +#: hypha/apply/determinations/forms.py:300 msgid "Alternative analysis - \"red teaming\" questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:300 +#: hypha/apply/determinations/forms.py:304 msgid "Usability questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:303 +#: hypha/apply/determinations/forms.py:307 msgid "Sustainability questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:306 +#: hypha/apply/determinations/forms.py:310 msgid "Collaboration questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:309 +#: hypha/apply/determinations/forms.py:313 msgid "Cost realism questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:312 +#: hypha/apply/determinations/forms.py:316 msgid "Qualifications questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:315 +#: hypha/apply/determinations/forms.py:319 msgid "Evaluation questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:319 +#: hypha/apply/determinations/forms.py:324 msgid "Rationale and appropriateness questions and comments" msgstr "" -#: hypha/apply/determinations/forms.py:360 -#: hypha/apply/determinations/views.py:360 +#: hypha/apply/determinations/forms.py:375 +#: hypha/apply/determinations/views.py:401 msgid "-- No proposal form selected -- " msgstr "" -#: hypha/apply/determinations/forms.py:361 -#: hypha/apply/determinations/views.py:361 +#: hypha/apply/determinations/forms.py:378 +#: hypha/apply/determinations/views.py:404 msgid "Select the proposal form only for determination approval" msgstr "" -#: hypha/apply/determinations/forms.py:363 -#: hypha/apply/determinations/views.py:363 +#: hypha/apply/determinations/forms.py:382 +#: hypha/apply/determinations/views.py:408 msgid "Select the proposal form to use for proposal stage." msgstr "" -#: hypha/apply/determinations/forms.py:365 -#: hypha/apply/determinations/views.py:365 +#: hypha/apply/determinations/forms.py:385 +#: hypha/apply/determinations/views.py:411 msgid "Proposal Form" msgstr "" -#: hypha/apply/determinations/models.py:116 +#: hypha/apply/determinations/models.py:117 #: hypha/apply/determinations/templates/determinations/includes/determination_block.html:7 -#: hypha/apply/funds/workflow.py:222 hypha/apply/funds/workflow.py:349 -#: hypha/apply/funds/workflow.py:504 hypha/apply/funds/workflow.py:683 -#: hypha/apply/projects/models/project.py:76 hypha/apply/review/models.py:164 +#: hypha/apply/funds/workflow.py:254 hypha/apply/funds/workflow.py:393 +#: hypha/apply/funds/workflow.py:569 hypha/apply/funds/workflow.py:771 +#: hypha/apply/projects/models/project.py:75 +#: hypha/apply/projects/models/project.py:83 hypha/apply/review/models.py:172 msgid "Draft" msgstr "" -#: hypha/apply/determinations/models.py:117 -#: hypha/apply/projects/models/vendor.py:51 hypha/apply/review/models.py:165 +#: hypha/apply/determinations/models.py:119 +#: hypha/apply/projects/models/vendor.py:46 hypha/apply/review/models.py:174 msgid "Creation time" msgstr "" -#: hypha/apply/determinations/models.py:118 -#: hypha/apply/projects/models/vendor.py:52 hypha/apply/review/models.py:166 +#: hypha/apply/determinations/models.py:121 +#: hypha/apply/projects/models/vendor.py:48 hypha/apply/review/models.py:176 msgid "Update time" msgstr "" -#: hypha/apply/determinations/models.py:119 +#: hypha/apply/determinations/models.py:123 msgid "Send message to applicant" msgstr "" -#: hypha/apply/determinations/models.py:242 +#: hypha/apply/determinations/models.py:249 msgid "Request" msgstr "" -#: hypha/apply/determinations/models.py:243 +#: hypha/apply/determinations/models.py:250 msgid "Concept note" msgstr "" -#: hypha/apply/determinations/models.py:244 +#: hypha/apply/determinations/models.py:251 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:71 msgid "Proposal" msgstr "" -#: hypha/apply/determinations/models.py:364 +#: hypha/apply/determinations/models.py:460 msgid "Concept form" msgstr "" -#: hypha/apply/determinations/models.py:365 +#: hypha/apply/determinations/models.py:461 msgid "Proposal form" msgstr "" -#: hypha/apply/determinations/options.py:10 hypha/apply/funds/workflow.py:332 -#: hypha/apply/funds/workflow.py:486 hypha/apply/funds/workflow.py:665 -#: hypha/apply/funds/workflow.py:786 hypha/apply/funds/workflow.py:940 -#: hypha/apply/funds/workflow.py:1174 +#: hypha/apply/determinations/options.py:10 hypha/apply/funds/workflow.py:376 +#: hypha/apply/funds/workflow.py:551 hypha/apply/funds/workflow.py:753 +#: hypha/apply/funds/workflow.py:890 hypha/apply/funds/workflow.py:1065 +#: hypha/apply/funds/workflow.py:1317 msgid "Dismissed" msgstr "" @@ -1961,58 +2001,58 @@ msgstr "" msgid "Create a Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:8 msgid "Update Determination draft" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:8 #: hypha/apply/determinations/templates/determinations/determination_form.html:7 msgid "Create Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:10 -#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 -#: hypha/apply/determinations/templates/determinations/determination_form.html:8 -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:9 -#: hypha/apply/funds/templates/funds/revisions_compare.html:8 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:12 -#: hypha/apply/review/templates/review/review_detail.html:11 -#: hypha/apply/review/templates/review/review_edit_form.html:8 -#: hypha/apply/review/templates/review/review_form.html:8 -#: hypha/apply/review/templates/review/review_list.html:13 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:9 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:15 +#: hypha/apply/determinations/templates/determinations/determination_form.html:9 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:8 +#: hypha/apply/funds/templates/funds/revisions_compare.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:15 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:25 +#: hypha/apply/review/templates/review/review_detail.html:14 +#: hypha/apply/review/templates/review/review_edit_form.html:9 +#: hypha/apply/review/templates/review/review_form.html:9 +#: hypha/apply/review/templates/review/review_list.html:11 msgid "For" msgstr "" -#: hypha/apply/determinations/templates/determinations/base_determination_form.html:48 -#: hypha/apply/funds/templates/funds/application_base.html:68 -#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:36 -#: hypha/apply/funds/views.py:1164 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:67 -#: hypha/apply/review/templates/review/review_edit_form.html:40 -#: hypha/apply/review/templates/review/review_form.html:41 +#: hypha/apply/determinations/templates/determinations/base_determination_form.html:42 +#: hypha/apply/funds/templates/funds/application_base.html:71 +#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:37 +#: hypha/apply/funds/views.py:1271 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:68 +#: hypha/apply/review/templates/review/review_edit_form.html:41 +#: hypha/apply/review/templates/review/review_form.html:42 msgid "Save draft" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:12 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:11 msgid "Add Batch Determination" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 msgid "Determining" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 msgid "submission" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:20 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:116 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:18 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:73 msgid "as" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:21 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:19 #: hypha/apply/funds/templates/funds/includes/batch_archive_submission_form.html:8 #: hypha/apply/funds/templates/funds/includes/batch_delete_submission_form.html:8 #: hypha/apply/funds/templates/funds/includes/batch_progress_form.html:6 @@ -2023,7 +2063,7 @@ msgstr "" msgid "Show" msgstr "" -#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:37 +#: hypha/apply/determinations/templates/determinations/batch_determination_form.html:35 msgid "Send" msgstr "" @@ -2032,16 +2072,16 @@ msgid "Determination for" msgstr "" #: hypha/apply/determinations/templates/determinations/determination_detail.html:10 -#: hypha/apply/review/templates/review/review_detail.html:8 -msgid "Back to submission" +#: hypha/apply/review/templates/review/review_detail.html:9 +msgid "View submission" msgstr "" -#: hypha/apply/determinations/templates/determinations/determination_detail.html:12 +#: hypha/apply/determinations/templates/determinations/determination_detail.html:14 msgid "DRAFT" msgstr "" #: hypha/apply/determinations/templates/determinations/determination_form.html:7 -msgid "Edit Determination" +msgid "Edit determination" msgstr "" #: hypha/apply/determinations/templates/determinations/includes/applicant_determination_block.html:3 @@ -2082,26 +2122,26 @@ msgstr "" msgid "Add determination" msgstr "" -#: hypha/apply/determinations/views.py:242 +#: hypha/apply/determinations/views.py:255 #, python-brace-format msgid "" "A determination already exists for the following submissions and they have " "been excluded: {submissions}" msgstr "" -#: hypha/apply/determinations/views.py:278 +#: hypha/apply/determinations/views.py:302 msgid "You do not have permission to create that determination." msgstr "" -#: hypha/apply/determinations/views.py:281 +#: hypha/apply/determinations/views.py:307 msgid "A final determination has already been submitted." msgstr "" -#: hypha/apply/determinations/views.py:289 +#: hypha/apply/determinations/views.py:320 msgid "There is a draft determination you do not have permission to edit." msgstr "" -#: hypha/apply/determinations/views.py:438 +#: hypha/apply/determinations/views.py:486 #, python-brace-format msgid "" "A determination of \"{current}\" exists but you tried to progress as " @@ -2120,173 +2160,172 @@ msgstr "" msgid "Staff flag" msgstr "" -#: hypha/apply/funds/admin_helpers.py:26 +#: hypha/apply/funds/admin_helpers.py:27 msgid "Fund or RFP" msgstr "" -#: hypha/apply/funds/admin_helpers.py:67 +#: hypha/apply/funds/admin_helpers.py:71 msgid "Funds & RFP" msgstr "" -#: hypha/apply/funds/admin_helpers.py:68 +#: hypha/apply/funds/admin_helpers.py:72 msgid "Rounds and Sealed Rounds" msgstr "" -#: hypha/apply/funds/admin_helpers.py:69 hypha/public/home/models.py:131 -#: hypha/public/home/models.py:136 +#: hypha/apply/funds/admin_helpers.py:73 hypha/public/home/models.py:157 +#: hypha/public/home/models.py:167 msgid "Labs" msgstr "" -#: hypha/apply/funds/admin_helpers.py:86 hypha/apply/funds/tables.py:498 +#: hypha/apply/funds/admin_helpers.py:90 hypha/apply/funds/tables.py:579 #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:13 #: hypha/apply/funds/templates/funds/includes/round-block.html:13 #: hypha/templates/includes/relatedcontent_card.html:8 msgid "Open" msgstr "" -#: hypha/apply/funds/admin_helpers.py:87 +#: hypha/apply/funds/admin_helpers.py:91 #: hypha/apply/funds/templates/funds/includes/round-block.html:18 #: hypha/templates/includes/relatedcontent_card.html:10 msgid "Closed" msgstr "" -#: hypha/apply/funds/admin_views.py:67 +#: hypha/apply/funds/admin_views.py:78 #, python-brace-format msgid "Page '{0}' and {1} subpages copied." msgstr "" -#: hypha/apply/funds/admin_views.py:72 +#: hypha/apply/funds/admin_views.py:84 #, python-brace-format msgid "Page '{0}' copied." msgstr "" -#: hypha/apply/funds/blocks.py:30 +#: hypha/apply/funds/blocks.py:31 msgid "What is the title of your application?" msgstr "" -#: hypha/apply/funds/blocks.py:31 +#: hypha/apply/funds/blocks.py:36 msgid "This project name can be changed if a full proposal is requested." msgstr "" -#: hypha/apply/funds/blocks.py:34 +#: hypha/apply/funds/blocks.py:40 msgid "Application title" msgstr "" -#: hypha/apply/funds/blocks.py:44 +#: hypha/apply/funds/blocks.py:50 msgid "Requested amount" msgstr "" -#: hypha/apply/funds/blocks.py:55 +#: hypha/apply/funds/blocks.py:62 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:35 msgid "Organization name" msgstr "" -#: hypha/apply/funds/blocks.py:61 +#: hypha/apply/funds/blocks.py:69 msgid "What email address should we use to contact you?" msgstr "" -#: hypha/apply/funds/blocks.py:63 +#: hypha/apply/funds/blocks.py:75 msgid "" "We will use this email address to communicate with you about your proposal." msgstr "" -#: hypha/apply/funds/blocks.py:79 +#: hypha/apply/funds/blocks.py:93 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:29 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:17 -#: hypha/apply/projects/models/vendor.py:20 -#: hypha/apply/projects/models/vendor.py:59 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:58 +#: hypha/apply/projects/models/vendor.py:18 +#: hypha/apply/projects/models/vendor.py:54 msgid "Address" msgstr "" -#: hypha/apply/funds/blocks.py:110 +#: hypha/apply/funds/blocks.py:113 msgid "What is your name?" msgstr "" -#: hypha/apply/funds/blocks.py:112 +#: hypha/apply/funds/blocks.py:118 msgid "We will use this name when we communicate with you about your proposal." msgstr "" -#: hypha/apply/funds/blocks.py:115 hypha/apply/users/models.py:183 +#: hypha/apply/funds/blocks.py:123 hypha/apply/users/models.py:198 msgid "Full name" msgstr "" -#: hypha/apply/funds/blocks.py:201 hypha/apply/stream_forms/blocks.py:466 -#: hypha/apply/stream_forms/blocks.py:467 -#: hypha/apply/stream_forms/blocks.py:482 -#: hypha/apply/stream_forms/blocks.py:483 hypha/apply/utils/blocks.py:84 +#: hypha/apply/funds/blocks.py:206 hypha/apply/stream_forms/blocks.py:461 +#: hypha/apply/stream_forms/blocks.py:462 +#: hypha/apply/stream_forms/blocks.py:477 +#: hypha/apply/stream_forms/blocks.py:478 hypha/apply/utils/blocks.py:85 msgid "Custom" msgstr "" -#: hypha/apply/funds/forms.py:61 hypha/apply/funds/forms.py:80 +#: hypha/apply/funds/forms.py:62 hypha/apply/funds/forms.py:81 msgid "Take action" msgstr "" -#: hypha/apply/funds/forms.py:143 hypha/apply/projects/forms/project.py:395 +#: hypha/apply/funds/forms.py:147 hypha/apply/projects/forms/project.py:421 #, python-brace-format msgid "Update lead from {lead} to" msgstr "" -#: hypha/apply/funds/forms.py:180 +#: hypha/apply/funds/forms.py:186 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:35 #: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:37 -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:20 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:24 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:61 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:40 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:42 #: hypha/apply/funds/templates/funds/submission_sealed.html:14 #: hypha/apply/funds/templates/funds/submissions_by_round.html:10 -#: hypha/apply/projects/filters.py:33 hypha/apply/projects/filters.py:47 -#: hypha/apply/projects/tables.py:42 +#: hypha/apply/projects/filters.py:40 hypha/apply/projects/filters.py:58 +#: hypha/apply/projects/tables.py:40 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:25 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:25 -#: hypha/apply/projects/templates/application_projects/project_detail.html:37 -#: hypha/apply/projects/templates/application_projects/project_detail.html:46 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:26 +#: hypha/apply/projects/templates/application_projects/project_detail.html:38 +#: hypha/apply/projects/templates/application_projects/project_detail.html:47 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:18 msgid "Lead" msgstr "" -#: hypha/apply/funds/forms.py:228 hypha/apply/funds/forms.py:350 +#: hypha/apply/funds/forms.py:242 hypha/apply/funds/forms.py:383 msgid "External Reviewers" msgstr "" -#: hypha/apply/funds/forms.py:295 +#: hypha/apply/funds/forms.py:317 msgid "Can't unassign, just change, because review already submitted" msgstr "" -#: hypha/apply/funds/forms.py:300 hypha/apply/funds/forms.py:393 +#: hypha/apply/funds/forms.py:323 hypha/apply/funds/forms.py:434 msgid "Users cannot be assigned to multiple roles." msgstr "" -#: hypha/apply/funds/forms.py:383 +#: hypha/apply/funds/forms.py:422 msgid "" "Make sure all submissions support external reviewers and you are lead for " "all the selected submissions." msgstr "" -#: hypha/apply/funds/forms.py:413 +#: hypha/apply/funds/forms.py:454 msgid "---" msgstr "" -#: hypha/apply/funds/forms.py:415 +#: hypha/apply/funds/forms.py:458 #, python-brace-format msgid "{role_name} Reviewer" msgstr "" -#: hypha/apply/funds/forms.py:430 +#: hypha/apply/funds/forms.py:476 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:60 msgid "Partners" msgstr "" -#: hypha/apply/funds/forms.py:491 +#: hypha/apply/funds/forms.py:545 msgid "Meta terms" msgstr "" -#: hypha/apply/funds/forms.py:494 +#: hypha/apply/funds/forms.py:548 msgid "Meta terms are hierarchical in nature." msgstr "" -#: hypha/apply/funds/models/__init__.py:36 hypha/apply/funds/tables.py:93 -#: hypha/apply/projects/tables.py:41 hypha/apply/projects/tables.py:66 +#: hypha/apply/funds/models/__init__.py:36 hypha/apply/funds/tables.py:91 +#: hypha/apply/projects/tables.py:39 hypha/apply/projects/tables.py:66 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:26 msgid "Fund" msgstr "" @@ -2299,82 +2338,82 @@ msgstr "" msgid "Lab" msgstr "" -#: hypha/apply/funds/models/applications.py:86 -#: hypha/apply/funds/models/applications.py:464 +#: hypha/apply/funds/models/applications.py:104 +#: hypha/apply/funds/models/applications.py:536 msgid "Link to the apply guide." msgstr "" -#: hypha/apply/funds/models/applications.py:88 +#: hypha/apply/funds/models/applications.py:111 msgid "" "The slack #channel for notifications. If left empty, notifications will go " "to the default channel." msgstr "" -#: hypha/apply/funds/models/applications.py:93 +#: hypha/apply/funds/models/applications.py:119 msgid "" "Comma separated list of emails where a summary of all the activities related " "to this fund will be sent." msgstr "" -#: hypha/apply/funds/models/applications.py:96 +#: hypha/apply/funds/models/applications.py:124 msgid "Should the deadline date be visible for users." msgstr "" -#: hypha/apply/funds/models/applications.py:146 -#: hypha/apply/funds/models/applications.py:241 -#: hypha/apply/funds/models/applications.py:488 +#: hypha/apply/funds/models/applications.py:178 +#: hypha/apply/funds/models/applications.py:282 +#: hypha/apply/funds/models/applications.py:566 msgid "Content" msgstr "" -#: hypha/apply/funds/models/applications.py:148 -#: hypha/apply/funds/models/applications.py:242 -#: hypha/apply/funds/models/applications.py:490 +#: hypha/apply/funds/models/applications.py:180 +#: hypha/apply/funds/models/applications.py:283 +#: hypha/apply/funds/models/applications.py:568 msgid "Promote" msgstr "" -#: hypha/apply/funds/models/applications.py:195 +#: hypha/apply/funds/models/applications.py:229 msgid "When no end date is provided the round will remain open indefinitely." msgstr "" -#: hypha/apply/funds/models/applications.py:206 +#: hypha/apply/funds/models/applications.py:245 msgid "Dates" msgstr "" -#: hypha/apply/funds/models/applications.py:210 -#: hypha/apply/funds/models/utils.py:53 +#: hypha/apply/funds/models/applications.py:250 +#: hypha/apply/funds/models/utils.py:58 msgid "Workflow" msgstr "" -#: hypha/apply/funds/models/applications.py:211 -#: hypha/apply/funds/models/applications.py:218 -#: hypha/apply/funds/models/applications.py:224 -#: hypha/apply/funds/models/applications.py:229 -#: hypha/apply/funds/models/applications.py:235 +#: hypha/apply/funds/models/applications.py:251 +#: hypha/apply/funds/models/applications.py:258 +#: hypha/apply/funds/models/applications.py:264 +#: hypha/apply/funds/models/applications.py:269 +#: hypha/apply/funds/models/applications.py:275 msgid "Copied from the fund." msgstr "" -#: hypha/apply/funds/models/applications.py:217 -#: hypha/apply/funds/models/utils.py:129 +#: hypha/apply/funds/models/applications.py:257 +#: hypha/apply/funds/models/utils.py:137 msgid "Application forms" msgstr "" -#: hypha/apply/funds/models/applications.py:223 +#: hypha/apply/funds/models/applications.py:263 msgid "Internal Review Form" msgstr "" -#: hypha/apply/funds/models/applications.py:230 +#: hypha/apply/funds/models/applications.py:270 msgid "External Review Form" msgstr "" -#: hypha/apply/funds/models/applications.py:236 +#: hypha/apply/funds/models/applications.py:276 msgid "Determination Form" msgstr "" -#: hypha/apply/funds/models/applications.py:466 +#: hypha/apply/funds/models/applications.py:540 msgid "The slack #channel for notifications." msgstr "" -#: hypha/apply/funds/models/applications.py:471 +#: hypha/apply/funds/models/applications.py:547 msgid "" "Comma separated list of emails where a summary of all the activities related " "to this lab will be sent." @@ -2396,152 +2435,152 @@ msgstr "" msgid "Submissions outcomes for which reviewers should have access to" msgstr "" -#: hypha/apply/funds/models/reviewer_role.py:81 +#: hypha/apply/funds/models/reviewer_role.py:80 msgid "Submissions for which reviewer is assigned to" msgstr "" -#: hypha/apply/funds/models/reviewer_role.py:85 +#: hypha/apply/funds/models/reviewer_role.py:84 msgid "Use the above configured variables to filter out submissions" msgstr "" -#: hypha/apply/funds/models/screening.py:10 +#: hypha/apply/funds/models/screening.py:11 msgid "Yes/No" msgstr "" -#: hypha/apply/funds/models/screening.py:11 +#: hypha/apply/funds/models/screening.py:12 msgid "Tick mark for Yes otherwise No." msgstr "" -#: hypha/apply/funds/models/screening.py:14 +#: hypha/apply/funds/models/screening.py:16 msgid "Default Yes/No" msgstr "" -#: hypha/apply/funds/models/screening.py:15 +#: hypha/apply/funds/models/screening.py:17 msgid "Only one Yes and No screening decision can be set as default." msgstr "" -#: hypha/apply/funds/models/submissions.py:435 +#: hypha/apply/funds/models/submissions.py:472 msgid "submit time" msgstr "" -#: hypha/apply/funds/models/utils.py:130 +#: hypha/apply/funds/models/utils.py:138 msgid "Internal Review Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:133 +#: hypha/apply/funds/models/utils.py:141 msgid "External Review Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:136 +#: hypha/apply/funds/models/utils.py:145 msgid "Determination Forms" msgstr "" -#: hypha/apply/funds/models/utils.py:138 +#: hypha/apply/funds/models/utils.py:147 msgid "Project SOW Form" msgstr "" -#: hypha/apply/funds/models/utils.py:151 +#: hypha/apply/funds/models/utils.py:163 msgid "Additional text for the application confirmation message." msgstr "" -#: hypha/apply/funds/models/utils.py:167 hypha/apply/funds/models/utils.py:171 +#: hypha/apply/funds/models/utils.py:182 hypha/apply/funds/models/utils.py:186 msgid "Confirmation email" msgstr "" -#: hypha/apply/funds/tables.py:91 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:35 -#: hypha/apply/projects/filters.py:32 hypha/apply/projects/filters.py:48 -#: hypha/apply/projects/tables.py:65 +#: hypha/apply/funds/tables.py:86 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:37 +#: hypha/apply/projects/filters.py:37 hypha/apply/projects/filters.py:61 +#: hypha/apply/projects/tables.py:64 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:20 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:30 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:91 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:101 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:21 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:22 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:30 -#: hypha/public/partner/tables.py:54 hypha/public/partner/tables.py:100 +#: hypha/public/partner/tables.py:60 hypha/public/partner/tables.py:113 msgid "Status" msgstr "" -#: hypha/apply/funds/tables.py:92 +#: hypha/apply/funds/tables.py:90 msgid "Type" msgstr "" -#: hypha/apply/funds/tables.py:94 +#: hypha/apply/funds/tables.py:92 msgid "Comments" msgstr "" -#: hypha/apply/funds/tables.py:95 +#: hypha/apply/funds/tables.py:94 #: hypha/apply/funds/templates/funds/tables/table.html:22 -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "Last updated" msgstr "" -#: hypha/apply/funds/tables.py:109 +#: hypha/apply/funds/tables.py:117 msgid "No submissions available" msgstr "" -#: hypha/apply/funds/tables.py:155 hypha/apply/funds/tables.py:304 +#: hypha/apply/funds/tables.py:174 hypha/apply/funds/tables.py:348 msgid "Screening" msgstr "" -#: hypha/apply/funds/tables.py:190 +#: hypha/apply/funds/tables.py:218 msgid "Role" msgstr "" -#: hypha/apply/funds/tables.py:289 +#: hypha/apply/funds/tables.py:328 msgid "Statuses" msgstr "" -#: hypha/apply/funds/tables.py:301 hypha/apply/funds/tables.py:401 -#: hypha/apply/funds/tables.py:495 hypha/apply/funds/tables.py:529 -#: hypha/apply/projects/filters.py:31 hypha/apply/projects/filters.py:46 -#: hypha/public/home/models.py:124 +#: hypha/apply/funds/tables.py:341 hypha/apply/funds/tables.py:462 +#: hypha/apply/funds/tables.py:576 hypha/apply/funds/tables.py:613 +#: hypha/apply/projects/filters.py:32 hypha/apply/projects/filters.py:55 +#: hypha/public/home/models.py:145 msgid "Funds" msgstr "" -#: hypha/apply/funds/tables.py:302 hypha/apply/funds/tables.py:400 -#: hypha/apply/funds/tables.py:534 +#: hypha/apply/funds/tables.py:344 hypha/apply/funds/tables.py:459 +#: hypha/apply/funds/tables.py:618 #: hypha/apply/funds/templates/funds/rounds.html:5 #: hypha/apply/funds/templates/funds/rounds.html:15 msgid "Rounds" msgstr "" -#: hypha/apply/funds/tables.py:303 hypha/apply/funds/tables.py:496 +#: hypha/apply/funds/tables.py:346 hypha/apply/funds/tables.py:577 msgid "Leads" msgstr "" -#: hypha/apply/funds/tables.py:304 +#: hypha/apply/funds/tables.py:348 msgid "No Status" msgstr "" -#: hypha/apply/funds/tables.py:305 hypha/apply/funds/tables.py:524 +#: hypha/apply/funds/tables.py:351 hypha/apply/funds/tables.py:608 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:59 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:45 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:47 msgid "Reviewers" msgstr "" -#: hypha/apply/funds/tables.py:310 +#: hypha/apply/funds/tables.py:357 msgid "Terms" msgstr "" -#: hypha/apply/funds/tables.py:429 +#: hypha/apply/funds/tables.py:498 #: hypha/apply/funds/templates/funds/includes/round-block-listing.html:20 msgid "Determined" msgstr "" -#: hypha/apply/funds/tables.py:549 +#: hypha/apply/funds/tables.py:637 hypha/apply/users/groups.py:5 msgid "Reviewer" msgstr "" -#: hypha/apply/funds/tables.py:562 hypha/apply/funds/tables.py:596 +#: hypha/apply/funds/tables.py:652 hypha/apply/funds/tables.py:686 msgid "No reviews available" msgstr "" -#: hypha/apply/funds/tables.py:600 +#: hypha/apply/funds/tables.py:693 hypha/apply/users/groups.py:4 msgid "Staff" msgstr "" -#: hypha/apply/funds/tables.py:608 +#: hypha/apply/funds/tables.py:703 msgid "No staff available" msgstr "" @@ -2561,18 +2600,18 @@ msgstr "" msgid "Continue" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:20 -msgid "" -"There were some errors with your form. Please amend the fields highlighted " -"below" -msgstr "" - -#: hypha/apply/funds/templates/funds/application_base.html:28 +#: hypha/apply/funds/templates/funds/application_base.html:12 #: hypha/apply/home/templates/apply_home/includes/apply_listing.html:11 #: hypha/public/funds/templates/public_funds/includes/fund_apply_cta.html:8 msgid "Next deadline" msgstr "" +#: hypha/apply/funds/templates/funds/application_base.html:26 +msgid "" +"There were some errors with your form. Please amend the fields highlighted " +"below" +msgstr "" + #: hypha/apply/funds/templates/funds/application_base.html:33 #, python-format msgid "" @@ -2584,11 +2623,11 @@ msgstr "" msgid "Application guide" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:67 +#: hypha/apply/funds/templates/funds/application_base.html:70 msgid "Submit for review" msgstr "" -#: hypha/apply/funds/templates/funds/application_base.html:70 +#: hypha/apply/funds/templates/funds/application_base.html:74 msgid "You must have Javascript enabled to use this form." msgstr "" @@ -2597,37 +2636,50 @@ msgid "Your application is saved as a draft." msgstr "" #: hypha/apply/funds/templates/funds/application_base_landing.html:10 -#, python-format -msgid "Thank you for your submission to the %(ORG_LONG_NAME)s." +msgid "Please note that your application is not submitted for review." msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:14 +#: hypha/apply/funds/templates/funds/application_base_landing.html:13 msgid "" -"Please note that it is not submitted for review. You can complete your " -"application by following the log-in details emailed to you." +"You can access your applications from your dashboard. From there, you can " +"complete and submit them." msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:16 +#: hypha/apply/funds/templates/funds/application_base_landing.html:15 msgid "" -"An e-mail with more information has been sent to the address you entered." +"You can complete your application by following the log-in details emailed to " +"you." msgstr "" #: hypha/apply/funds/templates/funds/application_base_landing.html:19 #, python-format +msgid "Thank you for your submission to the %(ORG_LONG_NAME)s." +msgstr "" + +#: hypha/apply/funds/templates/funds/application_base_landing.html:21 +msgid "" +"An e-mail with more information has been sent to the address you entered." +msgstr "" + +#: hypha/apply/funds/templates/funds/application_base_landing.html:24 +#, python-format msgid "" -"If you do not receive an e-mail within 15 minutes please check your spam " -"folder and contact %(email)s for further assistance." +"\n" +" If you do not receive an e-mail within 15 minutes\n" +" please check your spam folder and contact %(email)s\n" +" for further assistance.\n" +" " msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:27 -msgid "Go to my dashboard." +#: hypha/apply/funds/templates/funds/application_base_landing.html:49 +msgid "Go to your dashboard" msgstr "" -#: hypha/apply/funds/templates/funds/application_base_landing.html:29 -#: hypha/apply/users/templates/users/login.html:43 +#: hypha/apply/funds/templates/funds/application_base_landing.html:56 +#: hypha/apply/users/templates/users/login.html:45 #: hypha/apply/users/templates/users/password_reset/complete.html:13 -#: hypha/apply/users/templates/users/password_reset/form.html:33 -#: hypha/apply/users/templates/users/register.html:29 +#: hypha/apply/users/templates/users/password_reset/form.html:36 +#: hypha/apply/users/templates/users/register.html:32 msgid "Log in" msgstr "" @@ -2636,29 +2688,29 @@ msgstr "" msgid "Revisions for %(title)s" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:8 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:7 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:66 msgid "Revisions" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:21 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:19 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:5 msgid "current" msgstr "" -#: hypha/apply/funds/templates/funds/applicationrevision_list.html:25 +#: hypha/apply/funds/templates/funds/applicationrevision_list.html:23 #: hypha/apply/funds/templates/funds/revisions_compare.html:3 -#: hypha/apply/review/templates/review/review_detail.html:51 +#: hypha/apply/review/templates/review/review_detail.html:54 msgid "Compare" msgstr "" #: hypha/apply/funds/templates/funds/applicationsubmission_admin_detail.html:10 #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:3 #: hypha/apply/funds/templates/funds/includes/generic_primary_actions.html:5 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:67 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:81 #: hypha/apply/projects/templates/application_projects/project_admin_detail.html:10 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:146 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:150 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:103 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:107 msgid "Actions to take" msgstr "" @@ -2678,28 +2730,32 @@ msgstr "" #: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:9 #: hypha/apply/review/templates/review/review_confirm_delete.html:4 #: hypha/apply/review/templates/review/review_confirm_delete.html:9 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:4 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:9 msgid "Deleting" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:17 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:16 #, python-format msgid "Are you sure you want to delete \"%(object)s\"?" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:18 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:17 msgid "" "All content related to this submission will also be deleted. This includes " "reviews, determinations and comments." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:19 +#: hypha/apply/funds/templates/funds/applicationsubmission_confirm_delete.html:18 #: hypha/apply/funds/templates/funds/includes/archive_submission_form.html:5 -#: hypha/apply/funds/templates/funds/includes/create_project_form.html:8 +#: hypha/apply/funds/templates/funds/includes/create_project_form.html:7 #: hypha/apply/funds/templates/funds/includes/unarchive_submission_form.html:5 -#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:18 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:230 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:32 -#: hypha/apply/review/templates/review/review_confirm_delete.html:18 +#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:17 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:231 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:33 +#: hypha/apply/review/templates/review/review_confirm_delete.html:17 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:17 +#: hypha/apply/users/templates/elevate/elevate.html:27 msgid "Confirm" msgstr "" @@ -2715,90 +2771,81 @@ msgstr "" msgid "Submission details" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:62 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:61 msgid "Activity feed" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:66 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:65 msgid "View message log" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:77 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:76 msgid "This submission has been archived." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:89 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:88 msgid "Congratulations!" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:90 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:89 #, python-format msgid "Your %(stage)s application has been accepted." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:91 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:90 #, python-format msgid "Start your %(stage)s application." msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:97 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:96 #: hypha/apply/funds/templates/submissions/all.html:289 msgid "Updated" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:101 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:100 #: hypha/apply/funds/templates/funds/includes/batch_delete_submission_form.html:14 #: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:33 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:50 -#: hypha/apply/funds/templates/submissions/all.html:446 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:52 +#: hypha/apply/funds/templates/submissions/all.html:445 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:48 -#: hypha/apply/projects/views/payment.py:238 -#: hypha/apply/review/templates/review/review_detail.html:34 +#: hypha/apply/projects/views/payment.py:248 +#: hypha/apply/review/templates/review/review_detail.html:37 msgid "Delete" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:152 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:151 msgid "Related submissions" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:154 -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:158 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:153 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:157 msgid "View linked" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:163 +#: hypha/apply/funds/templates/funds/applicationsubmission_detail.html:162 msgid "Past Submissions" msgstr "" #: hypha/apply/funds/templates/funds/applicationsubmission_form.html:3 -#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:7 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/funds/templates/funds/applicationsubmission_form.html:8 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:15 #: hypha/apply/projects/templates/application_projects/project_approval_form.html:3 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:12 #: hypha/apply/projects/templates/application_projects/project_form.html:5 #: hypha/apply/projects/templates/application_projects/project_form.html:10 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:8 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:9 msgid "Editing" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:13 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:10 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:10 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:9 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:19 -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:8 -#: hypha/apply/projects/templates/application_projects/project_sow_detail.html:12 -#: hypha/apply/projects/templates/application_projects/report_detail.html:10 -#: hypha/apply/projects/templates/application_projects/report_form.html:14 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:10 -msgid "View project page" +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:12 +msgid "Goto project page" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:26 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:31 msgid "Download PDF" msgstr "" -#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:37 +#: hypha/apply/funds/templates/funds/applicationsubmission_simplified_detail.html:42 #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:2 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:3 msgid "Proposal Information" @@ -2843,7 +2890,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/admin_primary_actions.html:53 #: hypha/apply/funds/templates/funds/includes/progress_form.html:4 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:169 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:155 msgid "Update status" msgstr "" @@ -2890,8 +2937,8 @@ msgid "" msgstr "" #: hypha/apply/funds/templates/funds/includes/batch_archive_submission_form.html:14 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:55 -#: hypha/apply/funds/templates/submissions/all.html:434 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:57 +#: hypha/apply/funds/templates/submissions/all.html:433 msgid "Archive" msgstr "" @@ -2915,8 +2962,8 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:60 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:316 #: hypha/apply/projects/templates/application_projects/invoice_admin_detail.html:28 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:167 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:171 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:153 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:157 msgid "Update Status" msgstr "" @@ -2929,7 +2976,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/update_reviewer_form.html:4 #: hypha/apply/funds/templates/submissions/submenu/bulk-update-reviewers.html:50 #: hypha/apply/projects/templates/application_projects/project_admin_detail.html:22 -#: hypha/apply/projects/templates/application_projects/project_detail.html:42 +#: hypha/apply/projects/templates/application_projects/project_detail.html:43 msgid "Update" msgstr "" @@ -2953,18 +3000,18 @@ msgstr "" msgid "Create" msgstr "" -#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:28 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:97 +#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:29 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:99 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:68 msgid "Close" msgstr "" -#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:29 +#: hypha/apply/funds/templates/funds/includes/delegated_form_base.html:30 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:69 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:41 -#: hypha/apply/projects/templates/application_projects/project_form.html:30 -#: hypha/apply/projects/templates/application_projects/report_form.html:55 -#: hypha/apply/projects/templates/application_projects/report_form.html:65 +#: hypha/apply/projects/templates/application_projects/project_form.html:29 +#: hypha/apply/projects/templates/application_projects/report_form.html:56 +#: hypha/apply/projects/templates/application_projects/report_form.html:66 msgid "Cancel" msgstr "" @@ -2985,7 +3032,7 @@ msgid "Current status" msgstr "" #: hypha/apply/funds/templates/funds/includes/progress_form.html:6 -#: hypha/apply/funds/workflow.py:776 +#: hypha/apply/funds/workflow.py:876 msgid "Progress" msgstr "" @@ -3016,42 +3063,33 @@ msgstr "" msgid "Legal Name" msgstr "" -#: hypha/apply/funds/templates/funds/includes/rendered_answers.html:20 -msgid "Edit account" -msgstr "" - #: hypha/apply/funds/templates/funds/includes/rendered_answers.html:24 #: hypha/apply/funds/templates/funds/includes/revision_diff_table.html:11 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:53 -#: hypha/apply/projects/templates/application_projects/project_detail.html:114 +#: hypha/apply/projects/templates/application_projects/project_detail.html:115 msgid "E-mail" msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:8 -msgid "Avg. Score" -msgstr "" - -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:14 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:16 msgid "No staff reviewers yet" msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:39 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:41 msgid "Show more..." msgstr "" -#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:40 +#: hypha/apply/funds/templates/funds/includes/review_sidebar.html:42 msgid "Show less..." msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:24 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:25 msgid "Export" msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:34 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:36 msgid "There are no" msgstr "" -#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:34 +#: hypha/apply/funds/templates/funds/includes/round-block-listing.html:36 msgid "rounds" msgstr "" @@ -3086,9 +3124,9 @@ msgstr "" #: hypha/apply/funds/templates/funds/includes/submission_stats.html:6 #: hypha/apply/funds/templates/funds/includes/submission_stats.html:13 -#: hypha/apply/funds/workflow.py:317 hypha/apply/funds/workflow.py:471 -#: hypha/apply/funds/workflow.py:650 hypha/apply/funds/workflow.py:925 -#: hypha/apply/funds/workflow.py:1170 +#: hypha/apply/funds/workflow.py:361 hypha/apply/funds/workflow.py:534 +#: hypha/apply/funds/workflow.py:736 hypha/apply/funds/workflow.py:1050 +#: hypha/apply/funds/workflow.py:1313 msgid "Accepted" msgstr "" @@ -3112,7 +3150,7 @@ msgstr "" #: hypha/apply/funds/templates/funds/submissions_overview.html:28 #: hypha/apply/funds/templates/funds/submissions_result.html:20 #: hypha/apply/review/templates/review/review_list.html:4 -#: hypha/apply/review/templates/review/review_list.html:12 +#: hypha/apply/review/templates/review/review_list.html:10 msgid "Reviews" msgstr "" @@ -3132,46 +3170,46 @@ msgstr "" msgid "Your avg. score" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:17 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:19 #: hypha/apply/funds/templates/funds/submissions.html:17 msgid "Try newer version" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:26 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:28 msgid "Selected" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:66 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:68 msgid "Hide archived" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:68 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:70 msgid "Show archived" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:72 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:75 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:74 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:77 msgid "Filters" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:78 -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:85 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:80 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:87 msgid "Search" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:84 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:86 msgid "submissions" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:85 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:87 msgid "Search input" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:95 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:97 msgid "Clear" msgstr "" -#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:96 +#: hypha/apply/funds/templates/funds/includes/table_filter_and_search.html:98 msgid "Filter by" msgstr "" @@ -3180,7 +3218,7 @@ msgid "Are you sure you want to Unarchive this submission." msgstr "" #: hypha/apply/funds/templates/funds/includes/update_lead_form.html:3 -#: hypha/apply/projects/templates/application_projects/project_detail.html:41 +#: hypha/apply/projects/templates/application_projects/project_detail.html:42 msgid "Assign Lead" msgstr "" @@ -3196,7 +3234,7 @@ msgstr "" msgid "Update Reviewers" msgstr "" -#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:17 +#: hypha/apply/funds/templates/funds/reminder_confirm_delete.html:16 #, python-format msgid ">Are you sure you want to delete \"%(object)s\"?" msgstr "" @@ -3235,12 +3273,12 @@ msgstr "" msgid "Reviews by %(object)s" msgstr "" -#: hypha/apply/funds/templates/funds/revisions_compare.html:7 -msgid "Comparing revisions" +#: hypha/apply/funds/templates/funds/revisions_compare.html:9 +msgid "View revisions" msgstr "" -#: hypha/apply/funds/templates/funds/revisions_compare.html:9 -msgid "Back to revisions" +#: hypha/apply/funds/templates/funds/revisions_compare.html:13 +msgid "Comparing revisions" msgstr "" #: hypha/apply/funds/templates/funds/rounds.html:16 @@ -3291,6 +3329,10 @@ msgstr "" msgid "Submissions awaiting Review" msgstr "" +#: hypha/apply/funds/templates/funds/submissions_by_status.html:11 +msgid "All submissions in " +msgstr "" + #: hypha/apply/funds/templates/funds/submissions_overview.html:10 msgid "Track and explore recent submissions" msgstr "" @@ -3343,6 +3385,7 @@ msgid "There are %(count)s results for: %(search_term)s" msgstr "" #: hypha/apply/funds/templates/funds/tables/table.html:21 +#: hypha/apply/users/groups.py:3 msgid "Applicant" msgstr "" @@ -3512,613 +3555,625 @@ msgstr "" msgid "No rounds available" msgstr "" -#: hypha/apply/funds/views.py:217 hypha/apply/funds/views.py:244 -#: hypha/apply/funds/views.py:263 hypha/apply/funds/views.py:282 -#: hypha/apply/projects/views/project.py:349 +#: hypha/apply/funds/views.py:221 hypha/apply/funds/views.py:250 +#: hypha/apply/funds/views.py:272 hypha/apply/funds/views.py:294 +#: hypha/apply/projects/views/project.py:390 msgid "Sorry something went wrong" msgstr "" -#: hypha/apply/funds/views.py:325 +#: hypha/apply/funds/views.py:343 hypha/apply/funds/views_beta.py:339 msgid "Failed to update: " msgstr "" -#: hypha/apply/funds/views.py:565 hypha/apply/funds/views.py:568 -#: hypha/apply/funds/views.py:601 hypha/apply/funds/views.py:604 +#: hypha/apply/funds/views.py:625 hypha/apply/funds/views.py:628 +#: hypha/apply/funds/views.py:665 hypha/apply/funds/views.py:668 msgid "No Round or Lab found matching the query" msgstr "" -#: hypha/apply/funds/views.py:628 +#: hypha/apply/funds/views.py:692 msgid "No statuses match the requested value" msgstr "" -#: hypha/apply/funds/views.py:702 +#: hypha/apply/funds/views.py:774 msgid "Project Created!" msgstr "" -#: hypha/apply/funds/views.py:1264 -msgid "Submission saved successfully" +#: hypha/apply/funds/views.py:1308 +msgid "Draft saved" msgstr "" -#: hypha/apply/funds/views_beta.py:40 +#: hypha/apply/funds/views_beta.py:42 msgid "No screening" msgstr "" -#: hypha/apply/funds/views_beta.py:200 +#: hypha/apply/funds/views_beta.py:206 msgid "Newest" msgstr "" -#: hypha/apply/funds/views_beta.py:201 +#: hypha/apply/funds/views_beta.py:207 msgid "Oldest" msgstr "" -#: hypha/apply/funds/views_beta.py:202 +#: hypha/apply/funds/views_beta.py:208 msgid "Most Commented" msgstr "" -#: hypha/apply/funds/views_beta.py:203 +#: hypha/apply/funds/views_beta.py:209 msgid "Least Commented" msgstr "" -#: hypha/apply/funds/views_beta.py:204 +#: hypha/apply/funds/views_beta.py:210 msgid "Recently Updated" msgstr "" -#: hypha/apply/funds/views_beta.py:205 +#: hypha/apply/funds/views_beta.py:211 msgid "Least Recently Updated" msgstr "" -#: hypha/apply/funds/views_beta.py:206 +#: hypha/apply/funds/views_beta.py:212 msgid "Best Match" msgstr "" -#: hypha/apply/funds/workflow.py:230 hypha/apply/funds/workflow.py:274 -#: hypha/apply/funds/workflow.py:357 hypha/apply/funds/workflow.py:395 -#: hypha/apply/funds/workflow.py:432 hypha/apply/funds/workflow.py:512 -#: hypha/apply/funds/workflow.py:574 hypha/apply/funds/workflow.py:611 -#: hypha/apply/funds/workflow.py:691 hypha/apply/funds/workflow.py:734 -#: hypha/apply/funds/workflow.py:807 hypha/apply/funds/workflow.py:848 -#: hypha/apply/funds/workflow.py:886 +#: hypha/apply/funds/workflow.py:262 hypha/apply/funds/workflow.py:313 +#: hypha/apply/funds/workflow.py:401 hypha/apply/funds/workflow.py:446 +#: hypha/apply/funds/workflow.py:488 hypha/apply/funds/workflow.py:577 +#: hypha/apply/funds/workflow.py:648 hypha/apply/funds/workflow.py:690 +#: hypha/apply/funds/workflow.py:779 hypha/apply/funds/workflow.py:829 +#: hypha/apply/funds/workflow.py:915 hypha/apply/funds/workflow.py:963 +#: hypha/apply/funds/workflow.py:1006 msgid "Request More Information" msgstr "" -#: hypha/apply/funds/workflow.py:231 hypha/apply/funds/workflow.py:358 -#: hypha/apply/funds/workflow.py:514 hypha/apply/funds/workflow.py:692 -#: hypha/apply/funds/workflow.py:808 +#: hypha/apply/funds/workflow.py:263 hypha/apply/funds/workflow.py:402 +#: hypha/apply/funds/workflow.py:579 hypha/apply/funds/workflow.py:780 +#: hypha/apply/funds/workflow.py:916 msgid "Open Review" msgstr "" -#: hypha/apply/funds/workflow.py:232 hypha/apply/funds/workflow.py:249 -#: hypha/apply/funds/workflow.py:275 hypha/apply/funds/workflow.py:292 -#: hypha/apply/funds/workflow.py:359 hypha/apply/funds/workflow.py:397 -#: hypha/apply/funds/workflow.py:433 hypha/apply/funds/workflow.py:516 -#: hypha/apply/funds/workflow.py:576 hypha/apply/funds/workflow.py:612 +#: hypha/apply/funds/workflow.py:264 hypha/apply/funds/workflow.py:286 +#: hypha/apply/funds/workflow.py:314 hypha/apply/funds/workflow.py:336 +#: hypha/apply/funds/workflow.py:403 hypha/apply/funds/workflow.py:448 +#: hypha/apply/funds/workflow.py:489 hypha/apply/funds/workflow.py:581 +#: hypha/apply/funds/workflow.py:650 hypha/apply/funds/workflow.py:691 msgid "Ready For Determination" msgstr "" -#: hypha/apply/funds/workflow.py:233 hypha/apply/funds/workflow.py:250 -#: hypha/apply/funds/workflow.py:277 hypha/apply/funds/workflow.py:293 -#: hypha/apply/funds/workflow.py:306 hypha/apply/funds/workflow.py:435 -#: hypha/apply/funds/workflow.py:460 hypha/apply/funds/workflow.py:614 -#: hypha/apply/funds/workflow.py:639 hypha/apply/funds/workflow.py:889 -#: hypha/apply/funds/workflow.py:914 +#: hypha/apply/funds/workflow.py:265 hypha/apply/funds/workflow.py:287 +#: hypha/apply/funds/workflow.py:316 hypha/apply/funds/workflow.py:337 +#: hypha/apply/funds/workflow.py:350 hypha/apply/funds/workflow.py:491 +#: hypha/apply/funds/workflow.py:523 hypha/apply/funds/workflow.py:693 +#: hypha/apply/funds/workflow.py:725 hypha/apply/funds/workflow.py:1009 +#: hypha/apply/funds/workflow.py:1039 msgid "Accept but additional info required" msgstr "" -#: hypha/apply/funds/workflow.py:234 hypha/apply/funds/workflow.py:251 -#: hypha/apply/funds/workflow.py:278 hypha/apply/funds/workflow.py:294 -#: hypha/apply/funds/workflow.py:307 hypha/apply/funds/workflow.py:324 -#: hypha/apply/funds/workflow.py:436 hypha/apply/funds/workflow.py:461 -#: hypha/apply/funds/workflow.py:478 hypha/apply/funds/workflow.py:615 -#: hypha/apply/funds/workflow.py:640 hypha/apply/funds/workflow.py:657 -#: hypha/apply/funds/workflow.py:890 hypha/apply/funds/workflow.py:915 -#: hypha/apply/funds/workflow.py:932 +#: hypha/apply/funds/workflow.py:266 hypha/apply/funds/workflow.py:288 +#: hypha/apply/funds/workflow.py:317 hypha/apply/funds/workflow.py:338 +#: hypha/apply/funds/workflow.py:351 hypha/apply/funds/workflow.py:368 +#: hypha/apply/funds/workflow.py:492 hypha/apply/funds/workflow.py:524 +#: hypha/apply/funds/workflow.py:541 hypha/apply/funds/workflow.py:694 +#: hypha/apply/funds/workflow.py:726 hypha/apply/funds/workflow.py:743 +#: hypha/apply/funds/workflow.py:1010 hypha/apply/funds/workflow.py:1040 +#: hypha/apply/funds/workflow.py:1057 #: hypha/cookieconsent/templates/includes/banner.html:12 msgid "Accept" msgstr "" -#: hypha/apply/funds/workflow.py:235 hypha/apply/funds/workflow.py:252 -#: hypha/apply/funds/workflow.py:279 hypha/apply/funds/workflow.py:295 -#: hypha/apply/funds/workflow.py:308 hypha/apply/funds/workflow.py:360 -#: hypha/apply/funds/workflow.py:399 hypha/apply/funds/workflow.py:437 -#: hypha/apply/funds/workflow.py:462 hypha/apply/funds/workflow.py:517 -#: hypha/apply/funds/workflow.py:539 hypha/apply/funds/workflow.py:552 -#: hypha/apply/funds/workflow.py:563 hypha/apply/funds/workflow.py:578 -#: hypha/apply/funds/workflow.py:616 hypha/apply/funds/workflow.py:641 -#: hypha/apply/funds/workflow.py:695 hypha/apply/funds/workflow.py:709 -#: hypha/apply/funds/workflow.py:738 hypha/apply/funds/workflow.py:763 -#: hypha/apply/funds/workflow.py:797 hypha/apply/funds/workflow.py:811 -#: hypha/apply/funds/workflow.py:826 hypha/apply/funds/workflow.py:852 -#: hypha/apply/funds/workflow.py:891 hypha/apply/funds/workflow.py:916 +#: hypha/apply/funds/workflow.py:267 hypha/apply/funds/workflow.py:289 +#: hypha/apply/funds/workflow.py:318 hypha/apply/funds/workflow.py:339 +#: hypha/apply/funds/workflow.py:352 hypha/apply/funds/workflow.py:404 +#: hypha/apply/funds/workflow.py:450 hypha/apply/funds/workflow.py:493 +#: hypha/apply/funds/workflow.py:525 hypha/apply/funds/workflow.py:582 +#: hypha/apply/funds/workflow.py:609 hypha/apply/funds/workflow.py:622 +#: hypha/apply/funds/workflow.py:635 hypha/apply/funds/workflow.py:652 +#: hypha/apply/funds/workflow.py:695 hypha/apply/funds/workflow.py:727 +#: hypha/apply/funds/workflow.py:783 hypha/apply/funds/workflow.py:802 +#: hypha/apply/funds/workflow.py:833 hypha/apply/funds/workflow.py:863 +#: hypha/apply/funds/workflow.py:905 hypha/apply/funds/workflow.py:919 +#: hypha/apply/funds/workflow.py:939 hypha/apply/funds/workflow.py:967 +#: hypha/apply/funds/workflow.py:1011 hypha/apply/funds/workflow.py:1041 msgid "Dismiss" msgstr "" -#: hypha/apply/funds/workflow.py:237 hypha/apply/funds/workflow.py:362 -#: hypha/apply/funds/workflow.py:519 hypha/apply/funds/workflow.py:697 +#: hypha/apply/funds/workflow.py:269 hypha/apply/funds/workflow.py:406 +#: hypha/apply/funds/workflow.py:584 hypha/apply/funds/workflow.py:785 msgid "Need screening" msgstr "" -#: hypha/apply/funds/workflow.py:238 hypha/apply/funds/workflow.py:363 -#: hypha/apply/funds/workflow.py:520 +#: hypha/apply/funds/workflow.py:270 hypha/apply/funds/workflow.py:407 +#: hypha/apply/funds/workflow.py:585 msgid "Application Received" msgstr "" -#: hypha/apply/funds/workflow.py:254 hypha/apply/funds/workflow.py:297 -#: hypha/apply/funds/workflow.py:375 hypha/apply/funds/workflow.py:413 -#: hypha/apply/funds/workflow.py:451 hypha/apply/funds/workflow.py:532 -#: hypha/apply/funds/workflow.py:592 hypha/apply/funds/workflow.py:630 -#: hypha/apply/funds/workflow.py:713 hypha/apply/funds/workflow.py:753 -#: hypha/apply/funds/workflow.py:828 hypha/apply/funds/workflow.py:867 -#: hypha/apply/funds/workflow.py:905 +#: hypha/apply/funds/workflow.py:291 hypha/apply/funds/workflow.py:341 +#: hypha/apply/funds/workflow.py:424 hypha/apply/funds/workflow.py:469 +#: hypha/apply/funds/workflow.py:512 hypha/apply/funds/workflow.py:602 +#: hypha/apply/funds/workflow.py:671 hypha/apply/funds/workflow.py:714 +#: hypha/apply/funds/workflow.py:806 hypha/apply/funds/workflow.py:853 +#: hypha/apply/funds/workflow.py:941 hypha/apply/funds/workflow.py:987 +#: hypha/apply/funds/workflow.py:1030 msgid "More information required" msgstr "" -#: hypha/apply/funds/workflow.py:262 hypha/apply/funds/workflow.py:383 -#: hypha/apply/funds/workflow.py:421 hypha/apply/funds/workflow.py:550 -#: hypha/apply/funds/workflow.py:561 hypha/apply/funds/workflow.py:600 -#: hypha/apply/funds/workflow.py:721 hypha/apply/funds/workflow.py:836 -#: hypha/apply/funds/workflow.py:875 +#: hypha/apply/funds/workflow.py:299 hypha/apply/funds/workflow.py:432 +#: hypha/apply/funds/workflow.py:477 hypha/apply/funds/workflow.py:620 +#: hypha/apply/funds/workflow.py:633 hypha/apply/funds/workflow.py:679 +#: hypha/apply/funds/workflow.py:814 hypha/apply/funds/workflow.py:949 +#: hypha/apply/funds/workflow.py:995 msgid "Close Review" msgstr "" -#: hypha/apply/funds/workflow.py:263 hypha/apply/funds/workflow.py:384 -#: hypha/apply/funds/workflow.py:538 hypha/apply/funds/workflow.py:551 -#: hypha/apply/funds/workflow.py:722 +#: hypha/apply/funds/workflow.py:300 hypha/apply/funds/workflow.py:433 +#: hypha/apply/funds/workflow.py:608 hypha/apply/funds/workflow.py:621 +#: hypha/apply/funds/workflow.py:815 msgid "Need screening (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:265 hypha/apply/funds/workflow.py:386 -#: hypha/apply/funds/workflow.py:554 hypha/apply/funds/workflow.py:725 -#: hypha/apply/funds/workflow.py:839 hypha/apply/funds/workflow.py:1146 +#: hypha/apply/funds/workflow.py:302 hypha/apply/funds/workflow.py:435 +#: hypha/apply/funds/workflow.py:624 hypha/apply/funds/workflow.py:818 +#: hypha/apply/funds/workflow.py:952 hypha/apply/funds/workflow.py:1287 msgid "Internal Review" msgstr "" -#: hypha/apply/funds/workflow.py:266 hypha/apply/funds/workflow.py:387 -#: hypha/apply/funds/workflow.py:555 hypha/apply/funds/workflow.py:566 -#: hypha/apply/funds/workflow.py:726 hypha/apply/funds/workflow.py:840 +#: hypha/apply/funds/workflow.py:303 hypha/apply/funds/workflow.py:436 +#: hypha/apply/funds/workflow.py:625 hypha/apply/funds/workflow.py:638 +#: hypha/apply/funds/workflow.py:819 hypha/apply/funds/workflow.py:953 #, python-brace-format msgid "{org_short_name} Review" msgstr "" -#: hypha/apply/funds/workflow.py:276 hypha/apply/funds/workflow.py:736 +#: hypha/apply/funds/workflow.py:315 hypha/apply/funds/workflow.py:831 msgid "Open Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:281 hypha/apply/funds/workflow.py:401 -#: hypha/apply/funds/workflow.py:439 hypha/apply/funds/workflow.py:580 -#: hypha/apply/funds/workflow.py:618 hypha/apply/funds/workflow.py:740 -#: hypha/apply/funds/workflow.py:854 hypha/apply/funds/workflow.py:893 +#: hypha/apply/funds/workflow.py:320 hypha/apply/funds/workflow.py:452 +#: hypha/apply/funds/workflow.py:495 hypha/apply/funds/workflow.py:654 +#: hypha/apply/funds/workflow.py:697 hypha/apply/funds/workflow.py:835 +#: hypha/apply/funds/workflow.py:969 hypha/apply/funds/workflow.py:1013 msgid "Ready For Discussion" msgstr "" -#: hypha/apply/funds/workflow.py:305 hypha/apply/funds/workflow.py:325 -#: hypha/apply/funds/workflow.py:422 hypha/apply/funds/workflow.py:459 -#: hypha/apply/funds/workflow.py:479 hypha/apply/funds/workflow.py:601 -#: hypha/apply/funds/workflow.py:638 hypha/apply/funds/workflow.py:658 -#: hypha/apply/funds/workflow.py:761 hypha/apply/funds/workflow.py:876 -#: hypha/apply/funds/workflow.py:913 hypha/apply/funds/workflow.py:933 +#: hypha/apply/funds/workflow.py:349 hypha/apply/funds/workflow.py:369 +#: hypha/apply/funds/workflow.py:478 hypha/apply/funds/workflow.py:521 +#: hypha/apply/funds/workflow.py:543 hypha/apply/funds/workflow.py:680 +#: hypha/apply/funds/workflow.py:723 hypha/apply/funds/workflow.py:745 +#: hypha/apply/funds/workflow.py:861 hypha/apply/funds/workflow.py:996 +#: hypha/apply/funds/workflow.py:1038 hypha/apply/funds/workflow.py:1058 msgid "Ready For Discussion (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:310 hypha/apply/funds/workflow.py:464 -#: hypha/apply/funds/workflow.py:643 hypha/apply/funds/workflow.py:1166 +#: hypha/apply/funds/workflow.py:354 hypha/apply/funds/workflow.py:527 +#: hypha/apply/funds/workflow.py:729 hypha/apply/funds/workflow.py:1309 msgid "Ready for Determination" msgstr "" -#: hypha/apply/funds/workflow.py:318 hypha/apply/funds/workflow.py:472 -#: hypha/apply/funds/workflow.py:651 +#: hypha/apply/funds/workflow.py:362 hypha/apply/funds/workflow.py:535 +#: hypha/apply/funds/workflow.py:737 msgid "Application Outcome" msgstr "" -#: hypha/apply/funds/workflow.py:327 hypha/apply/funds/workflow.py:481 -#: hypha/apply/funds/workflow.py:660 hypha/apply/funds/workflow.py:935 +#: hypha/apply/funds/workflow.py:371 hypha/apply/funds/workflow.py:546 +#: hypha/apply/funds/workflow.py:748 hypha/apply/funds/workflow.py:1060 msgid "Accepted but additional info required" msgstr "" -#: hypha/apply/funds/workflow.py:396 hypha/apply/funds/workflow.py:575 -#: hypha/apply/funds/workflow.py:795 hypha/apply/funds/workflow.py:809 -#: hypha/apply/funds/workflow.py:824 hypha/apply/funds/workflow.py:849 -#: hypha/apply/funds/workflow.py:865 +#: hypha/apply/funds/workflow.py:447 hypha/apply/funds/workflow.py:649 +#: hypha/apply/funds/workflow.py:903 hypha/apply/funds/workflow.py:917 +#: hypha/apply/funds/workflow.py:937 hypha/apply/funds/workflow.py:964 +#: hypha/apply/funds/workflow.py:985 msgid "Open External Review" msgstr "" -#: hypha/apply/funds/workflow.py:398 hypha/apply/funds/workflow.py:562 -#: hypha/apply/funds/workflow.py:577 hypha/apply/funds/workflow.py:851 +#: hypha/apply/funds/workflow.py:449 hypha/apply/funds/workflow.py:634 +#: hypha/apply/funds/workflow.py:651 hypha/apply/funds/workflow.py:966 msgid "Open Internal Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:424 hypha/apply/funds/workflow.py:603 -#: hypha/apply/funds/workflow.py:878 hypha/apply/funds/workflow.py:1162 +#: hypha/apply/funds/workflow.py:480 hypha/apply/funds/workflow.py:682 +#: hypha/apply/funds/workflow.py:998 hypha/apply/funds/workflow.py:1305 msgid "External Review" msgstr "" -#: hypha/apply/funds/workflow.py:434 hypha/apply/funds/workflow.py:613 -#: hypha/apply/funds/workflow.py:888 +#: hypha/apply/funds/workflow.py:490 hypha/apply/funds/workflow.py:692 +#: hypha/apply/funds/workflow.py:1008 msgid "Open External Review (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:515 hypha/apply/funds/workflow.py:549 +#: hypha/apply/funds/workflow.py:580 hypha/apply/funds/workflow.py:619 msgid "Open Community Review" msgstr "" -#: hypha/apply/funds/workflow.py:565 +#: hypha/apply/funds/workflow.py:637 msgid "Community Review" msgstr "" -#: hypha/apply/funds/workflow.py:693 hypha/apply/funds/workflow.py:711 -#: hypha/apply/funds/workflow.py:735 +#: hypha/apply/funds/workflow.py:781 hypha/apply/funds/workflow.py:804 +#: hypha/apply/funds/workflow.py:830 msgid "Ready For Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:694 hypha/apply/funds/workflow.py:710 -#: hypha/apply/funds/workflow.py:723 hypha/apply/funds/workflow.py:737 -#: hypha/apply/funds/workflow.py:751 hypha/apply/funds/workflow.py:762 +#: hypha/apply/funds/workflow.py:782 hypha/apply/funds/workflow.py:803 +#: hypha/apply/funds/workflow.py:816 hypha/apply/funds/workflow.py:832 +#: hypha/apply/funds/workflow.py:851 hypha/apply/funds/workflow.py:862 msgid "Invite to Proposal" msgstr "" -#: hypha/apply/funds/workflow.py:698 +#: hypha/apply/funds/workflow.py:786 msgid "Concept Note Received" msgstr "" -#: hypha/apply/funds/workflow.py:765 +#: hypha/apply/funds/workflow.py:865 msgid "Ready for Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:772 +#: hypha/apply/funds/workflow.py:872 msgid "Concept Accepted" msgstr "" -#: hypha/apply/funds/workflow.py:773 +#: hypha/apply/funds/workflow.py:873 msgid "Preliminary Determination" msgstr "" -#: hypha/apply/funds/workflow.py:796 hypha/apply/funds/workflow.py:810 -#: hypha/apply/funds/workflow.py:825 hypha/apply/funds/workflow.py:850 -#: hypha/apply/funds/workflow.py:887 +#: hypha/apply/funds/workflow.py:904 hypha/apply/funds/workflow.py:918 +#: hypha/apply/funds/workflow.py:938 hypha/apply/funds/workflow.py:965 +#: hypha/apply/funds/workflow.py:1007 msgid "Ready For Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:799 hypha/apply/funds/workflow.py:1158 +#: hypha/apply/funds/workflow.py:907 hypha/apply/funds/workflow.py:1301 msgid "Invited for Proposal" msgstr "" -#: hypha/apply/funds/workflow.py:813 +#: hypha/apply/funds/workflow.py:921 msgid "Proposal Received" msgstr "" -#: hypha/apply/funds/workflow.py:837 +#: hypha/apply/funds/workflow.py:950 msgid "Proposal Received (revert)" msgstr "" -#: hypha/apply/funds/workflow.py:918 +#: hypha/apply/funds/workflow.py:1043 msgid "Ready for Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:926 +#: hypha/apply/funds/workflow.py:1051 msgid "Final Determination" msgstr "" -#: hypha/apply/funds/workflow.py:1142 +#: hypha/apply/funds/workflow.py:1283 msgid "Received" msgstr "" -#: hypha/apply/funds/workflow.py:1150 +#: hypha/apply/funds/workflow.py:1291 msgid "Ready for Discussion" msgstr "" -#: hypha/apply/funds/workflow.py:1154 +#: hypha/apply/funds/workflow.py:1297 msgid "More Information Requested" msgstr "" -#: hypha/apply/middleware.py:18 +#: hypha/apply/middleware.py:19 msgid "" "The object you are trying to delete is used somewhere. Please remove any " "usages and try again!." msgstr "" -#: hypha/apply/projects/filters.py:88 +#: hypha/apply/projects/filters.py:106 msgid "Reporting Period" msgstr "" -#: hypha/apply/projects/forms/payment.py:89 +#: hypha/apply/projects/forms/payment.py:107 msgid "The invoice must be a PDF." msgstr "" -#: hypha/apply/projects/forms/payment.py:93 +#: hypha/apply/projects/forms/payment.py:112 msgid "" "Files that are related to the invoice. They could be xls, microsoft office " "documents, open office documents, pdfs, txt files." msgstr "" -#: hypha/apply/projects/forms/payment.py:112 +#: hypha/apply/projects/forms/payment.py:138 msgid "Invoice File" msgstr "" -#: hypha/apply/projects/forms/payment.py:163 +#: hypha/apply/projects/forms/payment.py:195 msgid "File not found on submission" msgstr "" -#: hypha/apply/projects/forms/project.py:58 +#: hypha/apply/projects/forms/project.py:59 msgid "Something changed before your approval please re-review" msgstr "" -#: hypha/apply/projects/forms/project.py:62 +#: hypha/apply/projects/forms/project.py:65 msgid "The contract you were trying to approve has already been approved" msgstr "" -#: hypha/apply/projects/forms/project.py:65 +#: hypha/apply/projects/forms/project.py:69 msgid "You can only approve a signed contract" msgstr "" -#: hypha/apply/projects/forms/project.py:80 +#: hypha/apply/projects/forms/project.py:85 msgid "Select Project Lead" msgstr "" -#: hypha/apply/projects/forms/project.py:98 +#: hypha/apply/projects/forms/project.py:104 msgid "Project lead is a required field" msgstr "" -#: hypha/apply/projects/forms/project.py:279 +#: hypha/apply/projects/forms/project.py:295 msgid "A Project can only be sent for Approval when Drafted." msgstr "" -#: hypha/apply/projects/forms/project.py:337 -#: hypha/apply/projects/forms/project.py:349 +#: hypha/apply/projects/forms/project.py:363 +#: hypha/apply/projects/forms/project.py:375 #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:49 msgid "Contract" msgstr "" -#: hypha/apply/projects/forms/project.py:357 +#: hypha/apply/projects/forms/project.py:383 msgid "Document" msgstr "" -#: hypha/apply/projects/forms/project.py:372 +#: hypha/apply/projects/forms/project.py:398 msgid "Contract Document" msgstr "" -#: hypha/apply/projects/forms/report.py:15 +#: hypha/apply/projects/forms/report.py:16 msgid "This section of the report will be shared with the broader community." msgstr "" -#: hypha/apply/projects/forms/report.py:18 +#: hypha/apply/projects/forms/report.py:20 msgid "This section of the report will be shared with staff only." msgstr "" -#: hypha/apply/projects/forms/report.py:53 +#: hypha/apply/projects/forms/report.py:56 msgid "Must include either public or private content when submitting a report." msgstr "" -#: hypha/apply/projects/forms/vendor.py:50 -#: hypha/apply/projects/models/vendor.py:48 +#: hypha/apply/projects/forms/vendor.py:52 +#: hypha/apply/projects/models/vendor.py:42 msgid "Yes, the account belongs to the organisation above" msgstr "" -#: hypha/apply/projects/forms/vendor.py:51 -#: hypha/apply/projects/models/vendor.py:49 +#: hypha/apply/projects/forms/vendor.py:53 +#: hypha/apply/projects/models/vendor.py:43 msgid "No, it is a personal bank account" msgstr "" -#: hypha/apply/projects/forms/vendor.py:106 hypha/apply/review/options.py:23 +#: hypha/apply/projects/forms/vendor.py:113 hypha/apply/review/options.py:23 msgid "No" msgstr "" -#: hypha/apply/projects/forms/vendor.py:106 hypha/apply/review/options.py:25 +#: hypha/apply/projects/forms/vendor.py:113 hypha/apply/review/options.py:25 msgid "Yes" msgstr "" -#: hypha/apply/projects/models/payment.py:31 -msgid "Resubmitted" -msgstr "" - #: hypha/apply/projects/models/payment.py:32 -msgid "Changes Requested by Staff" +msgid "Resubmitted" msgstr "" #: hypha/apply/projects/models/payment.py:33 -msgid "Changes Requested by Finance 1" +msgid "Changes requested by staff" msgstr "" #: hypha/apply/projects/models/payment.py:34 -msgid "Changes Requested by Finance 2" +msgid "Changes requested by finance" msgstr "" #: hypha/apply/projects/models/payment.py:35 -msgid "Approved by Staff" +msgid "Changes requested by finance 2" msgstr "" #: hypha/apply/projects/models/payment.py:36 -msgid "Approved by Finance 1" +msgid "Approved by staff" msgstr "" #: hypha/apply/projects/models/payment.py:37 -msgid "Approved by Finance 2" +msgid "Approved by finance" +msgstr "" + +#: hypha/apply/projects/models/payment.py:38 +msgid "Approved by finance 2" msgstr "" -#: hypha/apply/projects/models/payment.py:38 hypha/apply/projects/utils.py:122 +#: hypha/apply/projects/models/payment.py:39 hypha/apply/projects/utils.py:139 msgid "Paid" msgstr "" -#: hypha/apply/projects/models/payment.py:39 hypha/apply/projects/utils.py:120 +#: hypha/apply/projects/models/payment.py:40 hypha/apply/projects/utils.py:141 +msgid "Payment failed" +msgstr "" + +#: hypha/apply/projects/models/payment.py:41 hypha/apply/projects/utils.py:137 msgid "Declined" msgstr "" -#: hypha/apply/projects/models/payment.py:121 +#: hypha/apply/projects/models/payment.py:144 msgid "Quantity Selected on an Invoice" msgstr "" -#: hypha/apply/projects/models/payment.py:148 +#: hypha/apply/projects/models/payment.py:173 msgid "Message" msgstr "" -#: hypha/apply/projects/models/payment.py:150 +#: hypha/apply/projects/models/payment.py:176 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:19 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:29 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:90 #: hypha/apply/projects/templates/application_projects/includes/invoices.html:100 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:20 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:21 msgid "Invoice number" msgstr "" -#: hypha/apply/projects/models/payment.py:156 +#: hypha/apply/projects/models/payment.py:183 msgid "Invoice amount" msgstr "" -#: hypha/apply/projects/models/payment.py:168 +#: hypha/apply/projects/models/payment.py:192 #, python-brace-format msgid "Invoice requested for {project}" msgstr "" -#: hypha/apply/projects/models/project.py:77 +#: hypha/apply/projects/models/project.py:76 msgid "Internal approval" msgstr "" -#: hypha/apply/projects/models/project.py:78 +#: hypha/apply/projects/models/project.py:77 +#: hypha/apply/projects/models/project.py:85 hypha/apply/users/groups.py:11 msgid "Contracting" msgstr "" -#: hypha/apply/projects/models/project.py:79 +#: hypha/apply/projects/models/project.py:78 +#: hypha/apply/projects/models/project.py:86 msgid "Invoicing and reporting" msgstr "" -#: hypha/apply/projects/models/project.py:80 +#: hypha/apply/projects/models/project.py:79 +#: hypha/apply/projects/models/project.py:87 msgid "Closing" msgstr "" -#: hypha/apply/projects/models/project.py:81 +#: hypha/apply/projects/models/project.py:80 +#: hypha/apply/projects/models/project.py:88 msgid "Complete" msgstr "" -#: hypha/apply/projects/models/project.py:169 +#: hypha/apply/projects/models/project.py:84 +msgid "{} approval" +msgstr "" + +#: hypha/apply/projects/models/project.py:210 msgid "Proposed Start Date" msgstr "" -#: hypha/apply/projects/models/project.py:170 +#: hypha/apply/projects/models/project.py:211 msgid "Proposed End Date" msgstr "" -#: hypha/apply/projects/models/project.py:299 +#: hypha/apply/projects/models/project.py:348 msgid "Proposed End Date must be after Proposed Start Date" msgstr "" -#: hypha/apply/projects/models/project.py:467 +#: hypha/apply/projects/models/project.py:489 msgid "user groups" msgstr "" -#: hypha/apply/projects/models/project.py:469 +#: hypha/apply/projects/models/project.py:491 msgid "Only selected group's users will be listed for this PAFReviewerRole" msgstr "" -#: hypha/apply/projects/models/project.py:500 -#: hypha/apply/projects/models/project.py:502 +#: hypha/apply/projects/models/project.py:528 +#: hypha/apply/projects/models/project.py:530 msgid "PAF Reviewers Roles" msgstr "" -#: hypha/apply/projects/models/project.py:521 +#: hypha/apply/projects/models/project.py:559 #, python-brace-format msgid "Approval of {project} by {user}" msgstr "" -#: hypha/apply/projects/models/project.py:554 +#: hypha/apply/projects/models/project.py:601 msgid "Counter Signed" msgstr "" -#: hypha/apply/projects/models/project.py:554 +#: hypha/apply/projects/models/project.py:601 msgid "Unsigned" msgstr "" -#: hypha/apply/projects/models/project.py:557 +#: hypha/apply/projects/models/project.py:604 #, python-brace-format msgid "Contract for {project} ({state})" msgstr "" -#: hypha/apply/projects/models/project.py:572 +#: hypha/apply/projects/models/project.py:628 #, python-brace-format msgid "Project file: {title}" msgstr "" -#: hypha/apply/projects/models/project.py:605 +#: hypha/apply/projects/models/project.py:671 #, python-brace-format msgid "Contract file: {title}" msgstr "" -#: hypha/apply/projects/models/report.py:189 +#: hypha/apply/projects/models/report.py:212 msgid "week" msgstr "" -#: hypha/apply/projects/models/report.py:190 +#: hypha/apply/projects/models/report.py:213 msgid "month" msgstr "" -#: hypha/apply/projects/models/report.py:191 +#: hypha/apply/projects/models/report.py:214 msgid "year" msgstr "" -#: hypha/apply/projects/models/report.py:193 +#: hypha/apply/projects/models/report.py:216 msgid "Weeks" msgstr "" -#: hypha/apply/projects/models/report.py:194 +#: hypha/apply/projects/models/report.py:217 msgid "Months" msgstr "" -#: hypha/apply/projects/models/report.py:195 hypha/public/partner/tables.py:22 +#: hypha/apply/projects/models/report.py:218 hypha/public/partner/tables.py:26 msgid "Years" msgstr "" -#: hypha/apply/projects/models/report.py:207 +#: hypha/apply/projects/models/report.py:232 msgid "Reporting Disabled" msgstr "" -#: hypha/apply/projects/models/report.py:211 +#: hypha/apply/projects/models/report.py:237 #, python-brace-format msgid "One time, that already has reported on {date}" msgstr "" -#: hypha/apply/projects/models/report.py:213 +#: hypha/apply/projects/models/report.py:242 #, python-brace-format msgid "One time on {date}" msgstr "" -#: hypha/apply/projects/models/report.py:218 -#: hypha/apply/projects/models/report.py:229 +#: hypha/apply/projects/models/report.py:250 +#: hypha/apply/projects/models/report.py:265 msgid "last day" msgstr "" -#: hypha/apply/projects/models/report.py:224 +#: hypha/apply/projects/models/report.py:256 #, python-brace-format msgid "Once a year on {month} {day}" msgstr "" -#: hypha/apply/projects/models/report.py:225 +#: hypha/apply/projects/models/report.py:259 #, python-brace-format msgid "Every {occurrence} years on {month} {day}" msgstr "" -#: hypha/apply/projects/models/report.py:233 +#: hypha/apply/projects/models/report.py:269 #, python-brace-format msgid "Once a month on the {day}" msgstr "" -#: hypha/apply/projects/models/report.py:234 +#: hypha/apply/projects/models/report.py:270 #, python-brace-format msgid "Every {occurrence} months on the {day}" msgstr "" -#: hypha/apply/projects/models/report.py:239 +#: hypha/apply/projects/models/report.py:277 #, python-brace-format msgid "Once a week on {weekday}" msgstr "" -#: hypha/apply/projects/models/report.py:240 +#: hypha/apply/projects/models/report.py:278 #, python-brace-format msgid "Every {occurrence} weeks on {weekday}" msgstr "" #: hypha/apply/projects/tables.py:13 -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:26 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:27 msgid "Invoice Number" msgstr "" -#: hypha/apply/projects/tables.py:17 +#: hypha/apply/projects/tables.py:16 msgid "Project Name" msgstr "" @@ -4133,13 +4188,13 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/filters/widgets/date_range_input_widget.html:5 #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:24 #: hypha/apply/projects/templates/application_projects/includes/report_line.html:9 -#: hypha/apply/projects/templates/application_projects/report_detail.html:21 -#: hypha/apply/projects/templates/application_projects/report_form.html:28 +#: hypha/apply/projects/templates/application_projects/report_detail.html:22 +#: hypha/apply/projects/templates/application_projects/report_form.html:29 msgid "to" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:6 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:126 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:127 msgid "Contracting documents" msgstr "" @@ -4181,78 +4236,78 @@ msgstr "" msgid "Contracting team " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:89 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:108 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:160 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:205 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:90 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:109 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:161 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:206 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:190 -#: hypha/apply/templates/forms/includes/field.html:8 +#: hypha/apply/templates/forms/includes/field.html:11 msgid "Upload" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:91 -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:110 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:92 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:111 msgid "Reupload" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Pending countersigned contract by " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Countersigned contract by " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "you " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:100 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:101 msgid "Vendor " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:140 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:141 msgid "Pending " msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:148 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:149 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:177 msgid "View template" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:182 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:183 #: hypha/apply/projects/templates/application_projects/includes/deliverables_block.html:35 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:214 msgid "Remove" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:204 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:205 msgid "Upload Countersigned Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:207 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:208 msgid "Upload Signed Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:208 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:209 msgid "The signed contract will be sent to Applicant once you submit." msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:218 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:219 msgid "Upload contracting documents" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:227 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:228 msgid "Approve Contract" msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:228 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:229 msgid "" "You confirm that the uploaded contract is acceptable for commencing the " "project." msgstr "" -#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:229 +#: hypha/apply/projects/templates/application_projects/includes/contracting_documents.html:230 msgid "This cannot be undone." msgstr "" @@ -4359,14 +4414,14 @@ msgid "Report every:" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/report_frequency_config.html:73 -#: hypha/apply/projects/templates/application_projects/project_form.html:34 -#: hypha/apply/projects/templates/application_projects/report_form.html:45 -#: hypha/apply/projects/templates/application_projects/report_form.html:56 -#: hypha/apply/projects/views/payment.py:183 -#: hypha/apply/projects/views/payment.py:236 -#: hypha/apply/projects/views/project.py:1201 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:69 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:97 +#: hypha/apply/projects/templates/application_projects/project_form.html:33 +#: hypha/apply/projects/templates/application_projects/report_form.html:46 +#: hypha/apply/projects/templates/application_projects/report_form.html:57 +#: hypha/apply/projects/views/payment.py:189 +#: hypha/apply/projects/views/payment.py:246 +#: hypha/apply/projects/views/project.py:1395 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:70 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:98 msgid "Save" msgstr "" @@ -4470,15 +4525,17 @@ msgid "View/Update Approvers" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:42 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:130 msgid "Change approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:51 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:143 msgid "Assign approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:91 -#: hypha/apply/projects/views/vendor.py:250 +#: hypha/apply/projects/views/vendor.py:258 msgid "Contracting Information" msgstr "" @@ -4575,17 +4632,21 @@ msgid "All approvers will be notified via email." msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:296 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:133 msgid "Change Approver" msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:297 #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:307 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:134 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:147 msgid "" "Selected approver will be notified. On unselecting, every listed member here " "will be notified." msgstr "" #: hypha/apply/projects/templates/application_projects/includes/supporting_documents.html:306 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:146 msgid "Assign Approver" msgstr "" @@ -4599,51 +4660,58 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:4 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:12 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:51 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:14 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:65 #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:19 msgid "Invoice" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:12 -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:90 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:9 +#: hypha/apply/projects/templates/application_projects/project_sow_detail.html:12 +#: hypha/apply/projects/templates/application_projects/report_detail.html:11 +#: hypha/apply/projects/templates/application_projects/report_form.html:15 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:11 +msgid "View project page" +msgstr "" + +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:14 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:104 msgid "Delete Invoice" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:24 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:25 #: hypha/apply/projects/templates/application_projects/invoice_detail.html:23 msgid "Vendor" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:31 +#: hypha/apply/projects/templates/application_projects/invoice_confirm_delete.html:32 msgid "Are you sure you want to delete this invoice for" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:41 -msgid "View status history" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:43 -msgid "Hide status history" +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:57 +msgid "Hide" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:56 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:133 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:70 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:90 msgid "Supporting Documents" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:73 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:87 msgid "" "Only editable when 'Submitted' or you have been requested to make changes" msgstr "" -#: hypha/apply/projects/templates/application_projects/invoice_detail.html:82 +#: hypha/apply/projects/templates/application_projects/invoice_detail.html:96 msgid "Edit Invoice" msgstr "" #: hypha/apply/projects/templates/application_projects/invoice_form.html:4 -#: hypha/apply/projects/templates/application_projects/invoice_form.html:11 +#: hypha/apply/projects/templates/application_projects/invoice_form.html:17 msgid "Add" msgstr "" @@ -4683,131 +4751,110 @@ msgstr "" msgid "Update Project Status" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:34 -#: hypha/apply/projects/templates/application_projects/project_detail.html:106 -msgid "Project Information" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:38 -msgid "Proposed start date" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:43 -msgid "Project Proposed end date" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:48 -msgid "Legal name" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:63 -msgid "Phone" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:68 -msgid "Value" +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:15 +msgid "Back to Project" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:74 -msgid "Sent to Compliance" +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:35 +#: hypha/apply/projects/templates/application_projects/project_detail.html:107 +msgid "Project Information" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:95 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:52 msgid "Approvals" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:101 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:58 msgid " - Pending" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:106 -#: hypha/apply/review/templates/review/review_detail.html:10 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:63 +#: hypha/apply/review/templates/review/review_detail.html:12 msgid "Review" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:108 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:65 msgid "Submission lead" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:111 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:68 msgid "Staff reviewers" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:121 -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:129 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:78 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:86 msgid "No reviews" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:123 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:80 msgid "Advisory council" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:153 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:110 msgid "Edit PAF" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:157 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:114 msgid "Download Approval Form" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:161 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:118 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:28 msgid "Download as PDF" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:163 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:120 #: hypha/apply/projects/templates/application_projects/project_sow_detail.html:30 msgid "Download as DOCX" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:170 +#: hypha/apply/projects/templates/application_projects/project_approval_detail.html:156 msgid "Project's current status" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:79 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:76 +msgid "Proposal attachments" +msgstr "" + +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:88 msgid "Approval form not configured. Please add an approval form in the" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_approval_form.html:80 +#: hypha/apply/projects/templates/application_projects/project_approval_form.html:89 msgid "fund settings" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:13 +#: hypha/apply/projects/templates/application_projects/project_detail.html:14 #, python-format msgid " This project is in %(status)s state. " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:74 +#: hypha/apply/projects/templates/application_projects/project_detail.html:75 msgid "Details" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:109 +#: hypha/apply/projects/templates/application_projects/project_detail.html:110 msgid "Contractor" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:151 -#: hypha/apply/projects/templates/application_projects/project_detail.html:156 -msgid "Next Step" -msgstr "" - -#: hypha/apply/projects/templates/application_projects/project_detail.html:171 -#: hypha/apply/projects/templates/application_projects/project_detail.html:177 +#: hypha/apply/projects/templates/application_projects/project_detail.html:174 +#: hypha/apply/projects/templates/application_projects/project_detail.html:180 msgid "PAF Approvals" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:188 -msgid "Requested changes by " +#: hypha/apply/projects/templates/application_projects/project_detail.html:191 +msgid "Request changes or more information by " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:196 +#: hypha/apply/projects/templates/application_projects/project_detail.html:199 msgid "Pending approval from " msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:196 +#: hypha/apply/projects/templates/application_projects/project_detail.html:199 msgid " (nobody assigned yet)" msgstr "" -#: hypha/apply/projects/templates/application_projects/project_detail.html:199 +#: hypha/apply/projects/templates/application_projects/project_detail.html:202 msgid "Approved by " msgstr "" @@ -4835,35 +4882,35 @@ msgstr "" msgid "Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:13 +#: hypha/apply/projects/templates/application_projects/report_detail.html:15 msgid "View report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:21 +#: hypha/apply/projects/templates/application_projects/report_detail.html:22 msgid "This report is for the period" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:26 +#: hypha/apply/projects/templates/application_projects/report_detail.html:27 msgid "Report Skipped" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:28 +#: hypha/apply/projects/templates/application_projects/report_detail.html:29 msgid "Public Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:33 +#: hypha/apply/projects/templates/application_projects/report_detail.html:34 msgid "Private Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:39 +#: hypha/apply/projects/templates/application_projects/report_detail.html:40 msgid "Attachements" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:66 +#: hypha/apply/projects/templates/application_projects/report_detail.html:67 msgid "View previous report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_detail.html:73 +#: hypha/apply/projects/templates/application_projects/report_detail.html:74 msgid "View next report" msgstr "" @@ -4871,29 +4918,29 @@ msgstr "" msgid "Edit Report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:17 +#: hypha/apply/projects/templates/application_projects/report_form.html:19 msgid "Submit a report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:28 +#: hypha/apply/projects/templates/application_projects/report_form.html:29 msgid "You are reporting for the period running from" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:50 +#: hypha/apply/projects/templates/application_projects/report_form.html:51 msgid "Save report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:52 +#: hypha/apply/projects/templates/application_projects/report_form.html:53 msgid "" "Saving a draft means this report will be visible to you and staff from your " "project page." msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:62 +#: hypha/apply/projects/templates/application_projects/report_form.html:63 msgid "Submit report" msgstr "" -#: hypha/apply/projects/templates/application_projects/report_form.html:63 +#: hypha/apply/projects/templates/application_projects/report_form.html:64 msgid "Are you sure you want to submit your report?" msgstr "" @@ -4910,11 +4957,11 @@ msgid "No Reports Available." msgstr "" #: hypha/apply/projects/templates/application_projects/vendor_detail.html:4 -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:12 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:14 msgid "Contracting Information for" msgstr "" -#: hypha/apply/projects/templates/application_projects/vendor_detail.html:18 +#: hypha/apply/projects/templates/application_projects/vendor_detail.html:19 msgid "Last Updated" msgstr "" @@ -4923,7 +4970,7 @@ msgstr "" msgid "Update Contracting Information" msgstr "" -#: hypha/apply/projects/templates/application_projects/vendor_form.html:27 +#: hypha/apply/projects/templates/application_projects/vendor_form.html:26 msgid "Save and continue" msgstr "" @@ -4962,20 +5009,56 @@ msgstr "" msgid "Visit Project Detail Page" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:33 +#: hypha/apply/projects/templatetags/invoice_tools.py:113 +#, python-brace-format +msgid "{status} by {user_role}" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:36 +#: hypha/apply/projects/templatetags/project_tags.py:41 +#: hypha/apply/projects/templatetags/project_tags.py:45 +#: hypha/apply/projects/templatetags/project_tags.py:158 +#: hypha/apply/projects/templatetags/project_tags.py:170 +#: hypha/apply/projects/templatetags/project_tags.py:180 +#: hypha/apply/projects/templatetags/project_tags.py:199 +#: hypha/apply/projects/templatetags/project_tags.py:204 +msgid "To do" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:37 msgid "Fill in the Approval Form(PAF)" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:35 +#: hypha/apply/projects/templatetags/project_tags.py:42 msgid "Resubmit project documents for approval" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:36 +#: hypha/apply/projects/templatetags/project_tags.py:46 msgid "Submit project documents for approval" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:38 -#: hypha/apply/projects/templatetags/project_tags.py:46 +#: hypha/apply/projects/templatetags/project_tags.py:50 +#: hypha/apply/projects/templatetags/project_tags.py:58 +#: hypha/apply/projects/templatetags/project_tags.py:62 +#: hypha/apply/projects/templatetags/project_tags.py:68 +#: hypha/apply/projects/templatetags/project_tags.py:84 +#: hypha/apply/projects/templatetags/project_tags.py:90 +#: hypha/apply/projects/templatetags/project_tags.py:105 +#: hypha/apply/projects/templatetags/project_tags.py:114 +#: hypha/apply/projects/templatetags/project_tags.py:120 +#: hypha/apply/projects/templatetags/project_tags.py:128 +#: hypha/apply/projects/templatetags/project_tags.py:137 +#: hypha/apply/projects/templatetags/project_tags.py:144 +#: hypha/apply/projects/templatetags/project_tags.py:150 +#: hypha/apply/projects/templatetags/project_tags.py:164 +#: hypha/apply/projects/templatetags/project_tags.py:174 +#: hypha/apply/projects/templatetags/project_tags.py:187 +#: hypha/apply/projects/templatetags/project_tags.py:193 +msgid "Waiting for" +msgstr "" + +#: hypha/apply/projects/templatetags/project_tags.py:52 +#: hypha/apply/projects/templatetags/project_tags.py:70 #, python-brace-format msgid "" "Awaiting project documents to be created and approved by {org_short_name} " @@ -4983,213 +5066,213 @@ msgid "" "stage." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:42 +#: hypha/apply/projects/templatetags/project_tags.py:59 msgid "Changes requested. Awaiting documents to be resubmitted." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:43 +#: hypha/apply/projects/templatetags/project_tags.py:63 msgid "Awaiting approval form to be created." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:56 -#: hypha/apply/projects/templatetags/project_tags.py:75 +#: hypha/apply/projects/templatetags/project_tags.py:86 +#: hypha/apply/projects/templatetags/project_tags.py:122 #, python-brace-format msgid "Awaiting approval. Assigned to {approver}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:59 -#: hypha/apply/projects/templatetags/project_tags.py:77 +#: hypha/apply/projects/templatetags/project_tags.py:92 +#: hypha/apply/projects/templatetags/project_tags.py:130 #, python-brace-format msgid "Awaiting {reviewer_role} to assign an approver" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:68 +#: hypha/apply/projects/templatetags/project_tags.py:106 msgid "Awaiting PAF approval form to be approved" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:72 +#: hypha/apply/projects/templatetags/project_tags.py:115 msgid "Awaiting approval from other approvers teams" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:80 +#: hypha/apply/projects/templatetags/project_tags.py:138 msgid "Awaiting project approval from assigned approvers" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:84 +#: hypha/apply/projects/templatetags/project_tags.py:145 #, python-brace-format msgid "Awaiting signed contract from {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:86 +#: hypha/apply/projects/templatetags/project_tags.py:151 msgid "Awaiting signed contract from Contracting team" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:91 +#: hypha/apply/projects/templatetags/project_tags.py:160 msgid "Awaiting contract documents to be submitted by you." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:92 +#: hypha/apply/projects/templatetags/project_tags.py:165 msgid "Awaiting countersigned contract from Vendor" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:95 +#: hypha/apply/projects/templatetags/project_tags.py:171 msgid "Awaiting contract documents submission by you" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:96 +#: hypha/apply/projects/templatetags/project_tags.py:175 msgid "Awaiting contract documents submission from Vendor" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:99 +#: hypha/apply/projects/templatetags/project_tags.py:182 msgid "Review the contract for all relevant details and approve." msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:101 +#: hypha/apply/projects/templatetags/project_tags.py:189 #, python-brace-format msgid "Awaiting contract approval from {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:103 +#: hypha/apply/projects/templatetags/project_tags.py:194 msgid "Awaiting contract approval from Staff" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:106 +#: hypha/apply/projects/templatetags/project_tags.py:200 msgid "Add invoices" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:108 +#: hypha/apply/projects/templatetags/project_tags.py:205 msgid "Review invoice and take action" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:120 +#: hypha/apply/projects/templatetags/project_tags.py:224 #, python-brace-format msgid "Please download the signed contract uploaded by {org_short_name}" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:122 +#: hypha/apply/projects/templatetags/project_tags.py:226 msgid "Countersign" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:123 +#: hypha/apply/projects/templatetags/project_tags.py:227 msgid "Upload it back" msgstr "" -#: hypha/apply/projects/templatetags/project_tags.py:124 +#: hypha/apply/projects/templatetags/project_tags.py:229 msgid "Please also make sure to upload other required contracting documents" msgstr "" -#: hypha/apply/projects/utils.py:113 -msgid "Pending Approval" +#: hypha/apply/projects/utils.py:129 +msgid "Pending approval" msgstr "" -#: hypha/apply/projects/utils.py:118 +#: hypha/apply/projects/utils.py:135 msgid "Request for change or more information" msgstr "" -#: hypha/apply/projects/views/payment.py:63 -#: hypha/apply/projects/views/payment.py:268 +#: hypha/apply/projects/views/payment.py:64 +#: hypha/apply/projects/views/payment.py:285 #, python-brace-format msgid "

    Invoice status updated to: {status}.

    " msgstr "" -#: hypha/apply/projects/views/payment.py:195 +#: hypha/apply/projects/views/payment.py:203 msgid "

    Invoice added.

    " msgstr "" -#: hypha/apply/projects/views/project.py:157 +#: hypha/apply/projects/views/project.py:176 msgid "PAF has been submitted for approval" msgstr "" -#: hypha/apply/projects/views/project.py:180 +#: hypha/apply/projects/views/project.py:203 msgid "Document has been uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:200 +#: hypha/apply/projects/views/project.py:227 msgid "Document has been removed" msgstr "" -#: hypha/apply/projects/views/project.py:224 +#: hypha/apply/projects/views/project.py:255 msgid "Contracting document has been removed" msgstr "" -#: hypha/apply/projects/views/project.py:296 +#: hypha/apply/projects/views/project.py:332 msgid "Lead has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:380 +#: hypha/apply/projects/views/project.py:425 msgid "" "Contractor documents have been approved. You can receive invoices from " "vendor now." msgstr "" -#: hypha/apply/projects/views/project.py:418 +#: hypha/apply/projects/views/project.py:467 msgid "Countersigned contract uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:421 +#: hypha/apply/projects/views/project.py:474 msgid "Signed contract uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:466 +#: hypha/apply/projects/views/project.py:530 msgid "Contract documents submitted" msgstr "" -#: hypha/apply/projects/views/project.py:493 +#: hypha/apply/projects/views/project.py:554 msgid "Contracting document has been uploaded" msgstr "" -#: hypha/apply/projects/views/project.py:533 +#: hypha/apply/projects/views/project.py:609 #, python-brace-format msgid "

    {role} has updated PAF status to {paf_status}.

    " msgstr "" -#: hypha/apply/projects/views/project.py:560 +#: hypha/apply/projects/views/project.py:649 msgid "PAF status has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:584 +#: hypha/apply/projects/views/project.py:680 msgid "PAF has been approved" msgstr "" -#: hypha/apply/projects/views/project.py:656 +#: hypha/apply/projects/views/project.py:757 msgid "Project status has been updated" msgstr "" -#: hypha/apply/projects/views/project.py:770 +#: hypha/apply/projects/views/project.py:897 msgid "PAF approvers have been updated" msgstr "" -#: hypha/apply/projects/views/project.py:1206 +#: hypha/apply/projects/views/project.py:1401 msgid "You are not allowed to edit the project at this time" msgstr "" -#: hypha/apply/projects/views/vendor.py:259 +#: hypha/apply/projects/views/vendor.py:272 msgid "Bank Account Information" msgstr "" -#: hypha/apply/projects/views/vendor.py:268 +#: hypha/apply/projects/views/vendor.py:297 msgid "(Optional) Extra Information for Accepting Payments" msgstr "" -#: hypha/apply/projects/views/vendor.py:273 +#: hypha/apply/projects/views/vendor.py:310 msgid "Intermediary Bank Account Information" msgstr "" -#: hypha/apply/projects/views/vendor.py:282 +#: hypha/apply/projects/views/vendor.py:336 msgid "Account Holder National Identity Document Information" msgstr "" #: hypha/apply/review/blocks.py:34 -#: hypha/apply/review/templates/review/review_detail.html:23 +#: hypha/apply/review/templates/review/review_detail.html:26 msgid "Score" msgstr "" -#: hypha/apply/review/models.py:162 -#: hypha/apply/review/templates/review/review_detail.html:19 +#: hypha/apply/review/models.py:169 +#: hypha/apply/review/templates/review/review_detail.html:22 msgid "Recommendation" msgstr "" -#: hypha/apply/review/models.py:167 +#: hypha/apply/review/models.py:178 msgid "Visibility" msgstr "" @@ -5253,7 +5336,8 @@ msgstr "" msgid "Add a review" msgstr "" -#: hypha/apply/review/templates/review/review_confirm_delete.html:17 +#: hypha/apply/review/templates/review/review_confirm_delete.html:16 +#: hypha/apply/review/templates/review/reviewopinion_confirm_delete.html:16 msgid "Are you sure you want to delete" msgstr "" @@ -5261,33 +5345,38 @@ msgstr "" msgid "Review for" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:11 +#: hypha/apply/review/templates/review/review_detail.html:14 msgid "at" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:49 +#: hypha/apply/review/templates/review/review_detail.html:52 msgid "Review was not against the latest version" msgstr "" -#: hypha/apply/review/templates/review/review_detail.html:69 +#: hypha/apply/review/templates/review/review_detail.html:74 msgid "" "An opinion is a replacement for a review. You will no longer be able to " "submit a review for this application." msgstr "" -#: hypha/apply/review/templates/review/review_form.html:46 +#: hypha/apply/review/templates/review/review_form.html:47 msgid "You have already posted a review for this submission" msgstr "" -#: hypha/apply/review/views.py:66 +#: hypha/apply/review/templatetags/review_tags.py:58 +#, python-brace-format +msgid "Avg. score: {average}" +msgstr "" + +#: hypha/apply/review/views.py:68 msgid "Edit Review" msgstr "" -#: hypha/apply/review/views.py:136 +#: hypha/apply/review/views.py:145 msgid "Update Review draft" msgstr "" -#: hypha/apply/review/views.py:136 +#: hypha/apply/review/views.py:145 msgid "Create Review" msgstr "" @@ -5296,7 +5385,7 @@ msgid "Help link" msgstr "" #: hypha/apply/stream_forms/blocks.py:115 -#: hypha/apply/stream_forms/blocks.py:216 +#: hypha/apply/stream_forms/blocks.py:213 msgid "Required" msgstr "" @@ -5351,7 +5440,7 @@ msgid "Checkbox field" msgstr "" #: hypha/apply/stream_forms/blocks.py:197 -#: hypha/apply/stream_forms/blocks.py:218 +#: hypha/apply/stream_forms/blocks.py:215 msgid "Choice" msgstr "" @@ -5359,60 +5448,60 @@ msgstr "" msgid "Radio buttons" msgstr "" -#: hypha/apply/stream_forms/blocks.py:230 +#: hypha/apply/stream_forms/blocks.py:227 msgid "Group fields" msgstr "" -#: hypha/apply/stream_forms/blocks.py:264 +#: hypha/apply/stream_forms/blocks.py:258 msgid "Dropdown field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:274 +#: hypha/apply/stream_forms/blocks.py:268 msgid "Checkbox" msgstr "" -#: hypha/apply/stream_forms/blocks.py:280 +#: hypha/apply/stream_forms/blocks.py:274 msgid "Multiple checkboxes field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:320 +#: hypha/apply/stream_forms/blocks.py:313 msgid "Date field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:342 +#: hypha/apply/stream_forms/blocks.py:335 msgid "Time field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:375 +#: hypha/apply/stream_forms/blocks.py:367 msgid "Date+time field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:407 +#: hypha/apply/stream_forms/blocks.py:399 msgid "Image field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:419 +#: hypha/apply/stream_forms/blocks.py:412 msgid "Single File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:433 +#: hypha/apply/stream_forms/blocks.py:429 msgid "Multiple File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:467 +#: hypha/apply/stream_forms/blocks.py:462 msgid "Section header" msgstr "" -#: hypha/apply/stream_forms/blocks.py:486 hypha/public/forms/models.py:70 +#: hypha/apply/stream_forms/blocks.py:481 hypha/public/forms/models.py:74 msgid "Form fields" msgstr "" -#: hypha/apply/stream_forms/models.py:71 +#: hypha/apply/stream_forms/models.py:74 msgid "" "You are logged in so this information is fetched from your user account." msgstr "" -#: hypha/apply/templates/forms/includes/field.html:37 +#: hypha/apply/templates/forms/includes/field.html:41 msgid "See help guide for more information." msgstr "" @@ -5422,92 +5511,186 @@ msgid "" "below." msgstr "" -#: hypha/apply/users/admin_views.py:106 hypha/apply/users/admin_views.py:131 +#: hypha/apply/users/admin_views.py:116 hypha/apply/users/admin_views.py:141 msgid "Search users" msgstr "" -#: hypha/apply/users/forms.py:41 +#: hypha/apply/users/forms.py:111 msgid "A user with that email already exists." msgstr "" -#: hypha/apply/users/forms.py:42 +#: hypha/apply/users/forms.py:112 msgid "The two password fields didn't match." msgstr "" -#: hypha/apply/users/forms.py:73 +#: hypha/apply/users/forms.py:149 msgid "" "You are registered using OAuth, please contact an admin if you need to " "change your email address." msgstr "" -#: hypha/apply/users/forms.py:91 +#: hypha/apply/users/forms.py:176 msgid "Only includes active, non-superusers" msgstr "" -#: hypha/apply/users/forms.py:100 -#: hypha/apply/users/templates/users/account.html:35 +#: hypha/apply/users/forms.py:185 +#: hypha/apply/users/templates/users/account.html:34 #: hypha/apply/users/templates/users/activation/email.txt:13 msgid "Password" msgstr "" -#: hypha/apply/users/forms.py:101 +#: hypha/apply/users/forms.py:186 msgid "Email change requires you to put password." msgstr "" -#: hypha/apply/users/forms.py:114 hypha/apply/users/forms.py:143 +#: hypha/apply/users/forms.py:199 hypha/apply/users/forms.py:228 msgid "Incorrect password. Please try again." msgstr "" -#: hypha/apply/users/forms.py:130 +#: hypha/apply/users/forms.py:215 msgid "Please type your password to confirm" msgstr "" -#: hypha/apply/users/models.py:182 +#: hypha/apply/users/groups.py:6 +msgid "Staff Admin" +msgstr "" + +#: hypha/apply/users/groups.py:7 hypha/public/partner/tables.py:108 +msgid "Partner" +msgstr "" + +#: hypha/apply/users/groups.py:8 +msgid "Community Reviewer" +msgstr "" + +#: hypha/apply/users/groups.py:9 +msgid "Approver" +msgstr "" + +#: hypha/apply/users/groups.py:10 +msgid "Finance" +msgstr "" + +#: hypha/apply/users/groups.py:14 +msgid "" +"Can access their own application and communicate via the communication tab." +msgstr "" + +#: hypha/apply/users/groups.py:17 +msgid "" +"View and edit all submissions, submit reviews, send determinations, and set " +"up applications." +msgstr "" + +#: hypha/apply/users/groups.py:20 +msgid "" +"Has a dashboard and can submit reviews. Advisory Council Members are " +"typically assigned this role." +msgstr "" + +#: hypha/apply/users/groups.py:23 +msgid "Placeholder..." +msgstr "" + +#: hypha/apply/users/groups.py:26 +msgid "" +"Can view, edit, and comment on a specific application they are assigned to." +msgstr "" + +#: hypha/apply/users/groups.py:30 +msgid "" +"An applicant with access to other applications utilizing the community " +"review (peer review) workflow." +msgstr "" + +#: hypha/apply/users/groups.py:34 +msgid "" +"Can review/approve PAF, and access compliance documents. Must also be in " +"group: Staff, Contracting, or Finance." +msgstr "" + +#: hypha/apply/users/groups.py:37 +msgid "" +"Can review/approve the PAF, access documents associated with contracting, " +"and access invoices approved by Staff." +msgstr "" + +#: hypha/apply/users/groups.py:40 +msgid "" +"Can review/approve the PAF and access documents associated with contracting." +msgstr "" + +#: hypha/apply/users/models.py:196 msgid "email address" msgstr "" -#: hypha/apply/users/models.py:185 +#: hypha/apply/users/models.py:201 msgid "Slack name" msgstr "" -#: hypha/apply/users/models.py:187 +#: hypha/apply/users/models.py:203 msgid "This is the name we should \"@mention\" when sending notifications" msgstr "" -#: hypha/apply/users/models.py:304 +#: hypha/apply/users/models.py:331 msgid "Show consent checkbox?" msgstr "" -#: hypha/apply/users/models.py:308 +#: hypha/apply/users/models.py:335 msgid "Login extra text" msgstr "" -#: hypha/apply/users/models.py:309 +#: hypha/apply/users/models.py:337 msgid "Displayed along side login form" msgstr "" -#: hypha/apply/users/models.py:312 +#: hypha/apply/users/models.py:340 msgid "Extra text to be displayed on register form" msgstr "" -#: hypha/apply/users/models.py:322 +#: hypha/apply/users/models.py:350 msgid "User consent on login & register forms" msgstr "" -#: hypha/apply/users/models.py:328 +#: hypha/apply/users/models.py:356 msgid "Login form customizations" msgstr "" -#: hypha/apply/users/models.py:334 +#: hypha/apply/users/models.py:362 msgid "Register form customizations" msgstr "" +#: hypha/apply/users/templates/elevate/elevate.html:4 +#: hypha/apply/users/templates/elevate/elevate.html:12 +msgid "Confirm access" +msgstr "" + +#: hypha/apply/users/templates/elevate/elevate.html:32 +msgid "" +"\n" +" Tip: You are entering sudo mode. After " +"you've performed a sudo-protected\n" +" action, you'll only be asked to re-authenticate again after " +"a few hours of inactivity.\n" +" " +msgstr "" + #: hypha/apply/users/templates/two_factor/_base.html:9 -#: hypha/apply/users/templates/two_factor/_base_focus.html:9 +#: hypha/apply/users/templates/two_factor/_base_focus.html:18 #: hypha/apply/users/templates/users/account.html:12 msgid "Go to my dashboard" msgstr "" +#: hypha/apply/users/templates/two_factor/_base_focus.html:8 +#: hypha/apply/users/templates/two_factor/core/setup_complete.html:5 +msgid "Back to Account" +msgstr "" + +#: hypha/apply/users/templates/two_factor/_base_focus.html:12 +#: hypha/apply/users/templates/users/account.html:37 +msgid "Two-Factor Authentication (2FA)" +msgstr "" + #: hypha/apply/users/templates/two_factor/_wizard_actions.html:4 #: hypha/apply/users/templates/users/login.html:4 #: hypha/public/utils/templates/utils/includes/login_button.html:7 @@ -5539,70 +5722,63 @@ msgid "" msgstr "" #: hypha/apply/users/templates/two_factor/admin/disable.html:23 -#: hypha/apply/users/templates/users/account.html:42 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:76 +#: hypha/apply/users/templates/users/account.html:41 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:77 msgid "Disable 2FA" msgstr "" #: hypha/apply/users/templates/two_factor/core/backup_tokens.html:5 #: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:5 -#: hypha/apply/users/templates/two_factor/core/setup.html:6 -#: hypha/apply/users/templates/two_factor/core/setup_complete.html:5 -msgid "Back to Account" -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:6 -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:6 msgid "Backup Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:7 -msgid "" -"Each of the code can be used only once. When they are used up, you can " -"generate a new set of backup codes." -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:11 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:8 msgid "" "You should now print these codes or copy them to your\n" -" clipboard and store them in your password manager." +" clipboard and store them in your password manager." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:16 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:22 msgid "Print" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:21 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:27 msgid "Copied!" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:22 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:29 msgid "Copy to Clipboard" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:23 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:30 msgid "Regenerate Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:26 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:33 +msgid "" +"Note: Each of the code can be used only once. When they are " +"used up, you can generate a new set of backup codes." +msgstr "" + +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:34 msgid "" "Once done, acknowledge you have stored the codes securely and then click " "\"Finish\"." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:33 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:41 msgid "Finish" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:37 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:45 msgid "You don't have any backup codes yet." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:39 +#: hypha/apply/users/templates/two_factor/core/backup_tokens.html:47 msgid "Generate Codes" msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:7 +#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:6 msgid "" "If you loose your smartphone, or your Authenticator app is not available, " "you can use a backup code along with your username and password to login " @@ -5612,82 +5788,77 @@ msgid "" "are used up, you can generate a new set of backup codes." msgstr "" -#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:26 +#: hypha/apply/users/templates/two_factor/core/backup_tokens_password.html:25 #: hypha/apply/users/templates/two_factor/profile/disable.html:22 -#: hypha/apply/users/templates/users/change_password.html:28 +#: hypha/apply/users/templates/users/change_password.html:31 #: hypha/apply/users/templates/users/email_change/confirm_password.html:21 -#: hypha/apply/users/templates/users/password_reset/confirm.html:27 +#: hypha/apply/users/templates/users/password_reset/confirm.html:30 msgid "
  • Please correct the error below.
  • " msgid_plural "
  • Please correct the errors below.
  • " msgstr[0] "" msgstr[1] "" -#: hypha/apply/users/templates/two_factor/core/setup.html:9 -#: hypha/apply/users/templates/users/account.html:38 -msgid "Two-Factor Authentication (2FA)" -msgstr "" - -#: hypha/apply/users/templates/two_factor/core/setup.html:11 +#: hypha/apply/users/templates/two_factor/core/setup.html:6 msgid "" "2FA is an extra layer of security used to make sure that people trying to " "gain access to an online account are who they say they are. We recommend " "using Authy or another authenticator app." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:14 +#: hypha/apply/users/templates/two_factor/core/setup.html:9 #, python-format msgid "" "Please contact %(ORG_EMAIL)s if you have technical difficulty enabling 2FA." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:17 +#: hypha/apply/users/templates/two_factor/core/setup.html:12 msgid "Please select which authentication method you would like to use." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:20 +#: hypha/apply/users/templates/two_factor/core/setup.html:15 msgid "" "2FA requires a verification code to pair your smartphone with your account." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:22 +#: hypha/apply/users/templates/two_factor/core/setup.html:17 msgid "" "Step 1: Open the Authencator app on your phone and scan the " "QR code displayed below." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:25 +#: hypha/apply/users/templates/two_factor/core/setup.html:20 msgid "Unable to scan the QR code? Try this link:" msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:26 +#: hypha/apply/users/templates/two_factor/core/setup.html:21 msgid "" "Step 2: Enter the 6-digit verification code generated by " "the app below." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:28 +#: hypha/apply/users/templates/two_factor/core/setup.html:23 msgid "" "Please enter the phone number you wish to receive the text messages on. This " "number will be validated in the next step." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:32 +#: hypha/apply/users/templates/two_factor/core/setup.html:27 msgid "" "Please enter the phone number you wish to be called on. This number will be " "validated in the next step." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:37 +#: hypha/apply/users/templates/two_factor/core/setup.html:32 #: hypha/apply/users/templates/users/login.html:14 msgid "We are calling your phone right now, please enter the digits you hear." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:40 +#: hypha/apply/users/templates/two_factor/core/setup.html:35 #: hypha/apply/users/templates/users/login.html:17 msgid "We sent you a text message, please enter the tokens we sent." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:44 +#: hypha/apply/users/templates/two_factor/core/setup.html:39 msgid "" "We've encountered an issue with the selected authentication method. Please " "go back and verify that you entered your information correctly, try again, " @@ -5695,7 +5866,7 @@ msgid "" "contact the site administrator." msgstr "" -#: hypha/apply/users/templates/two_factor/core/setup.html:51 +#: hypha/apply/users/templates/two_factor/core/setup.html:46 msgid "" "To identify and verify your YubiKey, please insert a token in the field " "below. Your YubiKey will be linked to your account." @@ -5846,11 +6017,15 @@ msgid "Enable Two-Factor Authentication" msgstr "" #: hypha/apply/users/templates/users/account.html:4 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:21 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:22 msgid "Account" msgstr "" -#: hypha/apply/users/templates/users/account.html:20 +#: hypha/apply/users/templates/users/account.html:9 +msgid "Manage your account details and security." +msgstr "" + +#: hypha/apply/users/templates/users/account.html:19 msgid "Profile" msgstr "" @@ -5858,25 +6033,25 @@ msgstr "" msgid "Update Profile" msgstr "" -#: hypha/apply/users/templates/users/account.html:34 +#: hypha/apply/users/templates/users/account.html:33 msgid "Account Security" msgstr "" -#: hypha/apply/users/templates/users/account.html:36 +#: hypha/apply/users/templates/users/account.html:35 #: hypha/apply/users/templates/users/change_password.html:3 msgid "Update password" msgstr "" -#: hypha/apply/users/templates/users/account.html:41 +#: hypha/apply/users/templates/users/account.html:40 msgid "Backup codes" msgstr "" -#: hypha/apply/users/templates/users/account.html:45 +#: hypha/apply/users/templates/users/account.html:44 msgid "Enable 2FA" msgstr "" #: hypha/apply/users/templates/users/account.html:53 -#: hypha/apply/users/templates/users/account.html:60 +#: hypha/apply/users/templates/users/account.html:61 msgid "Become" msgstr "" @@ -5920,6 +6095,7 @@ msgstr "" #: hypha/apply/users/templates/users/activation/email.txt:17 #: hypha/apply/users/templates/users/email_change/confirm_email.txt:10 +#: hypha/apply/users/templates/users/password_reset/email.txt:10 #, python-format msgid "" "Kind Regards,\n" @@ -5974,7 +6150,7 @@ msgstr "" #: hypha/apply/users/templates/users/email_change/confirm_password.html:4 #: hypha/apply/users/templates/users/email_change/confirm_password.html:5 -#: hypha/apply/users/views.py:174 +#: hypha/apply/users/views.py:211 msgid "Enter Password" msgstr "" @@ -5983,7 +6159,7 @@ msgid "Check your email" msgstr "" #: hypha/apply/users/templates/users/email_change/done.html:5 -#: hypha/apply/users/views.py:220 +#: hypha/apply/users/views.py:277 msgid "Verify Email" msgstr "" @@ -6016,6 +6192,21 @@ msgid "" "%(ORG_SHORT_NAME)s at" msgstr "" +#: hypha/apply/users/templates/users/email_change/update_info_email.html:4 +#, python-format +msgid "" +"There has been an attempt to change email of your account on the " +"%(org_long_name)s web site. If this action wasn't made by you, please " +"contact support at %(org_email)s " +msgstr "" + +#: hypha/apply/users/templates/users/email_change/update_info_email.html:7 +#, python-format +msgid "" +"Kind Regards,\n" +" The %(org_short_name)s Team" +msgstr "" + #: hypha/apply/users/templates/users/login.html:21 msgid "" "Please enter the 6-digit verification code generated by your Authenticator " @@ -6029,36 +6220,36 @@ msgid "" "manager." msgstr "" -#: hypha/apply/users/templates/users/login.html:54 +#: hypha/apply/users/templates/users/login.html:56 #, python-format msgid "Log in with your %(ORG_SHORT_NAME)s email" msgstr "" -#: hypha/apply/users/templates/users/login.html:60 +#: hypha/apply/users/templates/users/login.html:62 msgid "Create account" msgstr "" -#: hypha/apply/users/templates/users/login.html:62 +#: hypha/apply/users/templates/users/login.html:64 msgid "Forgot your password?" msgstr "" -#: hypha/apply/users/templates/users/login.html:71 +#: hypha/apply/users/templates/users/login.html:76 msgid "Or, alternatively, use one of your backup phones:" msgstr "" -#: hypha/apply/users/templates/users/login.html:86 +#: hypha/apply/users/templates/users/login.html:91 msgid "As a last resort, you can use a backup codes:" msgstr "" -#: hypha/apply/users/templates/users/login.html:88 +#: hypha/apply/users/templates/users/login.html:93 msgid "Use Backup Code" msgstr "" -#: hypha/apply/users/templates/users/login.html:101 +#: hypha/apply/users/templates/users/login.html:106 msgid "Verification Code" msgstr "" -#: hypha/apply/users/templates/users/login.html:105 +#: hypha/apply/users/templates/users/login.html:110 msgid "Backup Code" msgstr "" @@ -6089,11 +6280,11 @@ msgid "" "correctly." msgstr "" -#: hypha/apply/users/templates/users/password_reset/confirm.html:39 +#: hypha/apply/users/templates/users/password_reset/confirm.html:43 msgid "Reset" msgstr "" -#: hypha/apply/users/templates/users/password_reset/confirm.html:42 +#: hypha/apply/users/templates/users/password_reset/confirm.html:47 msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." @@ -6118,12 +6309,15 @@ msgstr "" msgid "Check your \"Spam\" folder, if you don't find the email in your inbox." msgstr "" -#: hypha/apply/users/templates/users/password_reset/email.txt:2 -msgid "Please follow the link below to reset your password:" +#: hypha/apply/users/templates/users/password_reset/email.txt:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(org_long_name)s." msgstr "" -#: hypha/apply/users/templates/users/password_reset/email.txt:7 -msgid "Your username (in case you've forgotten):" +#: hypha/apply/users/templates/users/password_reset/email.txt:6 +msgid "Please follow the link below to reset your password:" msgstr "" #: hypha/apply/users/templates/users/password_reset/form.html:22 @@ -6136,7 +6330,7 @@ msgid "" "password reset link." msgstr "" -#: hypha/apply/users/templates/users/password_reset/form.html:28 +#: hypha/apply/users/templates/users/password_reset/form.html:31 msgid "Send reset email" msgstr "" @@ -6164,24 +6358,24 @@ msgid "" "email." msgstr "" -#: hypha/apply/users/templates/users/register.html:29 +#: hypha/apply/users/templates/users/register.html:32 msgid "Already have an account?" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:23 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:24 msgid "Roles" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:71 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:99 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:72 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:100 msgid "Delete user" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 msgid "This account do not have 2FA enabled." msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 msgid "2FA already disabled" msgstr "" @@ -6223,28 +6417,28 @@ msgstr "" msgid "Email is already in use." msgstr "" -#: hypha/apply/users/views.py:205 +#: hypha/apply/users/views.py:243 msgid "Password Page timed out. Try changing the email again." msgstr "" -#: hypha/apply/users/views.py:226 +#: hypha/apply/users/views.py:283 msgid "Hijack feature is not enabled." msgstr "" -#: hypha/apply/users/views.py:258 +#: hypha/apply/users/views.py:316 #, python-brace-format msgid "Your email has been successfully updated to {email}!" msgstr "" -#: hypha/apply/utils/blocks.py:49 +#: hypha/apply/utils/blocks.py:47 msgid "Rich text field" msgstr "" -#: hypha/apply/utils/blocks.py:64 +#: hypha/apply/utils/blocks.py:62 msgid "Markdown text field" msgstr "" -#: hypha/apply/utils/blocks.py:83 +#: hypha/apply/utils/blocks.py:82 msgid " Required" msgstr "" @@ -6252,7 +6446,7 @@ msgstr "" msgid "Page size of downloadable Project and Submission PDFs" msgstr "" -#: hypha/apply/utils/views.py:265 +#: hypha/apply/utils/views.py:269 #, python-brace-format msgid "Page '{0}' can't be deleted because is in use in '{1}'." msgstr "" @@ -6277,36 +6471,36 @@ msgstr "" msgid "field type" msgstr "" -#: hypha/public/funds/models.py:55 hypha/public/funds/models.py:169 -#: hypha/public/news/models.py:114 hypha/public/standardpages/models.py:31 +#: hypha/public/funds/models.py:55 hypha/public/funds/models.py:185 +#: hypha/public/news/models.py:99 hypha/public/standardpages/models.py:31 msgid "Related pages" msgstr "" -#: hypha/public/funds/models.py:149 +#: hypha/public/funds/models.py:154 msgid "External link" msgstr "" -#: hypha/public/funds/models.py:150 +#: hypha/public/funds/models.py:159 msgid "Text to display on the button for external links" msgstr "" -#: hypha/public/funds/models.py:167 +#: hypha/public/funds/models.py:182 msgid "Link for lab application" msgstr "" -#: hypha/public/funds/models.py:189 hypha/public/funds/models.py:190 +#: hypha/public/funds/models.py:206 hypha/public/funds/models.py:207 msgid "Cannot link to both a Lab page and external link" msgstr "" -#: hypha/public/funds/models.py:195 hypha/public/funds/models.py:196 +#: hypha/public/funds/models.py:214 hypha/public/funds/models.py:215 msgid "Please provide a way for applicants to apply" msgstr "" -#: hypha/public/funds/models.py:201 +#: hypha/public/funds/models.py:223 msgid "Cannot customise the text for internal lab pages, leave blank" msgstr "" -#: hypha/public/funds/models.py:206 +#: hypha/public/funds/models.py:231 msgid "Please provide some text for the link button" msgstr "" @@ -6322,27 +6516,27 @@ msgstr "" msgid "The first word will be bold" msgstr "" -#: hypha/public/home/models.py:106 +#: hypha/public/home/models.py:116 msgid "Introduction" msgstr "" -#: hypha/public/home/models.py:111 +#: hypha/public/home/models.py:124 msgid "News" msgstr "" -#: hypha/public/home/models.py:117 +#: hypha/public/home/models.py:133 msgid "Our Work" msgstr "" -#: hypha/public/home/models.py:121 +#: hypha/public/home/models.py:140 msgid "Promoted Funds" msgstr "" -#: hypha/public/home/models.py:128 +#: hypha/public/home/models.py:152 msgid "Promoted Labs" msgstr "" -#: hypha/public/home/models.py:135 +#: hypha/public/home/models.py:164 msgid "Promoted RFPs" msgstr "" @@ -6366,59 +6560,59 @@ msgstr "" msgid "Sign up" msgstr "" -#: hypha/public/mailchimp/views.py:80 +#: hypha/public/mailchimp/views.py:86 msgid "Sorry, there were errors with your form." msgstr "" -#: hypha/public/mailchimp/views.py:85 +#: hypha/public/mailchimp/views.py:91 msgid "Sorry, there has been an problem. Please try again later." msgstr "" -#: hypha/public/mailchimp/views.py:92 +#: hypha/public/mailchimp/views.py:98 msgid "Thank you for subscribing" msgstr "" -#: hypha/public/navigation/models.py:13 +#: hypha/public/navigation/models.py:14 msgid "Leave blank to use the page's own title" msgstr "" -#: hypha/public/navigation/models.py:24 +#: hypha/public/navigation/models.py:28 msgid "Main site navigation" msgstr "" -#: hypha/public/news/blocks.py:10 +#: hypha/public/news/blocks.py:11 msgid "" "Please enter only table id from embed code. Table widget code creates " "automatically." msgstr "" -#: hypha/public/news/models.py:94 +#: hypha/public/news/models.py:78 msgid "" "Use this field to override the date that the news item appears to have been " "published." msgstr "" -#: hypha/public/news/models.py:109 +#: hypha/public/news/models.py:94 msgid "Authors" msgstr "" -#: hypha/public/news/models.py:112 +#: hypha/public/news/models.py:97 msgid "News types" msgstr "" -#: hypha/public/news/models.py:113 +#: hypha/public/news/models.py:98 msgid "Mentioned project" msgstr "" -#: hypha/public/news/models.py:172 +#: hypha/public/news/models.py:163 msgid "The title of the main news feed." msgstr "" -#: hypha/public/news/models.py:173 +#: hypha/public/news/models.py:166 msgid "The description of the main news feed." msgstr "" -#: hypha/public/news/models.py:176 +#: hypha/public/news/models.py:172 #, python-brace-format msgid "" "The title of the news feed by type. Use {news_type} to insert the type name." @@ -6431,150 +6625,152 @@ msgid "" "name." msgstr "" -#: hypha/public/partner/models.py:50 +#: hypha/public/partner/models.py:47 msgid "Partner Page" msgstr "" -#: hypha/public/partner/models.py:121 +#: hypha/public/partner/models.py:116 msgid "Investment Category Settings" msgstr "" -#: hypha/public/partner/models.py:125 +#: hypha/public/partner/models.py:120 msgid "Select the categories that should be used in investments." msgstr "" -#: hypha/public/partner/models.py:199 +#: hypha/public/partner/models.py:186 msgid "Use format: " msgstr "" -#: hypha/public/partner/models.py:205 hypha/public/partner/tables.py:48 +#: hypha/public/partner/models.py:192 hypha/public/partner/tables.py:52 #, python-brace-format msgid "Amount Committed ({currency})" msgstr "" -#: hypha/public/partner/tables.py:58 +#: hypha/public/partner/tables.py:64 msgid "Items per page" msgstr "" -#: hypha/public/partner/tables.py:59 +#: hypha/public/partner/tables.py:65 msgid "Per page" msgstr "" -#: hypha/public/partner/tables.py:98 -msgid "Partner" -msgstr "" - -#: hypha/public/partner/tables.py:99 +#: hypha/public/partner/tables.py:112 msgid "Year" msgstr "" -#: hypha/public/partner/tables.py:101 +#: hypha/public/partner/tables.py:114 msgid "Amount Committed" msgstr "" -#: hypha/public/partner/tables.py:114 +#: hypha/public/partner/tables.py:127 msgid "No investments available" msgstr "" -#: hypha/public/people/models.py:96 +#: hypha/public/people/models.py:93 msgid "Other" msgstr "" -#: hypha/public/people/models.py:179 +#: hypha/public/people/models.py:197 msgid "Name" msgstr "" -#: hypha/public/people/models.py:183 +#: hypha/public/people/models.py:202 msgid "Social accounts" msgstr "" -#: hypha/public/people/models.py:187 +#: hypha/public/people/models.py:207 msgid "Other Contact Methods" msgstr "" -#: hypha/public/people/models.py:188 +#: hypha/public/people/models.py:209 msgid "Contact information" msgstr "" -#: hypha/public/people/models.py:189 +#: hypha/public/people/models.py:211 msgid "Person types" msgstr "" -#: hypha/public/people/models.py:192 +#: hypha/public/people/models.py:214 msgid "Funds Reviewed" msgstr "" -#: hypha/public/projects/models.py:129 +#: hypha/public/projects/models.py:132 msgid "Contact Details" msgstr "" -#: hypha/public/projects/models.py:131 +#: hypha/public/projects/models.py:136 msgid "Related Projects" msgstr "" -#: hypha/public/projects/models.py:134 +#: hypha/public/projects/models.py:139 msgid "Categories" msgstr "" -#: hypha/public/utils/models.py:129 +#: hypha/public/utils/models.py:155 msgid "" "Choose the image you wish to be displayed when this page appears in listings" msgstr "" -#: hypha/public/utils/models.py:131 +#: hypha/public/utils/models.py:161 msgid "Override the page title used when this page appears in listings" msgstr "" -#: hypha/public/utils/models.py:132 +#: hypha/public/utils/models.py:167 msgid "" "The text summary used when this page appears in listings. It's also used as " "the description for search engines if the 'Search description' field above " "is not defined." msgstr "" -#: hypha/public/utils/models.py:210 +#: hypha/public/utils/models.py:268 msgid "Your Twitter username without the @, e.g. katyperry" msgstr "" -#: hypha/public/utils/models.py:215 +#: hypha/public/utils/models.py:273 msgid "Your Facebook app ID." msgstr "" -#: hypha/public/utils/models.py:220 +#: hypha/public/utils/models.py:279 msgid "Default sharing text to use if social text has not been set on a page." msgstr "" -#: hypha/public/utils/models.py:226 +#: hypha/public/utils/models.py:286 msgid "Site name, used by Open Graph." msgstr "" -#: hypha/public/utils/models.py:244 +#: hypha/public/utils/models.py:303 msgid "Default site logo" msgstr "" -#: hypha/public/utils/models.py:253 +#: hypha/public/utils/models.py:312 msgid "Mobil site logo (if not set default will be used)" msgstr "" -#: hypha/public/utils/models.py:259 +#: hypha/public/utils/models.py:319 msgid "" "Link for the site logo, e.g. \"https://www.example.org/\". If not set, " "defaults to page with slug set to \"home\"." msgstr "" -#: hypha/public/utils/models.py:265 +#: hypha/public/utils/models.py:326 +msgid "" +"This will overwrite the default front page navigation bar, html tags is " +"allowed." +msgstr "" + +#: hypha/public/utils/models.py:334 msgid "This will be added to the footer, html tags is allowed." msgstr "" -#: hypha/public/utils/models.py:325 +#: hypha/public/utils/models.py:397 msgid "In months" msgstr "" -#: hypha/public/utils/models.py:351 +#: hypha/public/utils/models.py:426 msgid "Funding" msgstr "" -#: hypha/templates/base-apply.html:134 hypha/templates/base-apply.html:160 +#: hypha/templates/base-apply.html:143 hypha/templates/base-apply.html:169 msgid "Log out" msgstr "" From 4a74de54293db95b1c1cd78ed069d5c830a913e7 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Thu, 2 Nov 2023 10:51:33 -0400 Subject: [PATCH 09/15] Added Staff Admin description --- hypha/apply/users/groups.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hypha/apply/users/groups.py b/hypha/apply/users/groups.py index 7e4da70cb2..c94641cd65 100644 --- a/hypha/apply/users/groups.py +++ b/hypha/apply/users/groups.py @@ -20,7 +20,9 @@ "Has a dashboard and can submit reviews. Advisory Council Members are typically assigned this role." ) -TEAMADMIN_HELP_TEXT = _("Placeholder...") +TEAMADMIN_HELP_TEXT = _( + "Can view application message log. Must also be in group Staff." +) PARTNER_HELP_TEXT = _( "Can view, edit, and comment on a specific application they are assigned to." From a8cdfa8deed5703dc2edba5af9e0f9a61af7c009 Mon Sep 17 00:00:00 2001 From: Fredrik Jonsson Date: Thu, 23 Nov 2023 07:49:52 +0100 Subject: [PATCH 10/15] Removing locale updates to avoid merge conflicts. --- hypha/locale/django.pot | 17 ++++++++--------- hypha/locale/en/LC_MESSAGES/django.po | 17 ++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/hypha/locale/django.pot b/hypha/locale/django.pot index 1dc4860ffe..59cefaa710 100644 --- a/hypha/locale/django.pot +++ b/hypha/locale/django.pot @@ -2836,7 +2836,7 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/project_approval_form.html:12 #: hypha/apply/projects/templates/application_projects/project_form.html:5 #: hypha/apply/projects/templates/application_projects/project_form.html:10 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:9 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:8 msgid "Editing" msgstr "" @@ -3388,7 +3388,6 @@ msgid "There are %(count)s results for: %(search_term)s" msgstr "" #: hypha/apply/funds/templates/funds/tables/table.html:21 -#: hypha/apply/users/groups.py:3 msgid "Applicant" msgstr "" @@ -5487,7 +5486,7 @@ msgstr "" msgid "Single File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:429 +#: hypha/apply/stream_forms/blocks.py:433 msgid "Multiple File field" msgstr "" @@ -5951,7 +5950,7 @@ msgid "Enable Two-Factor Authentication" msgstr "" #: hypha/apply/users/templates/users/account.html:4 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:22 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:21 msgid "Account" msgstr "" @@ -6296,20 +6295,20 @@ msgstr "" msgid "Already have an account?" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:24 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:23 msgid "Roles" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:72 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:100 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:71 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:99 msgid "Delete user" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 msgid "This account do not have 2FA enabled." msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 msgid "2FA already disabled" msgstr "" diff --git a/hypha/locale/en/LC_MESSAGES/django.po b/hypha/locale/en/LC_MESSAGES/django.po index df0f0c807b..bb78516e3f 100644 --- a/hypha/locale/en/LC_MESSAGES/django.po +++ b/hypha/locale/en/LC_MESSAGES/django.po @@ -2836,7 +2836,7 @@ msgstr "" #: hypha/apply/projects/templates/application_projects/project_approval_form.html:12 #: hypha/apply/projects/templates/application_projects/project_form.html:5 #: hypha/apply/projects/templates/application_projects/project_form.html:10 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:9 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:8 msgid "Editing" msgstr "" @@ -3388,7 +3388,6 @@ msgid "There are %(count)s results for: %(search_term)s" msgstr "" #: hypha/apply/funds/templates/funds/tables/table.html:21 -#: hypha/apply/users/groups.py:3 msgid "Applicant" msgstr "" @@ -5487,7 +5486,7 @@ msgstr "" msgid "Single File field" msgstr "" -#: hypha/apply/stream_forms/blocks.py:429 +#: hypha/apply/stream_forms/blocks.py:433 msgid "Multiple File field" msgstr "" @@ -5951,7 +5950,7 @@ msgid "Enable Two-Factor Authentication" msgstr "" #: hypha/apply/users/templates/users/account.html:4 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:22 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:21 msgid "Account" msgstr "" @@ -6296,20 +6295,20 @@ msgstr "" msgid "Already have an account?" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:24 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:23 msgid "Roles" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:72 -#: hypha/apply/users/templates/wagtailusers/users/edit.html:100 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:71 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:99 msgid "Delete user" msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 msgid "This account do not have 2FA enabled." msgstr "" -#: hypha/apply/users/templates/wagtailusers/users/edit.html:79 +#: hypha/apply/users/templates/wagtailusers/users/edit.html:78 msgid "2FA already disabled" msgstr "" From ace40a74765bf30388e0cd81799039affdfe2c1f Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Mon, 27 Nov 2023 09:53:28 -0500 Subject: [PATCH 11/15] Linting fixes & migration addition --- ...3_merge_0021_groupdesc_0022_confirmaccesstoken.py | 12 ++++++++++++ hypha/apply/users/models.py | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 hypha/apply/users/migrations/0023_merge_0021_groupdesc_0022_confirmaccesstoken.py diff --git a/hypha/apply/users/migrations/0023_merge_0021_groupdesc_0022_confirmaccesstoken.py b/hypha/apply/users/migrations/0023_merge_0021_groupdesc_0022_confirmaccesstoken.py new file mode 100644 index 0000000000..7461821d1c --- /dev/null +++ b/hypha/apply/users/migrations/0023_merge_0021_groupdesc_0022_confirmaccesstoken.py @@ -0,0 +1,12 @@ +# Generated by Django 4.1.13 on 2023-11-27 14:46 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("users", "0021_groupdesc"), + ("users", "0022_confirmaccesstoken"), + ] + + operations = [] diff --git a/hypha/apply/users/models.py b/hypha/apply/users/models.py index ca0a137fd5..c30a62d193 100644 --- a/hypha/apply/users/models.py +++ b/hypha/apply/users/models.py @@ -382,6 +382,8 @@ class GroupDesc(models.Model): def __str__(self): return self.help_text + + class PendingSignup(models.Model): """This model tracks pending passwordless self-signups, and is used to generate a one-time use URLfor each signup. From 433ef65f2b3d08379b6e69db9fe0d3ede6ea79fe Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Wed, 29 Nov 2023 15:05:46 -0500 Subject: [PATCH 12/15] Added group descriptions to the Wagtail admin group list --- .../0114_alter_assignedreviewers_reviewer.py | 27 ++++++++++++ hypha/apply/users/admin_views.py | 41 ++++++++++++++++++- hypha/apply/users/forms.py | 22 +--------- hypha/apply/users/models.py | 13 ++++++ .../templates/wagtailusers/groups/index.html | 8 ++++ .../migrations/0006_alter_rendition_file.py | 23 +++++++++++ .../src/sass/apply/wagtail_groups_list.scss | 13 ++++++ 7 files changed, 125 insertions(+), 22 deletions(-) create mode 100644 hypha/apply/funds/migrations/0114_alter_assignedreviewers_reviewer.py create mode 100644 hypha/apply/users/templates/wagtailusers/groups/index.html create mode 100644 hypha/images/migrations/0006_alter_rendition_file.py diff --git a/hypha/apply/funds/migrations/0114_alter_assignedreviewers_reviewer.py b/hypha/apply/funds/migrations/0114_alter_assignedreviewers_reviewer.py new file mode 100644 index 0000000000..1d07aadbe5 --- /dev/null +++ b/hypha/apply/funds/migrations/0114_alter_assignedreviewers_reviewer.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.7 on 2023-11-29 20:04 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ("funds", "0113_alter_assignedreviewers_reviewer"), + ] + + operations = [ + migrations.AlterField( + model_name="assignedreviewers", + name="reviewer", + field=models.ForeignKey( + limit_choices_to={ + "groups__name__in": ["Staff", "Reviewer", "Community reviewer"], + "is_active": True, + }, + on_delete=django.db.models.deletion.CASCADE, + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/hypha/apply/users/admin_views.py b/hypha/apply/users/admin_views.py index 2f49edb44a..f9a433c7bf 100644 --- a/hypha/apply/users/admin_views.py +++ b/hypha/apply/users/admin_views.py @@ -9,6 +9,7 @@ from django.db.models import Q from django.http import HttpResponse from django.shortcuts import get_object_or_404 +from django.template.defaultfilters import mark_safe from django.template.response import TemplateResponse from django.utils.translation import gettext as _ from django.views.decorators.vary import vary_on_headers @@ -16,7 +17,9 @@ from wagtail.admin.filters import WagtailFilterSet from wagtail.admin.forms.search import SearchForm from wagtail.compat import AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME -from wagtail.users.views.groups import GroupViewSet +from wagtail.users.views.groups import GroupViewSet, IndexView + +from .models import GroupDesc User = get_user_model() @@ -200,12 +203,48 @@ def index(request, *args): ) +class CustomGroupIndexView(IndexView): + """ + Overriding of wagtail.users.views.groups.IndexView to allow for the addition of help text to the displayed group names. This is done utilizing the get_queryset method + """ + + def get_queryset(self): + """ + Overriding the normal queryset that would return all Group objects, this returnd an iterable of groups with custom names containing HTML help text. + """ + group_qs = super().get_queryset() + + custom_groups = [] + + for group in group_qs: + help_text = GroupDesc.get_from_group(group) + if help_text: + group.name = mark_safe( + f"{group.name}

    {help_text}

    " + ) + + custom_groups.append(group) + + return custom_groups + + class CustomGroupViewSet(GroupViewSet): """ Overriding the wagtail.users.views.groups.GroupViewSet just to use custom users view(index) when getting all users for a group. """ + index_view_class = CustomGroupIndexView + @property def users_view(self): return index + + def __init__(self, name, **kwargs): + super().__init__(name, **kwargs) + + @property + def index_view(self): + return self.index_view_class.as_view( + **self.get_index_view_kwargs(), + ) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index 476d410335..74eb3989df 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -74,25 +74,6 @@ class GroupsModelMultipleChoiceField(forms.ModelMultipleChoiceField): A custom ModelMultipleChoiceField utilized to provide a custom label for the group prompts """ - _group_desc_mapping = None - - @property - def group_desc_mapping(self): - """ - Return a dict of {: } to prevent unneeded queries to the DB - every label call retrieval. - - This was implemented as a property function as when storing this as a regular variable - property interfered with Django's migration/makemigration functionality. - """ - if self._group_desc_mapping is None: - self._group_desc_mapping = { - group_desc.group.name: group_desc.help_text - for group_desc in GroupDesc.objects.all() - } - - return self._group_desc_mapping - @classmethod def get_group_mmcf( cls, model_mulitple_choice_field: forms.ModelMultipleChoiceField @@ -114,9 +95,8 @@ def label_from_instance(self, group_obj): """ Overwriting ModelMultipleChoiceField's label from instance to provide help_text (if it exists) """ - help_text = self.group_desc_mapping.get(group_obj.name) + help_text = GroupDesc.get_from_group(group_obj) if help_text: - # return mark_safe(f"

    {group_obj.name}

    {help_text}

    ") return mark_safe( f'{group_obj.name}

    {help_text}

    ' ) diff --git a/hypha/apply/users/models.py b/hypha/apply/users/models.py index c30a62d193..5f9c83b34e 100644 --- a/hypha/apply/users/models.py +++ b/hypha/apply/users/models.py @@ -380,6 +380,19 @@ class GroupDesc(models.Model): group = models.OneToOneField(Group, on_delete=models.CASCADE, primary_key=True) help_text = models.CharField(verbose_name="Help Text", max_length=255) + @staticmethod + def get_from_group(group_obj: Group) -> str | None: + """ + Get the group description/help text string from a Group object. Returns None if group doesn't have a help text entry. + + Args: + group_obj (Group): The group to retrieve the description of. + """ + try: + return GroupDesc.objects.get(group_id=group_obj.id).help_text + except (exceptions.ObjectDoesNotExist, exceptions.FieldError): + return None + def __str__(self): return self.help_text diff --git a/hypha/apply/users/templates/wagtailusers/groups/index.html b/hypha/apply/users/templates/wagtailusers/groups/index.html new file mode 100644 index 0000000000..12256926fc --- /dev/null +++ b/hypha/apply/users/templates/wagtailusers/groups/index.html @@ -0,0 +1,8 @@ +{% extends "wagtailadmin/generic/index.html" %} +{% load i18n static %} + +{% block extra_css %} + + {{ block.super }} + {{ media.css }} +{% endblock %} \ No newline at end of file diff --git a/hypha/images/migrations/0006_alter_rendition_file.py b/hypha/images/migrations/0006_alter_rendition_file.py new file mode 100644 index 0000000000..d27e1c05d2 --- /dev/null +++ b/hypha/images/migrations/0006_alter_rendition_file.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.7 on 2023-11-29 20:04 + +from django.db import migrations +import wagtail.images.models + + +class Migration(migrations.Migration): + dependencies = [ + ("images", "0005_auto_20230214_0658"), + ] + + operations = [ + migrations.AlterField( + model_name="rendition", + name="file", + field=wagtail.images.models.WagtailImageField( + height_field="height", + storage=wagtail.images.models.get_rendition_storage, + upload_to=wagtail.images.models.get_rendition_upload_to, + width_field="width", + ), + ), + ] diff --git a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss index e5520519d1..c650dde51d 100644 --- a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss +++ b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss @@ -1,3 +1,4 @@ +// Stylings used for the Wagtail admin "roles" tab when creating/editing a user .form { &__label { p { @@ -11,3 +12,15 @@ } } } + +// Stylings used for the Wagtail admin groups view +.title-wrapper { + a { + .group-help-text { + font-size: smaller; + padding-left: 10px; + font-weight: normal; + display: inline; + } + } +} From d759a8346d9443094c8b82ab278dc750d7ca0613 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Wed, 29 Nov 2023 15:25:04 -0500 Subject: [PATCH 13/15] Removed duplicate CSS --- hypha/static_src/src/sass/apply/wagtail_groups_list.scss | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss index c650dde51d..8e136ec19b 100644 --- a/hypha/static_src/src/sass/apply/wagtail_groups_list.scss +++ b/hypha/static_src/src/sass/apply/wagtail_groups_list.scss @@ -1,3 +1,8 @@ +.group-help-text { + font-size: smaller; + padding-left: 10px; +} + // Stylings used for the Wagtail admin "roles" tab when creating/editing a user .form { &__label { @@ -6,8 +11,6 @@ } .group-help-text { - font-size: smaller; - padding-left: 10px; color: var(--w-color-grey-400); } } @@ -17,8 +20,6 @@ .title-wrapper { a { .group-help-text { - font-size: smaller; - padding-left: 10px; font-weight: normal; display: inline; } From 4976eb937ae276a126677efc8fd55a0be2c9c714 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Thu, 30 Nov 2023 12:16:53 -0500 Subject: [PATCH 14/15] Fixed group descs for Wagtail admin creation view --- hypha/apply/users/forms.py | 9 ++------- hypha/apply/users/views.py | 4 ++-- hypha/settings/base.py | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index 74eb3989df..b9dcaa5a5e 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -117,18 +117,13 @@ def __init__(self, *args, **kwargs): self.fields["groups"] ) - -class CustomWagtailUserCreationForm(CustomUserAdminFormBase, UserCreationForm): - pass - - class CustomUserCreationForm(CustomUserAdminFormBase, UserCreationForm): - def __init__(self, request=None, *args, **kwargs): + def __init__(self, register_view=False, request=None, *args, **kwargs): self.request = request super().__init__(*args, **kwargs) self.user_settings = AuthSettings.load(request_or_site=self.request) - if self.user_settings.consent_show: + if register_view and self.user_settings.consent_show: self.fields["consent"] = forms.BooleanField( label=self.user_settings.consent_text, help_text=self.user_settings.consent_help, diff --git a/hypha/apply/users/views.py b/hypha/apply/users/views.py index 9a9877c58b..192b2d96d7 100644 --- a/hypha/apply/users/views.py +++ b/hypha/apply/users/views.py @@ -93,7 +93,7 @@ def get(self, request): return redirect(settings.LOGIN_REDIRECT_URL) ctx = { - "form": self.form(), + "form": self.form(register_view=True), "redirect_url": get_redirect_url(request, self.redirect_field_name), } return render(request, "users/register.html", ctx) @@ -103,7 +103,7 @@ def post(self, request): if not settings.ENABLE_PUBLIC_SIGNUP: raise Http404 - form = self.form(data=request.POST) + form = self.form(register_view=True, data=request.POST) context = {} if form.is_valid(): # If using wagtail password management diff --git a/hypha/settings/base.py b/hypha/settings/base.py index 6e32dad3a6..73df7a87df 100644 --- a/hypha/settings/base.py +++ b/hypha/settings/base.py @@ -290,7 +290,7 @@ WAGTAILIMAGES_IMAGE_MODEL = "images.CustomImage" WAGTAILIMAGES_FEATURE_DETECTION_ENABLED = False WAGTAIL_USER_EDIT_FORM = "hypha.apply.users.forms.CustomUserEditForm" -WAGTAIL_USER_CREATION_FORM = "hypha.apply.users.forms.CustomWagtailUserCreationForm" +WAGTAIL_USER_CREATION_FORM = "hypha.apply.users.forms.CustomUserCreationForm" WAGTAIL_USER_CUSTOM_FIELDS = ["full_name"] WAGTAIL_PASSWORD_MANAGEMENT_ENABLED = False WAGTAILUSERS_PASSWORD_ENABLED = False From f99ecca58257ed248b4e5bc58fd48dbcb5683d54 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Thu, 30 Nov 2023 12:17:31 -0500 Subject: [PATCH 15/15] Linting --- hypha/apply/users/forms.py | 1 + 1 file changed, 1 insertion(+) diff --git a/hypha/apply/users/forms.py b/hypha/apply/users/forms.py index b9dcaa5a5e..8e73c58da0 100644 --- a/hypha/apply/users/forms.py +++ b/hypha/apply/users/forms.py @@ -117,6 +117,7 @@ def __init__(self, *args, **kwargs): self.fields["groups"] ) + class CustomUserCreationForm(CustomUserAdminFormBase, UserCreationForm): def __init__(self, register_view=False, request=None, *args, **kwargs): self.request = request