ositah 24.7.dev3__tar.gz → 24.8__tar.gz
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.
Potentially problematic release.
This version of ositah might be problematic. Click here for more details.
- {ositah-24.7.dev3/ositah.egg-info → ositah-24.8}/PKG-INFO +1 -1
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/tables.py +3 -14
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/agents.py +6 -1
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/hito_db_model.py +4 -4
- {ositah-24.7.dev3 → ositah-24.8/ositah.egg-info}/PKG-INFO +1 -1
- {ositah-24.7.dev3 → ositah-24.8}/pyproject.toml +5 -8
- {ositah-24.7.dev3 → ositah-24.8}/.gitignore +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/.gitlab-ci.yml +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/LICENSE +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/README.md +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/docker/Dockerfile +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/docker/docker-compose.yml +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/docker/pyproject-poetry.toml +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/gunicorn.config/README.md +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/gunicorn.config/gunicorn.ositah +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/gunicorn.config/gunicorn@.service +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/gunicorn.config/ositah.conf.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/noxfile.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/__init__.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/app.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/__init__.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/analysis.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/configuration/__init__.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/configuration/callbacks.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/configuration/main.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/configuration/parameters.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/configuration/tools.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/export.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/__init__.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/callbacks.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/main.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/parameters.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/apps/validation/tools.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/assets/arrow_down_up.svg +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/assets/ositah.css +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/assets/sort_ascending.svg +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/assets/sort_descending.svg +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/assets/sorttable.js +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/main.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/ositah.example.cfg +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/static/style.css +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/templates/base.html +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/templates/bootstrap_login.html +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/templates/login_form.html +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/__init__.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/authentication.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/cache.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/core.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/exceptions.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/hito_db.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/menus.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/period.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/projects.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/teams.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah/utils/utils.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah.egg-info/SOURCES.txt +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah.egg-info/dependency_links.txt +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah.egg-info/entry_points.txt +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah.egg-info/requires.txt +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/ositah.egg-info/top_level.txt +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/setup.cfg +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/setup.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/README.md +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/accordion.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/authentication.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/checkbox.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/checklist.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/file-selector.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/file-upload.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/long_running_callback.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/pandas_split.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/pandas_split_bug_report.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/pattern-matching-callback.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/progess_bar.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/reset_table_checkboxes.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/sortable_table.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/sqlalchemy_test.py +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/templates/base.html +0 -0
- {ositah-24.7.dev3 → ositah-24.8}/test-dash/templates/login_form.html +0 -0
|
@@ -298,7 +298,7 @@ def build_validation_table(team, team_selection_date, declaration_set: int, peri
|
|
|
298
298
|
html.Em(
|
|
299
299
|
(
|
|
300
300
|
f"Temps déclarés de l'équipe / total ="
|
|
301
|
-
f" {round(selected_declarations['percent_global'].mean(),1)}%"
|
|
301
|
+
f" {round(selected_declarations['percent_global'].mean(), 1)}%"
|
|
302
302
|
f" (100%={SEMESTER_WEEKS} semaines)"
|
|
303
303
|
)
|
|
304
304
|
)
|
|
@@ -341,12 +341,7 @@ def build_missing_agents_table(team, team_selection_date, period_date: str):
|
|
|
341
341
|
title_class="text-danger",
|
|
342
342
|
)
|
|
343
343
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
if team == TEAM_LIST_ALL_AGENTS:
|
|
347
|
-
agent_list = agents
|
|
348
|
-
else:
|
|
349
|
-
agent_list = agents[agents.team.notna() & agents[column_names["team"]].str.match(team)]
|
|
344
|
+
agent_list = get_agents(period_date, team)
|
|
350
345
|
|
|
351
346
|
if declarations is None:
|
|
352
347
|
missing_agents = agent_list
|
|
@@ -459,13 +454,7 @@ def build_statistics_table(team, team_selection_date, period_date: str):
|
|
|
459
454
|
title_class="text-danger",
|
|
460
455
|
)
|
|
461
456
|
|
|
462
|
-
|
|
463
|
-
if team == TEAM_LIST_ALL_AGENTS:
|
|
464
|
-
agent_list = agents
|
|
465
|
-
# If the agent doesn't belong to a team, set team to an empty string rather than None
|
|
466
|
-
agent_list.loc[agent_list.team.isna(), "team"] = ""
|
|
467
|
-
else:
|
|
468
|
-
agent_list = agents[agents.team.notna() & agents[column_names["team"]].str.match(team)]
|
|
457
|
+
agent_list = get_agents(period_date, team)
|
|
469
458
|
|
|
470
459
|
add_no_team_row = False
|
|
471
460
|
if declarations is None:
|
|
@@ -64,7 +64,12 @@ def get_agents(period_date: str, team: str = None) -> pd.DataFrame:
|
|
|
64
64
|
# agent_list = agent_list.loc[(agent_list.archive == 0) |
|
|
65
65
|
# (agent_list.date_fin >= start_date.date().isoformat())]
|
|
66
66
|
if team and team != TEAM_LIST_ALL_AGENTS:
|
|
67
|
-
agent_list = agent_list[
|
|
67
|
+
agent_list = agent_list[
|
|
68
|
+
agent_list.team.notna() & agent_list[columns["team"]].str.match(team)
|
|
69
|
+
]
|
|
70
|
+
else:
|
|
71
|
+
# If the agent doesn't belong to a team, set team to an empty string rather than None
|
|
72
|
+
agent_list.loc[agent_list.team.isna(), "team"] = ""
|
|
68
73
|
agent_list[columns["fullname"]] = agent_list[
|
|
69
74
|
[columns["lastname"], columns["firstname"]]
|
|
70
75
|
].agg(" ".join, axis=1)
|
|
@@ -199,7 +199,7 @@ class ActiviteDetail(db.Model):
|
|
|
199
199
|
|
|
200
200
|
|
|
201
201
|
class OSITAHSession(db.Model):
|
|
202
|
-
__table_args__ = {
|
|
202
|
+
__table_args__ = {"mysql_charset": "utf8mb4", "mysql_collate": "utf8mb4_unicode_ci"}
|
|
203
203
|
|
|
204
204
|
id = db.Column(db.String(36), primary_key=True)
|
|
205
205
|
email = db.Column(db.String(255), nullable=False)
|
|
@@ -207,7 +207,7 @@ class OSITAHSession(db.Model):
|
|
|
207
207
|
|
|
208
208
|
|
|
209
209
|
class OSITAHValidation(db.Model):
|
|
210
|
-
__table_args__ = {
|
|
210
|
+
__table_args__ = {"mysql_charset": "utf8mb4", "mysql_collate": "utf8mb4_unicode_ci"}
|
|
211
211
|
|
|
212
212
|
id = db.Column(db.String(36), primary_key=True, default=new_uuid)
|
|
213
213
|
validated = db.Column(db.Boolean, nullable=False)
|
|
@@ -225,7 +225,7 @@ class OSITAHValidation(db.Model):
|
|
|
225
225
|
|
|
226
226
|
|
|
227
227
|
class OSITAHValidationPeriod(db.Model):
|
|
228
|
-
__table_args__ = {
|
|
228
|
+
__table_args__ = {"mysql_charset": "utf8mb4", "mysql_collate": "utf8mb4_unicode_ci"}
|
|
229
229
|
|
|
230
230
|
id = db.Column(db.String(36), primary_key=True, default=new_uuid)
|
|
231
231
|
name = db.Column(db.String(255), unique=True, nullable=False)
|
|
@@ -235,7 +235,7 @@ class OSITAHValidationPeriod(db.Model):
|
|
|
235
235
|
|
|
236
236
|
|
|
237
237
|
class OSITAHProjectDeclaration(db.Model):
|
|
238
|
-
__table_args__ = {
|
|
238
|
+
__table_args__ = {"mysql_charset": "utf8mb4", "mysql_collate": "utf8mb4_unicode_ci"}
|
|
239
239
|
|
|
240
240
|
id = db.Column(db.String(36), primary_key=True, default=new_uuid)
|
|
241
241
|
projet = db.Column(db.String(255), nullable=False)
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ositah"
|
|
7
|
-
version = "24.
|
|
7
|
+
version = "24.8"
|
|
8
8
|
description = "Outils de Suivi d'Activités basé sur Hito"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -31,16 +31,13 @@ dependencies = [
|
|
|
31
31
|
]
|
|
32
32
|
dynamic = []
|
|
33
33
|
|
|
34
|
+
[project.license]
|
|
35
|
+
text = "BSD 3-Clause License"
|
|
36
|
+
|
|
34
37
|
[[project.authors]]
|
|
35
38
|
name = "Michel Jouvin"
|
|
36
39
|
email = "michel.jouvin@ijclab.in2p3.fr"
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
[tool]
|
|
40
|
-
|
|
41
|
-
[project.license]
|
|
42
|
-
text = "BSD 3-Clause License"
|
|
43
|
-
|
|
44
41
|
[project.urls]
|
|
45
42
|
Homepage = "https://gitlab.in2p3.fr/hito/ositah"
|
|
46
43
|
"Bug Tracker" = "https://gitlab.in2p3.fr/hito/ositah/-/issues"
|
|
@@ -49,4 +46,4 @@ Homepage = "https://gitlab.in2p3.fr/hito/ositah"
|
|
|
49
46
|
ositah = "ositah.main:main"
|
|
50
47
|
|
|
51
48
|
[tool.setuptools]
|
|
52
|
-
packages = [ "ositah"
|
|
49
|
+
packages = [ "ositah",]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|