added real sagex hours + changed to DurationField

This commit is contained in:
2025-02-04 00:19:05 +01:00
parent 6777207f4e
commit eb0cab6295
13 changed files with 299 additions and 15 deletions

View File

@ -2,11 +2,21 @@ from datetime import datetime
class DateConverter:
regex = '\d{4}-\d{1,2}-\d{1,2}'
format = '%Y-%m-%d'
regex = r"\d{4}-\d{1,2}-\d{1,2}"
format = r"%Y-%m-%d"
def to_python(self, value):
return datetime.strptime(value, self.format).date()
def to_url(self, value):
return value.strftime(self.format)
return value.strftime(self.format)
class YearMonthConverter:
regex = r"\d{4}-\d{1,2}"
format = r"%Y-%m"
def to_python(self, value):
return datetime.strptime(value, self.format).date()
def to_url(self, value):
return value.strftime(self.format)

View File

@ -17,10 +17,11 @@ Including another URLconf
from django.contrib import admin
from django.urls import path, register_converter
from TimeDispatcher.converters import DateConverter
from TimeDispatcher.converters import DateConverter, YearMonthConverter
from dispatcher import views
register_converter(DateConverter, "date")
register_converter(YearMonthConverter, "year_month")
urlpatterns = [
path("", views.dashboard_view, name="dashboard"),
@ -38,5 +39,6 @@ urlpatterns = [
path("projects/<int:id>/", views.project_view, name="project"),
path("stats/by-month/<int:year>/<int:month>/", views.get_stats_by_month, name="stats_by_month"),
path("stats/between/<date:start_date>/<date:end_date>/", views.get_stats_between, name="stats_between"),
path("clockings/<date:date>/", views.set_clocking, name="set_clocking")
path("clockings/<date:date>/", views.set_clocking, name="set_clocking"),
path("sagex/<int:id>/<year_month:month>/", views.set_real_sagex, name="set_real_sagex"),
]