From 3f9b2b3c148632ae543e4e5715b0d2cd4e9b17e3 Mon Sep 17 00:00:00 2001 From: Tudor Amariei Date: Fri, 15 Nov 2024 11:51:53 +0200 Subject: [PATCH] Update the admin to show more candidate information to staff --- backend/hub/admin.py | 60 +++- backend/hub/models.py | 4 +- backend/locale/en/LC_MESSAGES/django.po | 439 ++++++++++++----------- backend/locale/ro/LC_MESSAGES/django.po | 450 ++++++++++++------------ 4 files changed, 513 insertions(+), 440 deletions(-) diff --git a/backend/hub/admin.py b/backend/hub/admin.py index 965f6bf0..aa6c6742 100644 --- a/backend/hub/admin.py +++ b/backend/hub/admin.py @@ -448,6 +448,45 @@ class CandidateAdmin(BasePermissionsAdmin): actions = [accept_candidates, reject_candidates, pending_candidates] list_per_page = 20 + fieldsets = ( + ( + _("Status Information"), + { + "fields": ( + "status", + "org", + "initial_org", + "domain", + "is_proposed", + ) + }, + ), + ( + _("Candidate Information"), + { + "fields": ( + "name", + "role", + "photo", + ), + }, + ), + ( + _("Candidate Files"), + { + "fields": ( + "statement", + "mandate", + "letter_of_intent", + "cv", + "declaration_of_interests", + "fiscal_record", + "criminal_record", + ), + }, + ), + ) + # def get_queryset(self, request): # queryset = super().get_queryset(request) # if get_feature_flag(FLAG_CHOICES.global_support_round): @@ -463,6 +502,16 @@ class CandidateAdmin(BasePermissionsAdmin): # ) # return queryset + def get_readonly_fields(self, request, obj=None): + readonly_fields = self.readonly_fields + + if request.user.is_superuser: + return readonly_fields + + readonly_fields.extend(["org", "initial_org", "domain", "is_proposed", "name", "role"]) + + return readonly_fields + def get_inline_instances(self, request, obj=None): if get_feature_flag(FLAG_CHOICES.global_support_round): inlines = [CandidateConfirmationInline, CandidateSupporterInline, CandidateVoteInline] @@ -474,7 +523,6 @@ def votes_count(self, obj): return obj.votes.count() votes_count.short_description = _("Votes") - # votes_count.admin_order_field = "votes_count" def supporters_count(self, obj): if get_feature_flag(FLAG_CHOICES.global_support_round): @@ -483,13 +531,11 @@ def supporters_count(self, obj): return "N/A" supporters_count.short_description = _("Supporters") - # supporters_count.admin_order_field = "supporters_count" def confirmations_count(self, obj): return obj.confirmations.count() confirmations_count.short_description = _("Confirmations") - # confirmations_count.admin_order_field = "confirmations_count" def has_add_permission(self, request, obj=None): return False @@ -502,14 +548,6 @@ def has_change_permission(self, request, obj=None): def has_delete_permission(self, request, obj=None): return False - def get_form(self, request, obj=None, **kwargs): - admin_user = request.user - if obj and admin_user.is_staff: - kwargs["fields"] = Candidate.file_fields() - return super().get_form(request, obj, **kwargs) - - return super().get_form(request, obj, **kwargs) - @admin.register(Domain) class DomainAdmin(ImportExportModelAdmin, BasePermissionsAdmin): diff --git a/backend/hub/models.py b/backend/hub/models.py index 3d71600a..7c512c78 100644 --- a/backend/hub/models.py +++ b/backend/hub/models.py @@ -722,6 +722,8 @@ class Candidate(StatusModel, TimeStampedModel, BaseCompleteModel): help_text=_("The domain in which the candidate is running."), ) + is_proposed = models.BooleanField(_("Is proposed?"), default=False) + name = models.CharField( _("Representative name"), max_length=254, @@ -808,8 +810,6 @@ class Candidate(StatusModel, TimeStampedModel, BaseCompleteModel): validators=[file_validator], ) - is_proposed = models.BooleanField(_("Is proposed?"), default=False) - objects = models.Manager() objects_with_org = CandidatesWithOrgManager() diff --git a/backend/locale/en/LC_MESSAGES/django.po b/backend/locale/en/LC_MESSAGES/django.po index 5a82257b..6485a83d 100644 --- a/backend/locale/en/LC_MESSAGES/django.po +++ b/backend/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-12 12:45+0200\n" +"POT-Creation-Date: 2024-11-15 11:47+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,27 +17,27 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: accounts/admin.py:62 hub/admin.py:140 +#: accounts/admin.py:63 hub/admin.py:291 hub/admin.py:406 msgid "Identification" msgstr "" -#: accounts/admin.py:74 +#: accounts/admin.py:75 msgid "Flags" msgstr "" -#: accounts/admin.py:84 +#: accounts/admin.py:85 msgid "Permissions" msgstr "" -#: accounts/admin.py:93 +#: accounts/admin.py:94 msgid "Important dates" msgstr "" -#: accounts/admin.py:119 hub/models.py:412 +#: accounts/admin.py:120 hub/models.py:438 msgid "Organization" msgstr "" -#: accounts/admin.py:132 accounts/models.py:78 +#: accounts/admin.py:133 accounts/models.py:97 msgid "Groups" msgstr "" @@ -49,31 +49,31 @@ msgstr "" msgid "This email can't be set." msgstr "" -#: accounts/models.py:21 +#: accounts/models.py:23 msgid "username" msgstr "" -#: accounts/models.py:24 +#: accounts/models.py:26 msgid "We do not use this field" msgstr "" -#: accounts/models.py:28 hub/templates/registration/reset_password.html:39 +#: accounts/models.py:30 hub/templates/registration/reset_password.html:39 msgid "email address" msgstr "" -#: accounts/models.py:29 +#: accounts/models.py:31 msgid "is ngo hub user" msgstr "" -#: accounts/models.py:43 +#: accounts/models.py:45 msgid "User" msgstr "" -#: accounts/models.py:44 +#: accounts/models.py:46 msgid "Users" msgstr "" -#: accounts/models.py:77 +#: accounts/models.py:96 msgid "Group" msgstr "" @@ -160,17 +160,16 @@ msgid "Sign In Error" msgstr "" #: accounts/templates/accounts/error_org_duplicate.html:6 -#: hub/social_adapters.py:81 msgid "This NGO Hub organization already exists for another VotONG user." msgstr "" #: accounts/templates/accounts/error_org_missing.html:6 -#: hub/social_adapters.py:73 +#: hub/social_adapters.py:72 msgid "There is no NGO Hub organization for this VotONG user." msgstr "" #: accounts/templates/accounts/error_org_registration_closed.html:6 -#: hub/social_adapters.py:60 +#: hub/social_adapters.py:59 msgid "The registration process for new organizations is currently disabled." msgstr "" @@ -374,642 +373,656 @@ msgstr "" msgid "authentication/" msgstr "" -#: hub/admin.py:92 hub/admin.py:429 +#: hub/admin.py:94 hub/admin.py:525 msgid "Votes" msgstr "" -#: hub/admin.py:97 hub/admin.py:438 +#: hub/admin.py:99 hub/admin.py:534 msgid "Supporters" msgstr "" -#: hub/admin.py:102 hub/admin.py:444 +#: hub/admin.py:104 hub/admin.py:540 msgid "Confirmations" msgstr "" -#: hub/admin.py:150 -msgid "Contact Information" +#: hub/admin.py:156 +msgid "supporters" msgstr "" -#: hub/admin.py:167 -msgid "Legal representative" +#: hub/admin.py:162 +msgid "10 or more" msgstr "" -#: hub/admin.py:177 -msgid "Platform documents" +#: hub/admin.py:163 +msgid "less than 10" msgstr "" -#: hub/admin.py:213 -msgid "user" +#: hub/admin.py:175 +msgid "confirmations" msgstr "" -#: hub/admin.py:220 -msgid "candidate" +#: hub/admin.py:180 +msgid "5 or more" msgstr "" -#: hub/admin.py:231 -msgid "Not set" +#: hub/admin.py:181 +msgid "less than 5" msgstr "" -#: hub/admin.py:233 -msgid "voting domain" +#: hub/admin.py:237 +msgid "Set selected candidates status to REJECTED" msgstr "" -#: hub/admin.py:285 -msgid "supporters" +#: hub/admin.py:244 +msgid "Set selected candidates status to ACCEPTED" msgstr "" -#: hub/admin.py:291 -msgid "10 or more" +#: hub/admin.py:251 +msgid "Set selected candidates status to PENDING" msgstr "" -#: hub/admin.py:292 -msgid "less than 10" +#: hub/admin.py:301 +msgid "Contact Information" msgstr "" -#: hub/admin.py:304 -msgid "confirmations" +#: hub/admin.py:319 +msgid "Legal representative" msgstr "" -#: hub/admin.py:309 -msgid "5 or more" +#: hub/admin.py:329 +msgid "Platform documents" msgstr "" -#: hub/admin.py:310 -msgid "less than 5" +#: hub/admin.py:357 +msgid "user" msgstr "" -#: hub/admin.py:366 -msgid "Set selected candidates status to REJECTED" +#: hub/admin.py:364 +msgid "candidate" msgstr "" -#: hub/admin.py:373 -msgid "Set selected candidates status to ACCEPTED" +#: hub/admin.py:375 +msgid "Not set" msgstr "" -#: hub/admin.py:380 -msgid "Set selected candidates status to PENDING" +#: hub/admin.py:377 +msgid "voting domain" msgstr "" -#: hub/admin.py:555 +#: hub/admin.py:453 +msgid "Status Information" +msgstr "" + +#: hub/admin.py:465 +msgid "Candidate Information" +msgstr "" + +#: hub/admin.py:475 +#, fuzzy +#| msgid "Canditate supporters" +msgid "Candidate Files" +msgstr "Candidate supporters" + +#: hub/admin.py:629 msgid "CSV file imported" msgstr "" -#: hub/admin.py:563 +#: hub/admin.py:637 msgid "Import Cities" msgstr "" -#: hub/admin.py:611 +#: hub/admin.py:680 #, python-brace-format msgid "Configuration invalid. Missing flag(s) in database: {missing_flags}." msgstr "" -#: hub/admin.py:623 +#: hub/admin.py:692 #, python-brace-format msgid "'{phase_name}' configuration invalid. Missing flag(s): {missing_flags}." msgstr "" -#: hub/admin.py:640 +#: hub/admin.py:709 #, python-brace-format msgid "Flags set successfully for '{phase_name}'." msgstr "" -#: hub/admin.py:645 +#: hub/admin.py:714 msgid "PHASE PAUSE - platform pause" msgstr "" -#: hub/admin.py:659 +#: hub/admin.py:728 msgid "Set flags for PHASE PAUSE - platform pause" msgstr "" -#: hub/admin.py:664 +#: hub/admin.py:733 msgid "PHASE DEACTIVATE - platform deactivate" msgstr "" -#: hub/admin.py:677 +#: hub/admin.py:746 msgid "Set flags for PHASE - platform deactivate" msgstr "" -#: hub/admin.py:682 +#: hub/admin.py:751 msgid "PHASE 1 - organization & candidate registrations" msgstr "" -#: hub/admin.py:696 +#: hub/admin.py:765 msgid "Set flags for PHASE 1 - organization & candidate registrations" msgstr "" -#: hub/admin.py:701 +#: hub/admin.py:770 msgid "PHASE 2 - candidate validation" msgstr "" -#: hub/admin.py:715 +#: hub/admin.py:784 msgid "Set flags for PHASE 2 - candidate validation" msgstr "" -#: hub/admin.py:720 +#: hub/admin.py:789 msgid "PHASE 3 - voting" msgstr "" -#: hub/admin.py:734 +#: hub/admin.py:803 msgid "Set flags for PHASE 3 - voting" msgstr "" -#: hub/admin.py:739 +#: hub/admin.py:808 msgid "FINAL PHASE - results" msgstr "" -#: hub/admin.py:753 +#: hub/admin.py:822 msgid "Set flags for FINAL PHASE - results" msgstr "" -#: hub/admin.py:758 +#: hub/admin.py:827 msgid "Activate selected flags" msgstr "" -#: hub/forms.py:93 +#: hub/forms.py:95 msgid "Terms and Conditions" msgstr "" -#: hub/forms.py:97 +#: hub/forms.py:99 #, python-brace-format msgid "I agree to the {terms_url} of the VotONG platform" msgstr "" -#: hub/forms.py:106 hub/forms.py:191 hub/views.py:496 +#: hub/forms.py:108 hub/forms.py:221 hub/views.py:497 msgid "An organization with the same email address is already registered." msgstr "" -#: hub/forms.py:111 +#: hub/forms.py:113 msgid "You need to accept terms and conditions." msgstr "" -#: hub/forms.py:204 -msgid "Voting domain cannot be changed. Please contact the site administrator." +#: hub/forms.py:134 +msgid "Organization already exists." msgstr "" -#: hub/forms.py:288 -msgid "Authenticated user does not have an organization." -msgstr "" - -#: hub/forms.py:291 -msgid "Organization already has a candidate." +#: hub/forms.py:234 +msgid "Voting domain cannot be changed. Please contact the site administrator." msgstr "" -#: hub/forms.py:308 +#: hub/forms.py:332 msgid "" "To add a candidate you must upload all required documents in 'Organization " "Profile'" msgstr "" -#: hub/forms.py:312 +#: hub/forms.py:336 msgid "Please add all candidate fields" msgstr "" -#: hub/forms.py:346 +#: hub/forms.py:370 msgid "Candidate registration is closed." msgstr "" -#: hub/forms.py:353 +#: hub/forms.py:377 msgid "" "You cannot edit a candidate that is not proposed and outside of the " "candidate confirmation period." msgstr "" -#: hub/forms.py:368 +#: hub/forms.py:392 msgid "[ERROR 32202] Please contact the site administrator." msgstr "" -#: hub/forms.py:374 +#: hub/forms.py:398 msgid "CSV file" msgstr "" -#: hub/forms.py:379 +#: hub/forms.py:403 msgid "Uploaded file is not a CSV file" msgstr "" -#: hub/models.py:35 +#: hub/models.py:36 #, python-format msgid "The file size is %d %s but it must be under %d %s" msgstr "" -#: hub/models.py:100 +#: hub/models.py:101 msgid "Active" msgstr "" -#: hub/models.py:101 +#: hub/models.py:102 msgid "Inactive" msgstr "" -#: hub/models.py:105 +#: hub/models.py:106 msgid "Enable organization registration" msgstr "" -#: hub/models.py:106 +#: hub/models.py:107 msgid "Enable organization approvals" msgstr "" -#: hub/models.py:107 +#: hub/models.py:108 msgid "Enable candidate registration" msgstr "" -#: hub/models.py:108 +#: hub/models.py:109 msgid "Enable candidate supporting" msgstr "" -#: hub/models.py:109 +#: hub/models.py:110 msgid "Enable candidate voting" msgstr "" -#: hub/models.py:110 +#: hub/models.py:111 msgid "Enable candidate confirmation" msgstr "" -#: hub/models.py:111 +#: hub/models.py:112 msgid "Enable the display of results" msgstr "" -#: hub/models.py:114 +#: hub/models.py:115 msgid "Voting round with just one domain (some restrictions will apply)" msgstr "" -#: hub/models.py:115 +#: hub/models.py:116 msgid "" "Enable global support (the support of at least 10 organizations is required)" msgstr "" -#: hub/models.py:116 +#: hub/models.py:117 msgid "Enable the voting domain restriction for an organization" msgstr "" -#: hub/models.py:134 +#: hub/models.py:135 msgid "Flag" msgstr "" -#: hub/models.py:138 +#: hub/models.py:139 msgid "Feature flag" msgstr "" -#: hub/models.py:139 +#: hub/models.py:140 msgid "Feature flags" msgstr "" -#: hub/models.py:156 +#: hub/models.py:157 msgid "Title" msgstr "" -#: hub/models.py:158 +#: hub/models.py:159 msgid "Author" msgstr "" -#: hub/models.py:159 +#: hub/models.py:160 msgid "Content preview" msgstr "" -#: hub/models.py:161 +#: hub/models.py:162 msgid "Content" msgstr "" -#: hub/models.py:163 +#: hub/models.py:164 msgid "Is visible?" msgstr "" -#: hub/models.py:164 +#: hub/models.py:165 msgid "Date published" msgstr "" -#: hub/models.py:167 +#: hub/models.py:168 msgid "Blog post" msgstr "" -#: hub/models.py:168 +#: hub/models.py:169 msgid "Blog posts" msgstr "" -#: hub/models.py:180 hub/templates/hub/home.html:292 +#: hub/models.py:181 hub/templates/hub/home.html:292 #: hub/templates/hub/home.html:293 msgid "Name" msgstr "" -#: hub/models.py:181 +#: hub/models.py:182 msgid "Description" msgstr "" -#: hub/models.py:183 +#: hub/models.py:184 msgid "Number of seats" msgstr "" -#: hub/models.py:189 hub/models.py:668 +#: hub/models.py:190 hub/models.py:717 msgid "Domain" msgstr "" -#: hub/models.py:190 +#: hub/models.py:191 msgid "Domains" msgstr "" -#: hub/models.py:211 hub/models.py:216 hub/models.py:292 +#: hub/models.py:212 hub/models.py:217 hub/models.py:314 msgid "City" msgstr "" -#: hub/models.py:212 hub/models.py:291 +#: hub/models.py:213 hub/models.py:313 msgid "County" msgstr "" -#: hub/models.py:213 +#: hub/models.py:214 msgid "Is county residence" msgstr "" -#: hub/models.py:217 +#: hub/models.py:218 msgid "Cities" msgstr "" -#: hub/models.py:267 +#: hub/models.py:288 msgid "Draft" msgstr "" -#: hub/models.py:268 +#: hub/models.py:289 msgid "Pending approval" msgstr "" -#: hub/models.py:269 +#: hub/models.py:290 msgid "NGO Hub accepted" msgstr "" -#: hub/models.py:270 hub/models.py:648 +#: hub/models.py:291 hub/models.py:697 msgid "Accepted" msgstr "" -#: hub/models.py:271 hub/models.py:650 +#: hub/models.py:292 hub/templates/hub/header.html:106 +msgid "Admin" +msgstr "" + +#: hub/models.py:293 hub/models.py:699 msgid "Rejected" msgstr "" -#: hub/models.py:273 hub/models.py:652 +#: hub/models.py:295 hub/models.py:701 msgid "Status" msgstr "" -#: hub/models.py:275 +#: hub/models.py:297 msgid "NGO Hub linked organization ID" msgstr "" -#: hub/models.py:279 +#: hub/models.py:301 msgid "Voting domain" msgstr "" -#: hub/models.py:285 +#: hub/models.py:307 msgid "" "The domain in which the organization can vote, support, and propose " "candidates – once set, the field can only be modified by the platform's " "administrators." msgstr "" -#: hub/models.py:290 +#: hub/models.py:312 msgid "NGO Name" msgstr "" -#: hub/models.py:293 +#: hub/models.py:315 msgid "Address" msgstr "" -#: hub/models.py:294 +#: hub/models.py:316 msgid "Registration number" msgstr "" -#: hub/models.py:296 +#: hub/models.py:318 msgid "Organization Email" msgstr "" -#: hub/models.py:297 +#: hub/models.py:319 msgid "Organization Phone" msgstr "" -#: hub/models.py:298 +#: hub/models.py:320 msgid "Short Description" msgstr "" -#: hub/models.py:300 +#: hub/models.py:322 msgid "Legal Representative Name" msgstr "" -#: hub/models.py:301 +#: hub/models.py:323 msgid "Legal Representative Email" msgstr "" -#: hub/models.py:303 +#: hub/models.py:325 msgid "Legal Representative Phone" msgstr "" -#: hub/models.py:307 +#: hub/models.py:329 msgid "Board council" msgstr "" -#: hub/models.py:310 +#: hub/models.py:332 msgid "Logo" msgstr "" -#: hub/models.py:317 +#: hub/models.py:339 #, python-format msgid "First page of last balance sheet for %(CURRENT_EDITION_YEAR)s" msgstr "" -#: hub/models.py:324 hub/templates/hub/partials/organization_documents.html:16 +#: hub/models.py:346 hub/templates/hub/partials/organization_documents.html:16 msgid "NGO Statute" msgstr "" -#: hub/models.py:332 hub/templates/hub/ngo/detail.html:70 +#: hub/models.py:354 hub/templates/hub/ngo/detail.html:70 msgid "Current year activity summary" msgstr "" -#: hub/models.py:337 +#: hub/models.py:359 msgid "" "Summary of the activities carried out by the organization in the current " "year (between 500 and 2000 characters)" msgstr "" -#: hub/models.py:343 hub/templates/hub/partials/organization_documents.html:31 +#: hub/models.py:365 hub/templates/hub/partials/organization_documents.html:31 msgid "Yearly report 2023" msgstr "" -#: hub/models.py:351 hub/templates/hub/partials/organization_documents.html:36 +#: hub/models.py:373 hub/templates/hub/partials/organization_documents.html:36 msgid "Yearly report 2022" msgstr "" -#: hub/models.py:359 hub/templates/hub/partials/organization_documents.html:41 +#: hub/models.py:381 hub/templates/hub/partials/organization_documents.html:41 msgid "Yearly report 2021" msgstr "" -#: hub/models.py:368 +#: hub/models.py:390 msgid "Non-discrimination statement" msgstr "" -#: hub/models.py:376 +#: hub/models.py:398 msgid "Non-political statement" msgstr "" -#: hub/models.py:385 hub/templates/hub/partials/organization_documents.html:21 +#: hub/models.py:407 hub/templates/hub/partials/organization_documents.html:21 msgid "Fiscal certificate ANAF" msgstr "" -#: hub/models.py:393 hub/templates/hub/partials/organization_documents.html:26 +#: hub/models.py:415 hub/templates/hub/partials/organization_documents.html:26 msgid "Fiscal certificate local" msgstr "" -#: hub/models.py:401 +#: hub/models.py:423 msgid "Accepted Terms and Conditions" msgstr "" -#: hub/models.py:403 +#: hub/models.py:425 msgid "Rejection message" msgstr "" -#: hub/models.py:405 +#: hub/models.py:427 msgid "Filename cache" msgstr "" -#: hub/models.py:407 hub/models.py:408 +#: hub/models.py:429 hub/models.py:430 msgid "Last NGO Hub update" msgstr "" -#: hub/models.py:411 hub/templates/hub/header.html:60 +#: hub/models.py:437 hub/templates/hub/header.html:60 msgid "Organizations" msgstr "" -#: hub/models.py:647 +#: hub/models.py:696 msgid "Pending" msgstr "" -#: hub/models.py:649 +#: hub/models.py:698 msgid "Confirmed" msgstr "" -#: hub/models.py:662 +#: hub/models.py:711 msgid "" "If this is set, the `org` field will be unset and the candidate is removed " "as the official proposal of the organization." msgstr "" -#: hub/models.py:673 +#: hub/models.py:722 msgid "The domain in which the candidate is running." msgstr "" -#: hub/models.py:677 hub/templates/hub/candidate/detail.html:115 +#: hub/models.py:725 +msgid "Is proposed?" +msgstr "" + +#: hub/models.py:728 hub/templates/hub/candidate/detail.html:115 msgid "Representative name" msgstr "Candidate name" -#: hub/models.py:680 +#: hub/models.py:731 msgid "The name of the designated person in the organization." msgstr "" -#: hub/models.py:683 +#: hub/models.py:734 msgid "Representative role in organization" msgstr "Candidate role in the organization" -#: hub/models.py:686 +#: hub/models.py:737 msgid "The role of the designated person in the organization." msgstr "" -#: hub/models.py:689 +#: hub/models.py:740 msgid "Candidate photo" msgstr "" -#: hub/models.py:699 hub/templates/hub/candidate/detail.html:119 +#: hub/models.py:750 hub/templates/hub/candidate/detail.html:119 msgid "Representative statement" msgstr "Candidate statement" -#: hub/models.py:704 +#: hub/models.py:755 msgid "" "Declaration of the designated representative stating that he/she is not a " "member of the leadership of a political party, has not been elected to a " "public office and is not a dignitary of the Romanian state." msgstr "" -#: hub/models.py:711 hub/templates/hub/candidate/detail.html:124 +#: hub/models.py:762 hub/templates/hub/candidate/detail.html:124 msgid "Mandate" msgstr "" -#: hub/models.py:716 +#: hub/models.py:767 msgid "" "Mandate from the organization (signed in original + electronic) with the " "highlighting of the domain for which it is running" msgstr "" -#: hub/models.py:722 hub/templates/hub/candidate/detail.html:129 +#: hub/models.py:773 hub/templates/hub/candidate/detail.html:129 msgid "Letter of intent" msgstr "" -#: hub/models.py:726 +#: hub/models.py:777 msgid "" "Letter of intent (with the mention of the domain to be represented in the " "CES)" msgstr "" -#: hub/models.py:730 hub/templates/hub/candidate/detail.html:134 +#: hub/models.py:781 hub/templates/hub/candidate/detail.html:134 msgid "CV" msgstr "" -#: hub/models.py:734 +#: hub/models.py:785 msgid "Europass format CV" msgstr "" -#: hub/models.py:738 hub/templates/hub/candidate/detail.html:139 +#: hub/models.py:789 hub/templates/hub/candidate/detail.html:139 msgid "Declaration of interests" msgstr "" -#: hub/models.py:742 +#: hub/models.py:793 msgid "Official format Declaration of interests" msgstr "" -#: hub/models.py:746 hub/templates/hub/candidate/detail.html:144 +#: hub/models.py:797 hub/templates/hub/candidate/detail.html:144 msgid "Fiscal record" msgstr "" -#: hub/models.py:750 +#: hub/models.py:801 msgid "Fiscal record, valid at the time of submitting the candidacy" msgstr "" -#: hub/models.py:754 hub/templates/hub/candidate/detail.html:149 +#: hub/models.py:805 hub/templates/hub/candidate/detail.html:149 msgid "Criminal record" msgstr "" -#: hub/models.py:758 +#: hub/models.py:809 msgid "" "(Optional) Criminal record, valid at the time of submitting the candidacy" msgstr "" -#: hub/models.py:762 -msgid "Is proposed?" -msgstr "" - -#: hub/models.py:768 +#: hub/models.py:817 msgid "Candidates" msgstr "" -#: hub/models.py:769 +#: hub/models.py:818 msgid "Candidate" msgstr "" -#: hub/models.py:831 +#: hub/models.py:900 msgid "Cannot update candidate after votes have been cast." msgstr "" -#: hub/models.py:861 +#: hub/models.py:948 msgid "Candidate votes" msgstr "" -#: hub/models.py:862 +#: hub/models.py:949 msgid "Candidate vote" msgstr "" -#: hub/models.py:885 +#: hub/models.py:969 msgid "Canditate supporters" -msgstr "" +msgstr "Candidate supporters" -#: hub/models.py:886 +#: hub/models.py:970 msgid "Candidate supporter" msgstr "" -#: hub/models.py:900 +#: hub/models.py:981 msgid "Candidate confirmations" msgstr "" -#: hub/models.py:901 +#: hub/models.py:982 msgid "Candidate confirmation" msgstr "" @@ -1259,10 +1272,6 @@ msgstr "" msgid "Register organization" msgstr "" -#: hub/templates/hub/header.html:106 -msgid "Admin" -msgstr "" - #: hub/templates/hub/header.html:111 msgid "STOP IMPERSONATING" msgstr "" @@ -1502,11 +1511,11 @@ msgstr "" msgid "Initiated password reset" msgstr "" -#: hub/templatetags/hub_tags.py:38 +#: hub/templatetags/hub_tags.py:31 msgid "published on" msgstr "" -#: hub/templatetags/hub_tags.py:40 +#: hub/templatetags/hub_tags.py:33 msgid "published" msgstr "" @@ -1590,11 +1599,11 @@ msgstr "" msgid "ngo-update/" msgstr "" -#: hub/views.py:133 +#: hub/views.py:163 msgid "Thank you! We'll get in touch soon!" msgstr "" -#: hub/views.py:391 +#: hub/views.py:392 #, python-format msgid "" "Thank you for signing up! The form you filled in has reached us. Someone " @@ -1602,41 +1611,49 @@ msgid "" "validated. If you have any further questions, send us a message at %s." msgstr "" -#: hub/views.py:429 +#: hub/views.py:430 msgid "Update organization's profile" msgstr "" -#: hub/views.py:430 +#: hub/views.py:431 msgid "" "Some data in this organization's profile can only be updated through NGO Hub." msgstr "" -#: hub/views.py:433 +#: hub/views.py:434 msgid "The organization's information is complete" msgstr "" -#: hub/views.py:435 +#: hub/views.py:436 msgid "" "If you have recently edited information in the organization's account on NGO " "Hub and want to update it in the profile on VotONG, click here" msgstr "" -#: hub/views.py:448 +#: hub/views.py:449 msgid "" "The organization does not have the voting domain set. To be able to vote, " "please set the voting domain." msgstr "" -#: hub/views.py:489 +#: hub/views.py:490 msgid "You must write a rejection message." msgstr "" -#: hub/views.py:1016 +#: hub/views.py:778 +msgid "User is not authenticated." +msgstr "" + +#: hub/views.py:783 +msgid "Authenticated user does not have an organization." +msgstr "" + +#: hub/views.py:1013 #, python-format msgid "Please wait %(minutes_threshold)s minutes before updating again." msgstr "" -#: hub/workers/update_organization.py:226 +#: hub/workers/update_organization.py:233 msgid "Error updating organization" msgstr "" diff --git a/backend/locale/ro/LC_MESSAGES/django.po b/backend/locale/ro/LC_MESSAGES/django.po index 8d3df7f6..3d16fd6b 100644 --- a/backend/locale/ro/LC_MESSAGES/django.po +++ b/backend/locale/ro/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-12 12:45+0200\n" +"POT-Creation-Date: 2024-11-15 11:47+0200\n" "PO-Revision-Date: 2020-04-23 17:54+0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -19,27 +19,27 @@ msgstr "" "2:1));\n" "X-Generator: Poedit 2.3\n" -#: accounts/admin.py:62 hub/admin.py:140 +#: accounts/admin.py:63 hub/admin.py:291 hub/admin.py:406 msgid "Identification" msgstr "Identificare" -#: accounts/admin.py:74 +#: accounts/admin.py:75 msgid "Flags" msgstr "Acțiuni" -#: accounts/admin.py:84 +#: accounts/admin.py:85 msgid "Permissions" msgstr "Permisiuni" -#: accounts/admin.py:93 +#: accounts/admin.py:94 msgid "Important dates" msgstr "Date importante" -#: accounts/admin.py:119 hub/models.py:412 +#: accounts/admin.py:120 hub/models.py:438 msgid "Organization" msgstr "Organizație" -#: accounts/admin.py:132 accounts/models.py:78 +#: accounts/admin.py:133 accounts/models.py:97 msgid "Groups" msgstr "Grupuri" @@ -51,31 +51,31 @@ msgstr "Emailurile nu se potrivesc." msgid "This email can't be set." msgstr "Acest email nu poate fi ales." -#: accounts/models.py:21 +#: accounts/models.py:23 msgid "username" msgstr "nume utilizator" -#: accounts/models.py:24 +#: accounts/models.py:26 msgid "We do not use this field" msgstr "Nu utilizăm acest câmp" -#: accounts/models.py:28 hub/templates/registration/reset_password.html:39 +#: accounts/models.py:30 hub/templates/registration/reset_password.html:39 msgid "email address" msgstr "adresă email" -#: accounts/models.py:29 +#: accounts/models.py:31 msgid "is ngo hub user" msgstr "este utilizator NGO Hub" -#: accounts/models.py:43 +#: accounts/models.py:45 msgid "User" msgstr "Utilizator" -#: accounts/models.py:44 +#: accounts/models.py:46 msgid "Users" msgstr "Utilizatori" -#: accounts/models.py:77 +#: accounts/models.py:96 msgid "Group" msgstr "Grup" @@ -166,17 +166,16 @@ msgid "Sign In Error" msgstr "Eroare autentificare" #: accounts/templates/accounts/error_org_duplicate.html:6 -#: hub/social_adapters.py:81 msgid "This NGO Hub organization already exists for another VotONG user." msgstr "Organizația din NGO Hub există deja pentru un alt utilizator VotONG." #: accounts/templates/accounts/error_org_missing.html:6 -#: hub/social_adapters.py:73 +#: hub/social_adapters.py:72 msgid "There is no NGO Hub organization for this VotONG user." msgstr "Nu există o Organizație în NGO Hub pentru acest utilizator VotONG." #: accounts/templates/accounts/error_org_registration_closed.html:6 -#: hub/social_adapters.py:60 +#: hub/social_adapters.py:59 msgid "The registration process for new organizations is currently disabled." msgstr "" "Procesul de înregistrare pentru noi organizații nu este momentan deschis." @@ -385,192 +384,200 @@ msgstr "cont/reseteaza-parola/complet/" msgid "authentication/" msgstr "autentificare/" -#: hub/admin.py:92 hub/admin.py:429 +#: hub/admin.py:94 hub/admin.py:525 msgid "Votes" msgstr "Voturi" -#: hub/admin.py:97 hub/admin.py:438 +#: hub/admin.py:99 hub/admin.py:534 msgid "Supporters" msgstr "Susținători" -#: hub/admin.py:102 hub/admin.py:444 +#: hub/admin.py:104 hub/admin.py:540 msgid "Confirmations" msgstr "Confirmări" -#: hub/admin.py:150 -msgid "Contact Information" -msgstr "Informații de contact" - -#: hub/admin.py:167 -msgid "Legal representative" -msgstr "Reprezentant legal" - -#: hub/admin.py:177 -msgid "Platform documents" -msgstr "Documente platformă" - -#: hub/admin.py:213 -msgid "user" -msgstr "utilizator" - -#: hub/admin.py:220 -msgid "candidate" -msgstr "candidatură" - -#: hub/admin.py:231 -msgid "Not set" -msgstr "Nu este setat" - -#: hub/admin.py:233 -msgid "voting domain" -msgstr "domeniul de votare" - -#: hub/admin.py:285 +#: hub/admin.py:156 msgid "supporters" msgstr "susținători" -#: hub/admin.py:291 +#: hub/admin.py:162 msgid "10 or more" msgstr "10 sau mai mulți" -#: hub/admin.py:292 +#: hub/admin.py:163 msgid "less than 10" msgstr "mai puțin de 10" -#: hub/admin.py:304 +#: hub/admin.py:175 msgid "confirmations" msgstr "confirmări" -#: hub/admin.py:309 +#: hub/admin.py:180 msgid "5 or more" msgstr "5 sau mai mult" -#: hub/admin.py:310 +#: hub/admin.py:181 msgid "less than 5" msgstr "mai puțin de 5" -#: hub/admin.py:366 +#: hub/admin.py:237 msgid "Set selected candidates status to REJECTED" msgstr "Modifică starea candidaților selectați în RESPINS" -#: hub/admin.py:373 +#: hub/admin.py:244 msgid "Set selected candidates status to ACCEPTED" msgstr "Modifică starea candidaților selectați în APROBAT" -#: hub/admin.py:380 +#: hub/admin.py:251 msgid "Set selected candidates status to PENDING" msgstr "Modifică starea candidaților selectați în ÎN AȘTEPTARE" -#: hub/admin.py:555 +#: hub/admin.py:301 +msgid "Contact Information" +msgstr "Informații de contact" + +#: hub/admin.py:319 +msgid "Legal representative" +msgstr "Reprezentant legal" + +#: hub/admin.py:329 +msgid "Platform documents" +msgstr "Documente platformă" + +#: hub/admin.py:357 +msgid "user" +msgstr "utilizator" + +#: hub/admin.py:364 +msgid "candidate" +msgstr "candidatură" + +#: hub/admin.py:375 +msgid "Not set" +msgstr "Nu este setat" + +#: hub/admin.py:377 +msgid "voting domain" +msgstr "domeniul de votare" + +#: hub/admin.py:453 +msgid "Status Information" +msgstr "Informații stare" + +#: hub/admin.py:465 +msgid "Candidate Information" +msgstr "Informații candidatură" + +#: hub/admin.py:475 +msgid "Candidate Files" +msgstr "Fișiere candidatură" + +#: hub/admin.py:629 msgid "CSV file imported" msgstr "Fișier CSV încărcat" -#: hub/admin.py:563 +#: hub/admin.py:637 msgid "Import Cities" msgstr "Încarcă orașe" -#: hub/admin.py:611 +#: hub/admin.py:680 #, python-brace-format msgid "Configuration invalid. Missing flag(s) in database: {missing_flags}." msgstr "" "Configurație invalidă. Lipsesc acțiunile din baza de date: {missing_flags}." -#: hub/admin.py:623 +#: hub/admin.py:692 #, python-brace-format msgid "'{phase_name}' configuration invalid. Missing flag(s): {missing_flags}." msgstr "" "'{phase_name}' configurare invalidă. Lipsesc comutatorul/comutatoarele: " "{missing_flags}." -#: hub/admin.py:640 +#: hub/admin.py:709 #, python-brace-format msgid "Flags set successfully for '{phase_name}'." msgstr "Comutatoarele au fost setate cu succes pentru '{phase_name}'." -#: hub/admin.py:645 +#: hub/admin.py:714 msgid "PHASE PAUSE - platform pause" msgstr "FAZA PAUZĂ - pauză platformă" -#: hub/admin.py:659 +#: hub/admin.py:728 msgid "Set flags for PHASE PAUSE - platform pause" msgstr "Activează FAZA PAUZĂ - pauză platformă" -#: hub/admin.py:664 +#: hub/admin.py:733 msgid "PHASE DEACTIVATE - platform deactivate" msgstr "FAZA DEZACTIVARE - dezactivează platformă" -#: hub/admin.py:677 +#: hub/admin.py:746 msgid "Set flags for PHASE - platform deactivate" msgstr "Activează FAZA DEZACTIVARE - dezactivează platformă" -#: hub/admin.py:682 +#: hub/admin.py:751 msgid "PHASE 1 - organization & candidate registrations" msgstr "FAZA 1 - înregistrare candidați si organizații" -#: hub/admin.py:696 +#: hub/admin.py:765 msgid "Set flags for PHASE 1 - organization & candidate registrations" msgstr "Activează FAZA 1 - înregistrare candidați si organizații" -#: hub/admin.py:701 +#: hub/admin.py:770 msgid "PHASE 2 - candidate validation" msgstr "FAZA 2 - validare candidați" -#: hub/admin.py:715 +#: hub/admin.py:784 msgid "Set flags for PHASE 2 - candidate validation" msgstr "Activează FAZA 2 - validare candidați" -#: hub/admin.py:720 +#: hub/admin.py:789 msgid "PHASE 3 - voting" msgstr "FAZA 3 - votare" -#: hub/admin.py:734 +#: hub/admin.py:803 msgid "Set flags for PHASE 3 - voting" msgstr "Activează FAZA 3 - votare" -#: hub/admin.py:739 +#: hub/admin.py:808 msgid "FINAL PHASE - results" msgstr "FAZA FINALĂ - rezultate" -#: hub/admin.py:753 +#: hub/admin.py:822 msgid "Set flags for FINAL PHASE - results" msgstr "Activează FAZA FINALĂ - rezultate" -#: hub/admin.py:758 +#: hub/admin.py:827 msgid "Activate selected flags" msgstr "Activează acțiunile selectate" -#: hub/forms.py:93 +#: hub/forms.py:95 msgid "Terms and Conditions" msgstr "Termeni și condiții" -#: hub/forms.py:97 +#: hub/forms.py:99 #, python-brace-format msgid "I agree to the {terms_url} of the VotONG platform" msgstr "Sunt de acord cu {terms_url} ale platformei VotONG" -#: hub/forms.py:106 hub/forms.py:191 hub/views.py:496 +#: hub/forms.py:108 hub/forms.py:221 hub/views.py:497 msgid "An organization with the same email address is already registered." msgstr "O organizație cu aceeași adresă de email este deja înregistrată." -#: hub/forms.py:111 +#: hub/forms.py:113 msgid "You need to accept terms and conditions." msgstr "Trebuie să acceptați termenii și condițiile de utilizare" -#: hub/forms.py:204 +#: hub/forms.py:134 +msgid "Organization already exists." +msgstr "Organizația există deja." + +#: hub/forms.py:234 msgid "Voting domain cannot be changed. Please contact the site administrator." msgstr "" "Domeniul de votare nu poate fi schimbat. Contactați administratorul site-" "ului." -#: hub/forms.py:288 -msgid "Authenticated user does not have an organization." -msgstr "Utilizatorul autentificat nu are o organizație." - -#: hub/forms.py:291 -msgid "Organization already has a candidate." -msgstr "Organizația are deja o candidatură" - -#: hub/forms.py:308 +#: hub/forms.py:332 msgid "" "To add a candidate you must upload all required documents in 'Organization " "Profile'" @@ -578,15 +585,15 @@ msgstr "" "Pentru a adăuga o candidatură trebuie să încarci toate documentele necesare " "în 'Profilul Organizației'" -#: hub/forms.py:312 +#: hub/forms.py:336 msgid "Please add all candidate fields" msgstr "Vă rugăm completați toate câmpurile candidaturii" -#: hub/forms.py:346 +#: hub/forms.py:370 msgid "Candidate registration is closed." msgstr "Înregistrarea candidaților este închisă." -#: hub/forms.py:353 +#: hub/forms.py:377 msgid "" "You cannot edit a candidate that is not proposed and outside of the " "candidate confirmation period." @@ -594,188 +601,192 @@ msgstr "" "Nu puteți edita un candidat care nu este propus și în afara perioadei de " "confirmare a candidaturii." -#: hub/forms.py:368 +#: hub/forms.py:392 msgid "[ERROR 32202] Please contact the site administrator." msgstr "[EROARE 32202] Contactați administratorul site-ului." -#: hub/forms.py:374 +#: hub/forms.py:398 msgid "CSV file" msgstr "Fișier CSV" -#: hub/forms.py:379 +#: hub/forms.py:403 msgid "Uploaded file is not a CSV file" msgstr "Fișierul încărcat nu e de tip CSV" -#: hub/models.py:35 +#: hub/models.py:36 #, python-format msgid "The file size is %d %s but it must be under %d %s" msgstr "Fișierul are %d %s dar trebuie să fie sub %d %s" -#: hub/models.py:100 +#: hub/models.py:101 msgid "Active" msgstr "Activ" -#: hub/models.py:101 +#: hub/models.py:102 msgid "Inactive" msgstr "Inactiv" -#: hub/models.py:105 +#: hub/models.py:106 msgid "Enable organization registration" msgstr "Activează înregistrare organizație" -#: hub/models.py:106 +#: hub/models.py:107 msgid "Enable organization approvals" msgstr "Activează aprobare organizație" -#: hub/models.py:107 +#: hub/models.py:108 msgid "Enable candidate registration" msgstr "Activează înregistrare candidatură" -#: hub/models.py:108 +#: hub/models.py:109 msgid "Enable candidate supporting" msgstr "Activează susținere candidatură" -#: hub/models.py:109 +#: hub/models.py:110 msgid "Enable candidate voting" msgstr "Activează votare candidatură" -#: hub/models.py:110 +#: hub/models.py:111 msgid "Enable candidate confirmation" msgstr "Activează confirmare candidatură" -#: hub/models.py:111 +#: hub/models.py:112 msgid "Enable the display of results" msgstr "Activează afișarea rezultatelor" -#: hub/models.py:114 +#: hub/models.py:115 msgid "Voting round with just one domain (some restrictions will apply)" msgstr "Rundă de vot cu un singur domeniu (vor fi aplicate unele restricții)" -#: hub/models.py:115 +#: hub/models.py:116 msgid "" "Enable global support (the support of at least 10 organizations is required)" msgstr "" "Activează susținere globală (este necesară susținerea a cel puțin 10 " "organizații)" -#: hub/models.py:116 +#: hub/models.py:117 msgid "Enable the voting domain restriction for an organization" msgstr "Activează restricția domeniului de vot pentru o organizație" -#: hub/models.py:134 +#: hub/models.py:135 msgid "Flag" msgstr "Acțiune" -#: hub/models.py:138 +#: hub/models.py:139 msgid "Feature flag" msgstr "Acțiune etapă" -#: hub/models.py:139 +#: hub/models.py:140 msgid "Feature flags" msgstr "Acțiuni etape" -#: hub/models.py:156 +#: hub/models.py:157 msgid "Title" msgstr "Titlu" -#: hub/models.py:158 +#: hub/models.py:159 msgid "Author" msgstr "Autor" -#: hub/models.py:159 +#: hub/models.py:160 msgid "Content preview" msgstr "Sumar conținut" -#: hub/models.py:161 +#: hub/models.py:162 msgid "Content" msgstr "Conținut" -#: hub/models.py:163 +#: hub/models.py:164 msgid "Is visible?" msgstr "Este vizibil?" -#: hub/models.py:164 +#: hub/models.py:165 msgid "Date published" msgstr "Dată publicare" -#: hub/models.py:167 +#: hub/models.py:168 msgid "Blog post" msgstr "Articol blog" -#: hub/models.py:168 +#: hub/models.py:169 msgid "Blog posts" msgstr "Articole blog" -#: hub/models.py:180 hub/templates/hub/home.html:292 +#: hub/models.py:181 hub/templates/hub/home.html:292 #: hub/templates/hub/home.html:293 msgid "Name" msgstr "Nume" -#: hub/models.py:181 +#: hub/models.py:182 msgid "Description" msgstr "Descriere" -#: hub/models.py:183 +#: hub/models.py:184 msgid "Number of seats" msgstr "Numărul de fotolii" -#: hub/models.py:189 hub/models.py:668 +#: hub/models.py:190 hub/models.py:717 msgid "Domain" msgstr "Domeniu" -#: hub/models.py:190 +#: hub/models.py:191 msgid "Domains" msgstr "Domenii" -#: hub/models.py:211 hub/models.py:216 hub/models.py:292 +#: hub/models.py:212 hub/models.py:217 hub/models.py:314 msgid "City" msgstr "Oraș" -#: hub/models.py:212 hub/models.py:291 +#: hub/models.py:213 hub/models.py:313 msgid "County" msgstr "Județ" -#: hub/models.py:213 +#: hub/models.py:214 msgid "Is county residence" msgstr "E reședință de județ" -#: hub/models.py:217 +#: hub/models.py:218 msgid "Cities" msgstr "Orașe" -#: hub/models.py:267 +#: hub/models.py:288 msgid "Draft" msgstr "Schiță" -#: hub/models.py:268 +#: hub/models.py:289 msgid "Pending approval" msgstr "Așteaptă aprobare" -#: hub/models.py:269 +#: hub/models.py:290 msgid "NGO Hub accepted" msgstr "Acceptat din NGO Hub" -#: hub/models.py:270 hub/models.py:648 +#: hub/models.py:291 hub/models.py:697 msgid "Accepted" msgstr "Acceptat" -#: hub/models.py:271 hub/models.py:650 +#: hub/models.py:292 hub/templates/hub/header.html:106 +msgid "Admin" +msgstr "Admin" + +#: hub/models.py:293 hub/models.py:699 msgid "Rejected" msgstr "Respins" -#: hub/models.py:273 hub/models.py:652 +#: hub/models.py:295 hub/models.py:701 msgid "Status" msgstr "Stare" -#: hub/models.py:275 +#: hub/models.py:297 msgid "NGO Hub linked organization ID" msgstr "ID organizație în NGO Hub" -#: hub/models.py:279 +#: hub/models.py:301 msgid "Voting domain" msgstr "Domeniul de votare" -#: hub/models.py:285 +#: hub/models.py:307 msgid "" "The domain in which the organization can vote, support, and propose " "candidates – once set, the field can only be modified by the platform's " @@ -784,68 +795,68 @@ msgstr "" "Domeniul în care organizația poate vota, susține și propune candidați - " "odată setat, câmpul poate fi modificat doar de administratorii platformei." -#: hub/models.py:290 +#: hub/models.py:312 msgid "NGO Name" msgstr "Nume organizație" -#: hub/models.py:293 +#: hub/models.py:315 msgid "Address" msgstr "Adresă" -#: hub/models.py:294 +#: hub/models.py:316 msgid "Registration number" msgstr "" "Număr de înregistrare în Registrul Național al ONG-urilor (de forma 11111/" "A/2016)" -#: hub/models.py:296 +#: hub/models.py:318 msgid "Organization Email" msgstr "Adresă de email organizație" -#: hub/models.py:297 +#: hub/models.py:319 msgid "Organization Phone" msgstr "Telefon organizație (opțional)" -#: hub/models.py:298 +#: hub/models.py:320 msgid "Short Description" msgstr "Scurtă descriere (opțional)" -#: hub/models.py:300 +#: hub/models.py:322 msgid "Legal Representative Name" msgstr "Nume reprezentant legal" -#: hub/models.py:301 +#: hub/models.py:323 msgid "Legal Representative Email" msgstr "Adresă de email reprezentant legal" -#: hub/models.py:303 +#: hub/models.py:325 msgid "Legal Representative Phone" msgstr "Telefon reprezentant legal (opțional)" -#: hub/models.py:307 +#: hub/models.py:329 msgid "Board council" msgstr "" "Consiliu Director (adaugă numele complet al fiecărui membru, separate prin " "virgulă)" -#: hub/models.py:310 +#: hub/models.py:332 msgid "Logo" msgstr "Siglă" -#: hub/models.py:317 +#: hub/models.py:339 #, python-format msgid "First page of last balance sheet for %(CURRENT_EDITION_YEAR)s" msgstr "Prima pagină a bilanțului contabil pe anul %(CURRENT_EDITION_YEAR)s" -#: hub/models.py:324 hub/templates/hub/partials/organization_documents.html:16 +#: hub/models.py:346 hub/templates/hub/partials/organization_documents.html:16 msgid "NGO Statute" msgstr "Statutul organizației" -#: hub/models.py:332 hub/templates/hub/ngo/detail.html:70 +#: hub/models.py:354 hub/templates/hub/ngo/detail.html:70 msgid "Current year activity summary" msgstr "Sumarul de activități pentru anul curent" -#: hub/models.py:337 +#: hub/models.py:359 msgid "" "Summary of the activities carried out by the organization in the current " "year (between 500 and 2000 characters)" @@ -853,63 +864,63 @@ msgstr "" "Sumarul activităților desfășurate de organizație în anul curent (între 500 " "și 2000 de caractere)" -#: hub/models.py:343 hub/templates/hub/partials/organization_documents.html:31 +#: hub/models.py:365 hub/templates/hub/partials/organization_documents.html:31 msgid "Yearly report 2023" msgstr "Raport anual 2023" -#: hub/models.py:351 hub/templates/hub/partials/organization_documents.html:36 +#: hub/models.py:373 hub/templates/hub/partials/organization_documents.html:36 msgid "Yearly report 2022" msgstr "Raport anual 2022" -#: hub/models.py:359 hub/templates/hub/partials/organization_documents.html:41 +#: hub/models.py:381 hub/templates/hub/partials/organization_documents.html:41 msgid "Yearly report 2021" msgstr "Raport anual 2021" -#: hub/models.py:368 +#: hub/models.py:390 msgid "Non-discrimination statement" msgstr "Declarație nediscriminare" -#: hub/models.py:376 +#: hub/models.py:398 msgid "Non-political statement" msgstr "Declarație neapartenență politică" -#: hub/models.py:385 hub/templates/hub/partials/organization_documents.html:21 +#: hub/models.py:407 hub/templates/hub/partials/organization_documents.html:21 msgid "Fiscal certificate ANAF" msgstr "Certificat fiscal emis de ANAF" -#: hub/models.py:393 hub/templates/hub/partials/organization_documents.html:26 +#: hub/models.py:415 hub/templates/hub/partials/organization_documents.html:26 msgid "Fiscal certificate local" msgstr "Certificat fiscal emis de Direcția de Impozite și Taxe Locale" -#: hub/models.py:401 +#: hub/models.py:423 msgid "Accepted Terms and Conditions" msgstr "A acceptat termenii și condițiile" -#: hub/models.py:403 +#: hub/models.py:425 msgid "Rejection message" msgstr "Motiv respingere" -#: hub/models.py:405 +#: hub/models.py:427 msgid "Filename cache" msgstr "Cache nume fișier" -#: hub/models.py:407 hub/models.py:408 +#: hub/models.py:429 hub/models.py:430 msgid "Last NGO Hub update" msgstr "Ultima actualizare NGO Hub" -#: hub/models.py:411 hub/templates/hub/header.html:60 +#: hub/models.py:437 hub/templates/hub/header.html:60 msgid "Organizations" msgstr "Organizații" -#: hub/models.py:647 +#: hub/models.py:696 msgid "Pending" msgstr "În așteptare" -#: hub/models.py:649 +#: hub/models.py:698 msgid "Confirmed" msgstr "Confirmat" -#: hub/models.py:662 +#: hub/models.py:711 msgid "" "If this is set, the `org` field will be unset and the candidate is removed " "as the official proposal of the organization." @@ -917,35 +928,39 @@ msgstr "" "Dacă este setat, câmpul `org` va fi șters și candidatul va fi eliminat ca " "propunere oficială a organizației." -#: hub/models.py:673 +#: hub/models.py:722 msgid "The domain in which the candidate is running." msgstr "Domeniul pentru care candidează candidatul." -#: hub/models.py:677 hub/templates/hub/candidate/detail.html:115 +#: hub/models.py:725 +msgid "Is proposed?" +msgstr "Este propus?" + +#: hub/models.py:728 hub/templates/hub/candidate/detail.html:115 msgid "Representative name" msgstr "Nume candidat" -#: hub/models.py:680 +#: hub/models.py:731 msgid "The name of the designated person in the organization." msgstr "Numele persoanei mandatate de către organizație." -#: hub/models.py:683 +#: hub/models.py:734 msgid "Representative role in organization" msgstr "Funcția candidatului în organizație" -#: hub/models.py:686 +#: hub/models.py:737 msgid "The role of the designated person in the organization." msgstr "Funcția în organizației a persoanei desemnate" -#: hub/models.py:689 +#: hub/models.py:740 msgid "Candidate photo" msgstr "Fotografia candidatului" -#: hub/models.py:699 hub/templates/hub/candidate/detail.html:119 +#: hub/models.py:750 hub/templates/hub/candidate/detail.html:119 msgid "Representative statement" msgstr "Declarație candidat" -#: hub/models.py:704 +#: hub/models.py:755 msgid "" "Declaration of the designated representative stating that he/she is not a " "member of the leadership of a political party, has not been elected to a " @@ -955,11 +970,11 @@ msgstr "" "declară că nu este membru al conducerii unui partid politic, nu a fost ales " "într-o funcție publică și nu este demnitar al statului român." -#: hub/models.py:711 hub/templates/hub/candidate/detail.html:124 +#: hub/models.py:762 hub/templates/hub/candidate/detail.html:124 msgid "Mandate" msgstr "Mandat" -#: hub/models.py:716 +#: hub/models.py:767 msgid "" "Mandate from the organization (signed in original + electronic) with the " "highlighting of the domain for which it is running" @@ -967,11 +982,11 @@ msgstr "" "Mandat din partea organizației (semnat în original + electronică) cu " "sublinierea domeniului pentru care candidează" -#: hub/models.py:722 hub/templates/hub/candidate/detail.html:129 +#: hub/models.py:773 hub/templates/hub/candidate/detail.html:129 msgid "Letter of intent" msgstr "Scrisoare de intenție" -#: hub/models.py:726 +#: hub/models.py:777 msgid "" "Letter of intent (with the mention of the domain to be represented in the " "CES)" @@ -979,76 +994,72 @@ msgstr "" "Scrisoare de intenție (cu menționarea domeniului pe care dorește să îl " "reprezinte în CES)" -#: hub/models.py:730 hub/templates/hub/candidate/detail.html:134 +#: hub/models.py:781 hub/templates/hub/candidate/detail.html:134 msgid "CV" msgstr "CV" -#: hub/models.py:734 +#: hub/models.py:785 msgid "Europass format CV" msgstr "CV în format Europass" -#: hub/models.py:738 hub/templates/hub/candidate/detail.html:139 +#: hub/models.py:789 hub/templates/hub/candidate/detail.html:139 msgid "Declaration of interests" msgstr "Declarație de interese" -#: hub/models.py:742 +#: hub/models.py:793 msgid "Official format Declaration of interests" msgstr "Declarație de interese în format oficial" -#: hub/models.py:746 hub/templates/hub/candidate/detail.html:144 +#: hub/models.py:797 hub/templates/hub/candidate/detail.html:144 msgid "Fiscal record" msgstr "Cazier fiscal" -#: hub/models.py:750 +#: hub/models.py:801 msgid "Fiscal record, valid at the time of submitting the candidacy" msgstr "Cazier fiscal, valabil la data depunerii candidaturii" -#: hub/models.py:754 hub/templates/hub/candidate/detail.html:149 +#: hub/models.py:805 hub/templates/hub/candidate/detail.html:149 msgid "Criminal record" msgstr "Cazier judiciar" -#: hub/models.py:758 +#: hub/models.py:809 msgid "" "(Optional) Criminal record, valid at the time of submitting the candidacy" msgstr "(Opțional) Cazier judiciar, valabil la data depunerii candidaturii" -#: hub/models.py:762 -msgid "Is proposed?" -msgstr "Este propus?" - -#: hub/models.py:768 +#: hub/models.py:817 msgid "Candidates" msgstr "Candidaturi" -#: hub/models.py:769 +#: hub/models.py:818 msgid "Candidate" msgstr "Candidatură" -#: hub/models.py:831 +#: hub/models.py:900 msgid "Cannot update candidate after votes have been cast." msgstr "Nu se poate modifica candidatura după ce s-au înregistrat voturi." -#: hub/models.py:861 +#: hub/models.py:948 msgid "Candidate votes" msgstr "Voturi candidatură" -#: hub/models.py:862 +#: hub/models.py:949 msgid "Candidate vote" msgstr "Vot candidatură" -#: hub/models.py:885 +#: hub/models.py:969 msgid "Canditate supporters" msgstr "Susținători candidatură" -#: hub/models.py:886 +#: hub/models.py:970 msgid "Candidate supporter" msgstr "Susținător candidatură" -#: hub/models.py:900 +#: hub/models.py:981 msgid "Candidate confirmations" msgstr "Confirmări candidatură" -#: hub/models.py:901 +#: hub/models.py:982 msgid "Candidate confirmation" msgstr "Confirmare candidatură" @@ -1300,10 +1311,6 @@ msgstr "Istoric" msgid "Register organization" msgstr "Înscriere organizație" -#: hub/templates/hub/header.html:106 -msgid "Admin" -msgstr "Admin" - #: hub/templates/hub/header.html:111 msgid "STOP IMPERSONATING" msgstr "OPREȘTE IMPERSONAREA" @@ -1559,11 +1566,11 @@ msgstr "" msgid "Initiated password reset" msgstr "S-a inițializat resetarea parolei" -#: hub/templatetags/hub_tags.py:38 +#: hub/templatetags/hub_tags.py:31 msgid "published on" msgstr "publicat la" -#: hub/templatetags/hub_tags.py:40 +#: hub/templatetags/hub_tags.py:33 msgid "published" msgstr "publicat" @@ -1647,11 +1654,11 @@ msgstr "organizatii//actualizare" msgid "ngo-update/" msgstr "org-actualizare/" -#: hub/views.py:133 +#: hub/views.py:163 msgid "Thank you! We'll get in touch soon!" msgstr "Mulțumim! Vă vom contacta în curând!" -#: hub/views.py:391 +#: hub/views.py:392 #, python-format msgid "" "Thank you for signing up! The form you filled in has reached us. Someone " @@ -1662,22 +1669,22 @@ msgstr "" "noastră vă va contacta imediat ce organizația trece de procesul de validare. " "Dacă aveți întrebări suplimentare, ne puteți trimite un mesaj la %s." -#: hub/views.py:429 +#: hub/views.py:430 msgid "Update organization's profile" msgstr "Actualizează profilul organizației" -#: hub/views.py:430 +#: hub/views.py:431 msgid "" "Some data in this organization's profile can only be updated through NGO Hub." msgstr "" "Unele date din profilul acestei organizații pot fi actualizate doar prin NGO " "Hub." -#: hub/views.py:433 +#: hub/views.py:434 msgid "The organization's information is complete" msgstr "Informațiile organizației sunt actualizate" -#: hub/views.py:435 +#: hub/views.py:436 msgid "" "If you have recently edited information in the organization's account on NGO " "Hub and want to update it in the profile on VotONG, click here" @@ -1685,7 +1692,7 @@ msgstr "" "Dacă ați editat recent informații în contul organizației din NGO Hub și " "vreți să le actualizați în profilul de pe VotONG, apăsați aici" -#: hub/views.py:448 +#: hub/views.py:449 msgid "" "The organization does not have the voting domain set. To be able to vote, " "please set the voting domain." @@ -1694,18 +1701,26 @@ msgstr "" "exercita votul) pentru a te înscrie ca elector sau pentru a nominaliza un " "candidat." -#: hub/views.py:489 +#: hub/views.py:490 msgid "You must write a rejection message." msgstr "Trebuie să completați un motiv de respingere." -#: hub/views.py:1016 +#: hub/views.py:778 +msgid "User is not authenticated." +msgstr "Utilizatorul nu este autentificat." + +#: hub/views.py:783 +msgid "Authenticated user does not have an organization." +msgstr "Utilizatorul autentificat nu are o organizație." + +#: hub/views.py:1013 #, python-format msgid "Please wait %(minutes_threshold)s minutes before updating again." msgstr "" "Vă rugăm așteptați %(minutes_threshold)s minute înainte de a actualiza din " "nou organizația." -#: hub/workers/update_organization.py:226 +#: hub/workers/update_organization.py:233 msgid "Error updating organization" msgstr "Eroare la actualizarea organizației" @@ -1740,6 +1755,9 @@ msgstr "sau apasă aici pentru a ieși" msgid "Redirecting to authentication..." msgstr "Redirecționare la autentificare..." +#~ msgid "Metadata" +#~ msgstr "Metadate" + #~ msgid "" #~ "The name of the designated person who will represent the organization in " #~ "the Electoral Commission in case of a favorable response.The designated "