wbcore 1.46.0__py2.py3-none-any.whl → 1.58.2__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. wbcore/cache/decorators.py +5 -3
  2. wbcore/cache/registry.py +14 -7
  3. wbcore/configs/__init__.py +1 -0
  4. wbcore/configs/configs.py +5 -0
  5. wbcore/configs/decorators.py +1 -1
  6. wbcore/configurations/configurations/apps.py +3 -2
  7. wbcore/configurations/configurations/authentication.py +1 -1
  8. wbcore/configurations/configurations/base.py +1 -1
  9. wbcore/configurations/configurations/cache.py +1 -1
  10. wbcore/configurations/configurations/i18nl10n.py +2 -1
  11. wbcore/configurations/configurations/maintenance.py +1 -1
  12. wbcore/configurations/configurations/media.py +1 -1
  13. wbcore/configurations/configurations/middleware.py +1 -1
  14. wbcore/configurations/configurations/rest_framework.py +1 -1
  15. wbcore/configurations/configurations/static.py +3 -3
  16. wbcore/configurations/configurations/wbcore.py +1 -1
  17. wbcore/content_type/serializers.py +13 -5
  18. wbcore/content_type/utils.py +3 -3
  19. wbcore/content_type/viewsets.py +2 -2
  20. wbcore/contrib/agenda/filters/calendar_item.py +5 -4
  21. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +145 -52
  22. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po.translated +236 -0
  23. wbcore/contrib/agenda/locale/en/LC_MESSAGES/django.po +200 -0
  24. wbcore/contrib/agenda/locale/fr/LC_MESSAGES/django.po +201 -0
  25. wbcore/contrib/agenda/viewsets/calendar_items.py +7 -7
  26. wbcore/contrib/agenda/viewsets/menu/calendar_items.py +0 -6
  27. wbcore/contrib/ai/exceptions.py +5 -5
  28. wbcore/contrib/ai/llm/config.py +76 -27
  29. wbcore/contrib/ai/llm/mixins.py +5 -8
  30. wbcore/contrib/ai/llm/utils.py +50 -26
  31. wbcore/contrib/authentication/admin.py +2 -2
  32. wbcore/contrib/authentication/factories/__init__.py +8 -1
  33. wbcore/contrib/authentication/factories/users.py +19 -0
  34. wbcore/contrib/authentication/filters.py +1 -2
  35. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +209 -187
  36. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po.translated +634 -0
  37. wbcore/contrib/authentication/locale/en/LC_MESSAGES/django.po +590 -0
  38. wbcore/contrib/authentication/locale/fr/LC_MESSAGES/django.po +592 -0
  39. wbcore/contrib/authentication/models/users.py +3 -3
  40. wbcore/contrib/authentication/models/users_activities.py +1 -1
  41. wbcore/contrib/authentication/serializers/users.py +2 -2
  42. wbcore/contrib/authentication/tests/test_tokens.py +3 -3
  43. wbcore/contrib/authentication/tests/test_users.py +0 -1
  44. wbcore/contrib/authentication/urls.py +0 -4
  45. wbcore/contrib/authentication/viewsets/endpoints/user_activities.py +2 -11
  46. wbcore/contrib/authentication/viewsets/endpoints/users.py +0 -3
  47. wbcore/contrib/authentication/viewsets/user_activities.py +2 -1
  48. wbcore/contrib/authentication/viewsets/users.py +6 -4
  49. wbcore/contrib/color/models.py +2 -1
  50. wbcore/contrib/currency/factories.py +1 -1
  51. wbcore/contrib/currency/import_export/backends/fixerio/currency_fx_rates.py +3 -1
  52. wbcore/contrib/currency/models.py +30 -8
  53. wbcore/contrib/currency/serializers.py +5 -1
  54. wbcore/contrib/currency/tests/test_serializers.py +7 -3
  55. wbcore/contrib/currency/tests/test_viewsets.py +1 -1
  56. wbcore/contrib/currency/viewsets/currency.py +2 -2
  57. wbcore/contrib/currency/viewsets/endpoints/currency_fx_rates.py +0 -9
  58. wbcore/contrib/dataloader/tests/test/dataloaders/protocols.py +1 -2
  59. wbcore/contrib/dataloader/utils.py +2 -2
  60. wbcore/contrib/directory/factories/__init__.py +1 -1
  61. wbcore/contrib/directory/factories/entries.py +2 -1
  62. wbcore/contrib/directory/filters/entries.py +9 -0
  63. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +728 -714
  64. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po.translated +1779 -0
  65. wbcore/contrib/directory/locale/en/LC_MESSAGES/django.po +1652 -0
  66. wbcore/contrib/directory/locale/fr/LC_MESSAGES/django.po +1654 -0
  67. wbcore/contrib/directory/migrations/0011_person_description_person_i18n.py +24 -0
  68. wbcore/contrib/directory/migrations/0012_alter_person_managers.py +20 -0
  69. wbcore/contrib/directory/migrations/0013_alter_clientmanagerrelationship_options.py +17 -0
  70. wbcore/contrib/directory/models/contacts.py +2 -2
  71. wbcore/contrib/directory/models/entries.py +31 -5
  72. wbcore/contrib/directory/models/relationships.py +31 -35
  73. wbcore/contrib/directory/permissions.py +6 -0
  74. wbcore/contrib/directory/serializers/companies.py +16 -8
  75. wbcore/contrib/directory/serializers/contacts.py +8 -8
  76. wbcore/contrib/directory/serializers/entries.py +26 -15
  77. wbcore/contrib/directory/serializers/entry_representations.py +4 -2
  78. wbcore/contrib/directory/serializers/persons.py +12 -10
  79. wbcore/contrib/directory/serializers/relationships.py +2 -2
  80. wbcore/contrib/directory/tests/conftest.py +2 -0
  81. wbcore/contrib/directory/tests/disable_signals.py +11 -1
  82. wbcore/contrib/directory/tests/signals.py +2 -2
  83. wbcore/contrib/directory/tests/test_models.py +88 -66
  84. wbcore/contrib/directory/tests/test_serializers.py +1 -1
  85. wbcore/contrib/directory/tests/test_viewsets.py +8 -8
  86. wbcore/contrib/directory/viewsets/buttons/__init__.py +1 -1
  87. wbcore/contrib/directory/viewsets/buttons/relationships.py +32 -0
  88. wbcore/contrib/directory/viewsets/contacts.py +6 -6
  89. wbcore/contrib/directory/viewsets/display/__init__.py +1 -1
  90. wbcore/contrib/directory/viewsets/display/contacts.py +1 -14
  91. wbcore/contrib/directory/viewsets/display/entries.py +68 -38
  92. wbcore/contrib/directory/viewsets/display/relationships.py +26 -50
  93. wbcore/contrib/directory/viewsets/endpoints/relationships.py +1 -26
  94. wbcore/contrib/directory/viewsets/entries.py +8 -6
  95. wbcore/contrib/directory/viewsets/previews/entries.py +3 -3
  96. wbcore/contrib/directory/viewsets/relationships.py +16 -2
  97. wbcore/contrib/directory/viewsets/titles/relationships.py +2 -3
  98. wbcore/contrib/documents/filters.py +0 -2
  99. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +103 -94
  100. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po.translated +285 -0
  101. wbcore/contrib/documents/locale/en/LC_MESSAGES/django.po +271 -0
  102. wbcore/contrib/documents/locale/fr/LC_MESSAGES/django.po +270 -0
  103. wbcore/contrib/documents/tests/test_models.py +32 -28
  104. wbcore/contrib/documents/viewsets/endpoints/shareable_links.py +2 -21
  105. wbcore/contrib/dynamic_preferences/types.py +108 -0
  106. wbcore/contrib/dynamic_preferences/viewsets.py +27 -0
  107. wbcore/contrib/example_app/filters/event.py +3 -1
  108. wbcore/contrib/example_app/filters/match.py +1 -1
  109. wbcore/contrib/example_app/models.py +91 -22
  110. wbcore/contrib/example_app/serializers/person_team.py +4 -4
  111. wbcore/contrib/example_app/templates/example_app/embedded_view.html +19 -0
  112. wbcore/contrib/example_app/tests/e2e/test_teams.py +1 -1
  113. wbcore/contrib/example_app/tests/test_models/test_match.py +17 -7
  114. wbcore/contrib/example_app/urls.py +2 -0
  115. wbcore/contrib/example_app/views.py +7 -0
  116. wbcore/contrib/example_app/viewsets/displays/team.py +23 -4
  117. wbcore/contrib/example_app/viewsets/menu/menus.py +1 -1
  118. wbcore/contrib/example_app/viewsets/menus.py +1 -1
  119. wbcore/contrib/geography/tests/conftest.py +14 -0
  120. wbcore/contrib/geography/tests/test_models.py +23 -8
  121. wbcore/contrib/geography/tests/test_viewsets.py +96 -2
  122. wbcore/contrib/guardian/tests/test_model_mixins.py +3 -4
  123. wbcore/contrib/guardian/tests/test_tasks.py +9 -9
  124. wbcore/contrib/guardian/tests/test_viewsets.py +2 -2
  125. wbcore/contrib/guardian/viewsets/configs/__init__.py +1 -1
  126. wbcore/contrib/guardian/viewsets/configs/buttons.py +9 -0
  127. wbcore/contrib/guardian/viewsets/configs/endpoints.py +7 -0
  128. wbcore/contrib/guardian/viewsets/viewsets.py +2 -0
  129. wbcore/contrib/i18n/__init__.py +2 -0
  130. wbcore/contrib/i18n/buttons.py +33 -0
  131. wbcore/contrib/i18n/serializers/__init__.py +0 -0
  132. wbcore/contrib/i18n/serializers/fields.py +20 -0
  133. wbcore/contrib/i18n/serializers/mixins.py +13 -0
  134. wbcore/contrib/i18n/tests/conftest.py +11 -0
  135. wbcore/contrib/i18n/tests/test_viewsets.py +67 -0
  136. wbcore/contrib/i18n/translation.py +140 -0
  137. wbcore/contrib/i18n/viewsets.py +36 -0
  138. wbcore/contrib/icons/backends/default.py +1 -0
  139. wbcore/contrib/icons/backends/material.py +1 -0
  140. wbcore/contrib/icons/icons.py +5 -8
  141. wbcore/contrib/io/admin.py +1 -0
  142. wbcore/contrib/io/backends/mail.py +3 -2
  143. wbcore/contrib/io/backends/utils.py +14 -17
  144. wbcore/contrib/io/exceptions.py +8 -0
  145. wbcore/contrib/io/factories.py +1 -1
  146. wbcore/contrib/io/import_export/backends/mail.py +1 -0
  147. wbcore/contrib/io/import_export/backends/sftp.py +29 -20
  148. wbcore/contrib/io/import_export/backends/stream.py +2 -2
  149. wbcore/contrib/io/import_export/parsers/__init__.py +0 -0
  150. wbcore/contrib/io/import_export/parsers/base_csv.py +36 -0
  151. wbcore/contrib/io/import_export/parsers/resources.py +50 -0
  152. wbcore/contrib/io/imports.py +33 -25
  153. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +114 -22
  154. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po.translated +103 -0
  155. wbcore/contrib/io/locale/en/LC_MESSAGES/django.po +138 -0
  156. wbcore/contrib/io/locale/fr/LC_MESSAGES/django.po +138 -0
  157. wbcore/contrib/io/migrations/0008_importsource_resource_kwargs.py +18 -0
  158. wbcore/contrib/io/models.py +65 -45
  159. wbcore/contrib/io/resources.py +0 -6
  160. wbcore/contrib/io/serializers.py +2 -2
  161. wbcore/contrib/io/signals.py +4 -0
  162. wbcore/contrib/io/tests/test_backends.py +19 -13
  163. wbcore/contrib/io/tests/test_exports.py +1 -1
  164. wbcore/contrib/io/tests/test_imports.py +1 -1
  165. wbcore/contrib/io/tests/test_models.py +47 -14
  166. wbcore/contrib/io/tests/test_viewsets.py +271 -0
  167. wbcore/contrib/io/viewset_mixins.py +41 -54
  168. wbcore/contrib/notifications/admin.py +1 -0
  169. wbcore/contrib/notifications/apps.py +2 -1
  170. wbcore/contrib/notifications/backends/abstract_backend.py +2 -4
  171. wbcore/contrib/notifications/backends/firebase/backends.py +5 -2
  172. wbcore/contrib/notifications/dispatch.py +18 -7
  173. wbcore/contrib/notifications/factories/notification_types.py +1 -0
  174. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +25 -19
  175. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po.translated +63 -0
  176. wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +61 -0
  177. wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +62 -0
  178. wbcore/contrib/notifications/migrations/0008_notificationtype_is_lock.py +18 -0
  179. wbcore/contrib/notifications/migrations/0009_alter_notificationtypesetting_options_and_more.py +32 -0
  180. wbcore/contrib/notifications/models/notification_types.py +67 -24
  181. wbcore/contrib/notifications/serializers/notification_types.py +16 -1
  182. wbcore/contrib/notifications/tests/test_models/test_tokens.py +8 -0
  183. wbcore/contrib/notifications/tests/test_serializers/test_notification_types.py +5 -0
  184. wbcore/contrib/notifications/tests/test_viewsets/test_notification_types.py +3 -5
  185. wbcore/contrib/notifications/utils.py +3 -2
  186. wbcore/contrib/notifications/viewsets/configs/notification_types.py +28 -6
  187. wbcore/contrib/notifications/viewsets/menus.py +1 -1
  188. wbcore/contrib/notifications/viewsets/notification_types.py +12 -2
  189. wbcore/contrib/pandas/fields.py +38 -10
  190. wbcore/contrib/pandas/filters.py +4 -1
  191. wbcore/contrib/pandas/filterset.py +8 -7
  192. wbcore/contrib/pandas/tests/test_fields/test_number_fields.py +2 -7
  193. wbcore/contrib/pandas/utils.py +1 -1
  194. wbcore/contrib/pandas/views.py +14 -13
  195. wbcore/contrib/tags/models/tags.py +4 -1
  196. wbcore/contrib/workflow/factories/display.py +2 -2
  197. wbcore/contrib/workflow/factories/transition.py +16 -15
  198. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +457 -566
  199. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po.translated +1326 -0
  200. wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +1102 -0
  201. wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +1114 -0
  202. wbcore/contrib/workflow/models/data.py +7 -4
  203. wbcore/contrib/workflow/models/process.py +2 -2
  204. wbcore/contrib/workflow/models/step.py +57 -15
  205. wbcore/contrib/workflow/serializers/data.py +8 -8
  206. wbcore/contrib/workflow/serializers/process.py +3 -2
  207. wbcore/contrib/workflow/tests/conftest.py +224 -0
  208. wbcore/contrib/workflow/tests/test_dispatch.py +82 -77
  209. wbcore/contrib/workflow/tests/test_displays.py +10 -88
  210. wbcore/contrib/workflow/tests/test_filters.py +57 -40
  211. wbcore/contrib/workflow/tests/test_models/step/test_decision_step.py +71 -68
  212. wbcore/contrib/workflow/tests/test_models/step/test_email_step.py +78 -38
  213. wbcore/contrib/workflow/tests/test_models/step/test_finish_step.py +152 -90
  214. wbcore/contrib/workflow/tests/test_models/step/test_join_step.py +100 -110
  215. wbcore/contrib/workflow/tests/test_models/step/test_step.py +168 -33
  216. wbcore/contrib/workflow/tests/test_models/test_condition.py +1 -1
  217. wbcore/contrib/workflow/tests/test_models/test_workflow.py +3 -3
  218. wbcore/contrib/workflow/tests/test_serializers.py +172 -150
  219. wbcore/contrib/workflow/tests/test_viewsets.py +264 -323
  220. wbcore/contrib/workflow/tests/test_workflow_assignees.py +215 -205
  221. wbcore/contrib/workflow/viewsets/process.py +4 -1
  222. wbcore/contrib/workflow/workflows/assignees.py +12 -7
  223. wbcore/dynamic_preferences_registry.py +102 -0
  224. wbcore/enums.py +2 -51
  225. wbcore/filters/fields/choices.py +4 -6
  226. wbcore/filters/fields/content_type.py +15 -4
  227. wbcore/filters/fields/datetime.py +50 -25
  228. wbcore/filters/fields/models.py +18 -9
  229. wbcore/filters/fields/numbers.py +9 -8
  230. wbcore/filters/filterset.py +27 -6
  231. wbcore/filters/mixins.py +41 -42
  232. wbcore/forms.py +6 -6
  233. wbcore/fsm/markdown_extensions.py +1 -1
  234. wbcore/fsm/mixins.py +20 -6
  235. wbcore/locale/de/LC_MESSAGES/django.po +982 -397
  236. wbcore/locale/de/LC_MESSAGES/django.po.translated +1580 -0
  237. wbcore/locale/en/LC_MESSAGES/django.po +1234 -0
  238. wbcore/locale/fr/LC_MESSAGES/django.po +1235 -0
  239. wbcore/markdown/models.py +8 -5
  240. wbcore/markdown/views.py +1 -1
  241. wbcore/menus/menus.py +2 -2
  242. wbcore/metadata/configs/buttons/bases.py +10 -7
  243. wbcore/metadata/configs/buttons/buttons.py +2 -1
  244. wbcore/metadata/configs/buttons/enums.py +50 -0
  245. wbcore/metadata/configs/buttons/view_config.py +13 -46
  246. wbcore/metadata/configs/display/display.py +2 -2
  247. wbcore/metadata/configs/display/formatting.py +6 -9
  248. wbcore/metadata/configs/display/instance_display/display.py +5 -2
  249. wbcore/metadata/configs/display/instance_display/pages.py +1 -1
  250. wbcore/metadata/configs/display/instance_display/shortcuts.py +1 -1
  251. wbcore/metadata/configs/display/list_display.py +54 -40
  252. wbcore/metadata/configs/display/models.py +6 -0
  253. wbcore/metadata/configs/display/view_config.py +11 -9
  254. wbcore/metadata/configs/endpoints.py +11 -4
  255. wbcore/metadata/configs/fields.py +6 -1
  256. wbcore/metadata/configs/filter_fields.py +12 -13
  257. wbcore/metadata/configs/identifiers.py +3 -1
  258. wbcore/metadata/tests/test_buttons.py +13 -16
  259. wbcore/models/fields.py +2 -2
  260. wbcore/pagination.py +1 -2
  261. wbcore/permissions/permissions.py +2 -2
  262. wbcore/permissions/utils.py +2 -2
  263. wbcore/release_notes/display.py +2 -8
  264. wbcore/release_notes/serializers.py +2 -9
  265. wbcore/release_notes/viewsets.py +8 -2
  266. wbcore/reversion/viewsets/titles.py +4 -3
  267. wbcore/serializers/__init__.py +2 -0
  268. wbcore/serializers/fields/__init__.py +2 -1
  269. wbcore/serializers/fields/boolean.py +1 -1
  270. wbcore/serializers/fields/choice.py +28 -4
  271. wbcore/serializers/fields/datetime.py +45 -36
  272. wbcore/serializers/fields/fields.py +1 -1
  273. wbcore/serializers/fields/fsm.py +1 -1
  274. wbcore/serializers/fields/list.py +2 -5
  275. wbcore/serializers/fields/mixins.py +24 -11
  276. wbcore/serializers/fields/number.py +6 -23
  277. wbcore/serializers/fields/other.py +2 -10
  278. wbcore/serializers/fields/related.py +4 -6
  279. wbcore/serializers/fields/text.py +1 -1
  280. wbcore/serializers/fields/types.py +2 -0
  281. wbcore/serializers/serializers.py +12 -3
  282. wbcore/signals/__init__.py +1 -0
  283. wbcore/signals/clone.py +4 -0
  284. wbcore/signals/models.py +2 -6
  285. wbcore/tasks.py +2 -2
  286. wbcore/templates/wbcore/email_base_template.html +3 -3
  287. wbcore/test/e2e_helpers_methods/e2e_checks.py +10 -4
  288. wbcore/test/e2e_helpers_methods/e2e_helper_methods.py +4 -2
  289. wbcore/test/mixins.py +52 -102
  290. wbcore/test/tests.py +6 -9
  291. wbcore/test/utils.py +3 -4
  292. wbcore/tests/e2e/test_e2e.py +2 -2
  293. wbcore/tests/test_cache/test_decorators.py +4 -7
  294. wbcore/tests/test_configs.py +2 -5
  295. wbcore/tests/test_enums.py +2 -1
  296. wbcore/tests/test_fields/test_choice_fields.py +9 -1
  297. wbcore/tests/test_fields/test_number_fields.py +7 -15
  298. wbcore/tests/test_fields/test_other_fields.py +1 -2
  299. wbcore/tests/test_filters/test_mixins.py +35 -35
  300. wbcore/tests/test_list_display.py +0 -2
  301. wbcore/tests/test_models/test_mixins.py +1 -1
  302. wbcore/tests/test_utils/test_date.py +1 -1
  303. wbcore/tests/test_utils/test_date_builder.py +25 -1
  304. wbcore/tests/test_utils/test_primary.py +1 -1
  305. wbcore/urls.py +4 -0
  306. wbcore/utils/date.py +18 -2
  307. wbcore/utils/figures.py +2 -2
  308. wbcore/utils/models.py +21 -4
  309. wbcore/utils/reportlab.py +7 -0
  310. wbcore/utils/rrules.py +3 -1
  311. wbcore/utils/string_loader.py +1 -1
  312. wbcore/utils/strings.py +3 -3
  313. wbcore/utils/views.py +8 -3
  314. wbcore/viewsets/mixins.py +9 -4
  315. {wbcore-1.46.0.dist-info → wbcore-1.58.2.dist-info}/METADATA +9 -5
  316. {wbcore-1.46.0.dist-info → wbcore-1.58.2.dist-info}/RECORD +317 -271
  317. wbcore/contrib/geography/tests/test_serializers.py +0 -7
  318. wbcore/contrib/geography/tests/tests.py +0 -13
  319. wbcore/contrib/io/tests/tests.py +0 -19
  320. wbcore/contrib/workflow/tests/tests.py +0 -25
  321. {wbcore-1.46.0.dist-info → wbcore-1.58.2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,590 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: PACKAGE VERSION\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2025-05-30 11:37+0200\n"
11
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: \n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: contrib/authentication/admin.py:75
20
+ msgid "Main information"
21
+ msgstr ""
22
+
23
+ #: contrib/authentication/admin.py:76
24
+ msgid "Synchronization"
25
+ msgstr ""
26
+
27
+ #: contrib/authentication/admin.py:78
28
+ #: contrib/authentication/viewsets/display/users.py:68
29
+ msgid "Permissions"
30
+ msgstr ""
31
+
32
+ #: contrib/authentication/admin.py:151
33
+ msgid ""
34
+ "Your user does not have the \"Change user\" permission. In order to add "
35
+ "users, Django requires that your user account have both the \"Add user\" and "
36
+ "\"Change user\" permissions set."
37
+ msgstr ""
38
+
39
+ #: contrib/authentication/admin.py:175
40
+ #, python-format
41
+ msgid "%(name)s object with primary key %(key)r does not exist."
42
+ msgstr ""
43
+
44
+ #: contrib/authentication/admin.py:187
45
+ msgid "Password changed successfully."
46
+ msgstr ""
47
+
48
+ #: contrib/authentication/admin.py:208
49
+ #, python-format
50
+ msgid "Change password: %s"
51
+ msgstr ""
52
+
53
+ #: contrib/authentication/dynamic_preferences_registry.py:15
54
+ msgid "Immunity Period"
55
+ msgstr ""
56
+
57
+ #: contrib/authentication/dynamic_preferences_registry.py:16
58
+ msgid "Set the maximum number of hours a user can remain without registration"
59
+ msgstr ""
60
+
61
+ #: contrib/authentication/dynamic_preferences_registry.py:25
62
+ msgid "Default Token Validity (in Hours)"
63
+ msgstr ""
64
+
65
+ #: contrib/authentication/dynamic_preferences_registry.py:26
66
+ msgid ""
67
+ "If not specified, a newly created token will be valid for that amount of "
68
+ "hours"
69
+ msgstr ""
70
+
71
+ #: contrib/authentication/models/tokens.py:21
72
+ msgid "Valid Until"
73
+ msgstr ""
74
+
75
+ #: contrib/authentication/models/tokens.py:29
76
+ msgid "Number of allowed usage"
77
+ msgstr ""
78
+
79
+ #: contrib/authentication/models/tokens.py:30
80
+ msgid "Is Valid"
81
+ msgstr ""
82
+
83
+ #: contrib/authentication/models/tokens.py:32
84
+ #: contrib/authentication/viewsets/display/user_activities.py:18
85
+ #: contrib/authentication/viewsets/display/user_activities.py:64
86
+ #: contrib/authentication/viewsets/display/user_activities.py:80
87
+ msgid "User"
88
+ msgstr ""
89
+
90
+ #: contrib/authentication/models/tokens.py:138
91
+ msgid "Token"
92
+ msgstr ""
93
+
94
+ #: contrib/authentication/models/tokens.py:139
95
+ msgid "Tokens"
96
+ msgstr ""
97
+
98
+ #: contrib/authentication/models/users.py:25
99
+ msgid "No E-Mail provided"
100
+ msgstr ""
101
+
102
+ #: contrib/authentication/models/users.py:28
103
+ msgid "No Username provided"
104
+ msgstr ""
105
+
106
+ #: contrib/authentication/models/users.py:57
107
+ #: contrib/authentication/serializers/users.py:144
108
+ msgid "E-Mail"
109
+ msgstr ""
110
+
111
+ #: contrib/authentication/models/users.py:58
112
+ msgid "username"
113
+ msgstr ""
114
+
115
+ #: contrib/authentication/models/users.py:61
116
+ msgid "staff status"
117
+ msgstr ""
118
+
119
+ #: contrib/authentication/models/users.py:63
120
+ msgid "Specifies whether the user can log into this admin site."
121
+ msgstr ""
122
+
123
+ #: contrib/authentication/models/users.py:66
124
+ msgid "active"
125
+ msgstr ""
126
+
127
+ #: contrib/authentication/models/users.py:69
128
+ msgid ""
129
+ "Specifies whether this user should be treated as active. Unselect this "
130
+ "instead of deleting accounts."
131
+ msgstr ""
132
+
133
+ #: contrib/authentication/models/users.py:73
134
+ msgid "register"
135
+ msgstr ""
136
+
137
+ #: contrib/authentication/models/users.py:73
138
+ msgid "Specifies whether this user has registered its email. "
139
+ msgstr ""
140
+
141
+ #: contrib/authentication/models/users.py:75
142
+ msgid "date joined"
143
+ msgstr ""
144
+
145
+ #: contrib/authentication/models/users.py:84
146
+ msgid "user"
147
+ msgstr ""
148
+
149
+ #: contrib/authentication/models/users.py:85
150
+ msgid "users"
151
+ msgstr ""
152
+
153
+ #: contrib/authentication/models/users.py:140
154
+ msgid "You need to specify a username or a pair of first and last name"
155
+ msgstr ""
156
+
157
+ #: contrib/authentication/models/users_activities.py:18
158
+ #: contrib/authentication/models/users_activities.py:21
159
+ msgid "Success"
160
+ msgstr ""
161
+
162
+ #: contrib/authentication/models/users_activities.py:19
163
+ #: contrib/authentication/models/users_activities.py:21
164
+ msgid "Failed"
165
+ msgstr ""
166
+
167
+ #: contrib/authentication/models/users_activities.py:24
168
+ #: contrib/authentication/templates/password_reset_done.html:11
169
+ #: contrib/authentication/viewsets/users.py:172
170
+ msgid "Login"
171
+ msgstr ""
172
+
173
+ #: contrib/authentication/models/users_activities.py:38
174
+ #, python-brace-format
175
+ msgid "Activity of {user} at {date}"
176
+ msgstr ""
177
+
178
+ #: contrib/authentication/models/users_activities.py:41
179
+ msgid "User Login Activity"
180
+ msgstr ""
181
+
182
+ #: contrib/authentication/models/users_activities.py:42
183
+ msgid "User Login Activities"
184
+ msgstr ""
185
+
186
+ #: contrib/authentication/serializers/users.py:30
187
+ msgid "Old password"
188
+ msgstr ""
189
+
190
+ #: contrib/authentication/serializers/users.py:31
191
+ msgid "New Password"
192
+ msgstr ""
193
+
194
+ #: contrib/authentication/serializers/users.py:32
195
+ msgid "Confirm new Password"
196
+ msgstr ""
197
+
198
+ #: contrib/authentication/serializers/users.py:36
199
+ msgid "No request found"
200
+ msgstr ""
201
+
202
+ #: contrib/authentication/serializers/users.py:41
203
+ msgid "Wrong password"
204
+ msgstr ""
205
+
206
+ #: contrib/authentication/serializers/users.py:47
207
+ msgid "Password don't match"
208
+ msgstr ""
209
+
210
+ #: contrib/authentication/serializers/users.py:53
211
+ #: contrib/authentication/serializers/users.py:54
212
+ msgid "New and old password cannot be the same"
213
+ msgstr ""
214
+
215
+ #: contrib/authentication/serializers/users.py:141
216
+ #: contrib/authentication/viewsets/display/users.py:50
217
+ msgid "Is Active"
218
+ msgstr ""
219
+
220
+ #: contrib/authentication/serializers/users.py:143
221
+ msgid "Last Connection"
222
+ msgstr ""
223
+
224
+ #: contrib/authentication/serializers/users.py:145
225
+ msgid "Username"
226
+ msgstr ""
227
+
228
+ #: contrib/authentication/serializers/users.py:146
229
+ #: contrib/authentication/viewsets/buttons/users.py:55
230
+ msgid "Profile"
231
+ msgstr ""
232
+
233
+ #: contrib/authentication/serializers/users.py:208
234
+ msgid "You need to assign a profile or add a valid email address"
235
+ msgstr ""
236
+
237
+ #: contrib/authentication/serializers/users.py:210
238
+ msgid "You need to assign a profile or add a valid last name"
239
+ msgstr ""
240
+
241
+ #: contrib/authentication/templates/activate_confirm.html:5
242
+ msgid "Register Account"
243
+ msgstr ""
244
+
245
+ #: contrib/authentication/templates/base.html:12
246
+ #: contrib/authentication/templates/password_reset_done.html:6
247
+ #: contrib/authentication/templates/password_reset_form.html:6
248
+ #: contrib/authentication/templates/password_reset_form.html:18
249
+ #: contrib/authentication/templates/password_reset_sent.html:5
250
+ #: contrib/authentication/templates/reset_password.html:5
251
+ msgid "Password Reset"
252
+ msgstr ""
253
+
254
+ #: contrib/authentication/templates/base.html:128
255
+ msgid "if you see this, something is wrong!"
256
+ msgstr ""
257
+
258
+ #: contrib/authentication/templates/email_base_template.html:325
259
+ #: contrib/authentication/templates/password_reset_email.html:10
260
+ msgid ""
261
+ "This E-Mail is autogenerated by Stainly. If you need more information, "
262
+ "please visit the Stainly-Bench."
263
+ msgstr ""
264
+
265
+ #: contrib/authentication/templates/password_reset_done.html:8
266
+ msgid "Password reset complete"
267
+ msgstr ""
268
+
269
+ #: contrib/authentication/templates/password_reset_done.html:9
270
+ msgid "Your Password has been set. You may go ahead and login."
271
+ msgstr ""
272
+
273
+ #: contrib/authentication/templates/password_reset_email.html:3
274
+ #, python-format
275
+ msgid ""
276
+ "Reset Password You're receiving this email because you requested a password "
277
+ "reset for your user account at %(site_name)s. Please click and choose a new "
278
+ "password"
279
+ msgstr ""
280
+
281
+ #: contrib/authentication/templates/password_reset_email.html:8
282
+ #: contrib/authentication/templates/password_reset_email_html.html:8
283
+ #: contrib/authentication/templates/password_reset_email_html.html:29
284
+ #: contrib/authentication/viewsets/buttons/users.py:51
285
+ #: contrib/authentication/viewsets/buttons/users.py:52
286
+ msgid "Reset Password"
287
+ msgstr ""
288
+
289
+ #: contrib/authentication/templates/password_reset_email_html.html:16
290
+ #, python-format
291
+ msgid ""
292
+ "You're receiving this email because you requested a password reset for your "
293
+ "user account at %(site_name)s."
294
+ msgstr ""
295
+
296
+ #: contrib/authentication/templates/password_reset_email_html.html:17
297
+ msgid "Please click and choose a new password"
298
+ msgstr ""
299
+
300
+ #: contrib/authentication/templates/password_reset_form.html:8
301
+ msgid "Password Reset Form"
302
+ msgstr ""
303
+
304
+ #: contrib/authentication/templates/password_reset_form.html:9
305
+ msgid "Please enter your new password."
306
+ msgstr ""
307
+
308
+ #: contrib/authentication/templates/password_reset_form.html:20
309
+ msgid "Password reset failed"
310
+ msgstr ""
311
+
312
+ #: contrib/authentication/templates/password_reset_form.html:21
313
+ msgid ""
314
+ "The password reset link was invalid, possibly because it has already been "
315
+ "used. Please request a new password reset."
316
+ msgstr ""
317
+
318
+ #: contrib/authentication/templates/password_reset_sent.html:7
319
+ msgid "Password reset sent"
320
+ msgstr ""
321
+
322
+ #: contrib/authentication/templates/password_reset_sent.html:8
323
+ msgid ""
324
+ "We’ve emailed you instructions for setting your password, if an account "
325
+ "exists with the email you entered. You should receive them shortly."
326
+ msgstr ""
327
+
328
+ #: contrib/authentication/templates/password_reset_sent.html:9
329
+ msgid ""
330
+ "If you don’t receive an email, please make sure you’ve entered the address "
331
+ "you registered with, and check your spam folder."
332
+ msgstr ""
333
+
334
+ #: contrib/authentication/templates/user_registration_email.html:8
335
+ msgid "Confirm Your Email"
336
+ msgstr ""
337
+
338
+ #: contrib/authentication/templates/user_registration_email.html:16
339
+ msgid "Please click on the link to confirm your registration."
340
+ msgstr ""
341
+
342
+ #: contrib/authentication/templates/user_registration_email.html:28
343
+ msgid "Confirm Email"
344
+ msgstr ""
345
+
346
+ #: contrib/authentication/viewsets/buttons/users.py:15
347
+ msgid "See Profile"
348
+ msgstr ""
349
+
350
+ #: contrib/authentication/viewsets/buttons/users.py:19
351
+ msgid "Resetting Settings"
352
+ msgstr ""
353
+
354
+ #: contrib/authentication/viewsets/buttons/users.py:21
355
+ msgid "<p>This will reset all widgets on all pages.</p>"
356
+ msgstr ""
357
+
358
+ #: contrib/authentication/viewsets/buttons/users.py:23
359
+ #: contrib/authentication/viewsets/buttons/users.py:24
360
+ msgid "Reset Settings"
361
+ msgstr ""
362
+
363
+ #: contrib/authentication/viewsets/buttons/users.py:29
364
+ msgid "Changing Password"
365
+ msgstr ""
366
+
367
+ #: contrib/authentication/viewsets/buttons/users.py:31
368
+ msgid "<p>Change Password</p>"
369
+ msgstr ""
370
+
371
+ #: contrib/authentication/viewsets/buttons/users.py:34
372
+ #: contrib/authentication/viewsets/buttons/users.py:35
373
+ msgid "Change Password"
374
+ msgstr ""
375
+
376
+ #: contrib/authentication/viewsets/buttons/users.py:46
377
+ msgid "Resetting Password"
378
+ msgstr ""
379
+
380
+ #: contrib/authentication/viewsets/buttons/users.py:48
381
+ msgid "<p>Reset Password</p>"
382
+ msgstr ""
383
+
384
+ #: contrib/authentication/viewsets/buttons/users.py:54
385
+ #: contrib/authentication/viewsets/display/users.py:70
386
+ #: contrib/authentication/viewsets/menu/user_activities.py:6
387
+ #: contrib/authentication/viewsets/titles/user_activities.py:10
388
+ msgid "User Activity"
389
+ msgstr ""
390
+
391
+ #: contrib/authentication/viewsets/display/user_activities.py:17
392
+ #: contrib/authentication/viewsets/display/user_activities.py:63
393
+ msgid "IP"
394
+ msgstr ""
395
+
396
+ #: contrib/authentication/viewsets/display/user_activities.py:19
397
+ #: contrib/authentication/viewsets/display/user_activities.py:65
398
+ msgid "First Login"
399
+ msgstr ""
400
+
401
+ #: contrib/authentication/viewsets/display/user_activities.py:20
402
+ #: contrib/authentication/viewsets/display/user_activities.py:66
403
+ msgid "Latest Refresh"
404
+ msgstr ""
405
+
406
+ #: contrib/authentication/viewsets/display/user_activities.py:21
407
+ #: contrib/authentication/viewsets/display/user_activities.py:67
408
+ msgid "Time Online (Minutes)"
409
+ msgstr ""
410
+
411
+ #: contrib/authentication/viewsets/display/user_activities.py:22
412
+ #: contrib/authentication/viewsets/display/user_activities.py:68
413
+ msgid "Agent Info"
414
+ msgstr ""
415
+
416
+ #: contrib/authentication/viewsets/display/users.py:19
417
+ msgid "Name"
418
+ msgstr ""
419
+
420
+ #: contrib/authentication/viewsets/display/users.py:20
421
+ msgid "Code Name"
422
+ msgstr ""
423
+
424
+ #: contrib/authentication/viewsets/display/users.py:21
425
+ msgid "Content Type"
426
+ msgstr ""
427
+
428
+ #: contrib/authentication/viewsets/display/users.py:38
429
+ msgid "Token (Sensitive information: handle with care)"
430
+ msgstr ""
431
+
432
+ #: contrib/authentication/viewsets/display/users.py:49
433
+ msgid "Email"
434
+ msgstr ""
435
+
436
+ #: contrib/authentication/viewsets/display/users.py:51
437
+ msgid "Joined"
438
+ msgstr ""
439
+
440
+ #: contrib/authentication/viewsets/display/users.py:52
441
+ msgid "Latest Connection"
442
+ msgstr ""
443
+
444
+ #: contrib/authentication/viewsets/display/users.py:67
445
+ msgid "Groups"
446
+ msgstr ""
447
+
448
+ #: contrib/authentication/viewsets/menu/user_activities.py:18
449
+ #: contrib/authentication/viewsets/titles/user_activities.py:21
450
+ msgid "User Activity Table"
451
+ msgstr ""
452
+
453
+ #: contrib/authentication/viewsets/menu/user_activities.py:30
454
+ #: contrib/authentication/viewsets/titles/user_activities.py:26
455
+ msgid "User Activity Chart"
456
+ msgstr ""
457
+
458
+ #: contrib/authentication/viewsets/menu/users.py:7
459
+ #: contrib/authentication/viewsets/titles/users.py:24
460
+ msgid "Users"
461
+ msgstr ""
462
+
463
+ #: contrib/authentication/viewsets/menu/users.py:13
464
+ msgid "Create New User"
465
+ msgstr ""
466
+
467
+ #: contrib/authentication/viewsets/titles/user_activities.py:16
468
+ #: contrib/authentication/viewsets/titles/user_activities.py:32
469
+ #, python-brace-format
470
+ msgid "User Activity of {user}"
471
+ msgstr ""
472
+
473
+ #: contrib/authentication/viewsets/titles/users.py:11
474
+ #, python-brace-format
475
+ msgid "Permissions for {email}"
476
+ msgstr ""
477
+
478
+ #: contrib/authentication/viewsets/titles/users.py:16
479
+ msgid "Your Profile"
480
+ msgstr ""
481
+
482
+ #: contrib/authentication/viewsets/titles/users.py:21
483
+ msgid "User: {{email}}"
484
+ msgstr ""
485
+
486
+ #: contrib/authentication/viewsets/titles/users.py:27
487
+ msgid "New User"
488
+ msgstr ""
489
+
490
+ #: contrib/authentication/viewsets/user_activities.py:178
491
+ msgid "<b>User Activity</b>"
492
+ msgstr ""
493
+
494
+ #: contrib/authentication/viewsets/user_activities.py:179
495
+ msgid "Time"
496
+ msgstr ""
497
+
498
+ #: contrib/authentication/viewsets/user_activities.py:180
499
+ msgid "Cummulative time"
500
+ msgstr ""
501
+
502
+ #: contrib/authentication/viewsets/user_activities.py:191
503
+ msgid "Hour"
504
+ msgstr ""
505
+
506
+ #: contrib/authentication/viewsets/user_activities.py:196
507
+ msgid "Day"
508
+ msgstr ""
509
+
510
+ #: contrib/authentication/viewsets/user_activities.py:201
511
+ msgid "Week"
512
+ msgstr ""
513
+
514
+ #: contrib/authentication/viewsets/user_activities.py:206
515
+ msgid "Month"
516
+ msgstr ""
517
+
518
+ #: contrib/authentication/viewsets/users.py:77
519
+ msgid ""
520
+ "If the email matches a user, it will receive an email inviting him to reset "
521
+ "his password."
522
+ msgstr ""
523
+
524
+ #: contrib/authentication/viewsets/users.py:94
525
+ msgid "first and last name are too long. please provider a shorter name."
526
+ msgstr ""
527
+
528
+ #: contrib/authentication/viewsets/users.py:101
529
+ msgid ""
530
+ "password is too long. please provider a password shorter than 128 characters."
531
+ msgstr ""
532
+
533
+ #: contrib/authentication/viewsets/users.py:109
534
+ msgid ""
535
+ "email is too long. please provider an email shorter than 255 characters."
536
+ msgstr ""
537
+
538
+ #: contrib/authentication/viewsets/users.py:128
539
+ msgid "Activate your account."
540
+ msgstr ""
541
+
542
+ #: contrib/authentication/viewsets/users.py:136
543
+ msgid "Please confirm your email address to complete the registration"
544
+ msgstr ""
545
+
546
+ #: contrib/authentication/viewsets/users.py:141
547
+ msgid "Your account already exists"
548
+ msgstr ""
549
+
550
+ #: contrib/authentication/viewsets/users.py:145
551
+ msgid "Something went wrong with the submitted data, please try again later"
552
+ msgstr ""
553
+
554
+ #: contrib/authentication/viewsets/users.py:149
555
+ msgid "email, first_name, last_name and password must be provided"
556
+ msgstr ""
557
+
558
+ #: contrib/authentication/viewsets/users.py:170
559
+ msgid "Activation Successful"
560
+ msgstr ""
561
+
562
+ #: contrib/authentication/viewsets/users.py:171
563
+ msgid "You are successfully registered. Please login"
564
+ msgstr ""
565
+
566
+ #: contrib/authentication/viewsets/users.py:184
567
+ msgid "Activation Failed"
568
+ msgstr ""
569
+
570
+ #: contrib/authentication/viewsets/users.py:186
571
+ msgid ""
572
+ "The registration link you clicked was probably expired or your account is "
573
+ "already activated. Please try to register again."
574
+ msgstr ""
575
+
576
+ #: contrib/authentication/viewsets/users.py:188
577
+ msgid "Register"
578
+ msgstr ""
579
+
580
+ #: contrib/authentication/viewsets/users.py:276
581
+ msgid "Password changed."
582
+ msgstr ""
583
+
584
+ #: contrib/authentication/viewsets/users.py:319
585
+ msgid "Reset Password E-Mail sent: Check your mailbox"
586
+ msgstr ""
587
+
588
+ #: contrib/authentication/viewsets/users.py:321
589
+ msgid "Reset Password Failed. Please contact an administrator"
590
+ msgstr ""