Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
third-party
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cooperatic-foodcoops
third-party
Commits
7b266f4d
Commit
7b266f4d
authored
3 years ago
by
François
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modifications pour test borne accueil (présences validées date autre que 'maintenant')
parent
a8b0fcb4
dev_cooperatic
…
#5673_bug_calendrier_echange_service
3832-makeups-and-member-status-update
4081
4444_improve_presence_recording
4709
4778-reception-dont-get-finished-orders
4809-remove-shelf-value-col-to-reduce-server-load
4880-rapports-reception-faux
4950-douchage-appli-reception
5474-et-5462-Voir-les-rattrapages-choisis-dans-admin-bdm-et-corrige-lenteur-affichage-admin-rattrapages
5641-reception-trier-a-la-maj-prix-dans-ordre-de-pointage-quantites
6286_bug_encaissement_souscription_cheque_espece
6813-marking-parent-gone-when-unpairing-binom-does-not-unsuscribe-parent-from-shift-template
6832--certaines-absences-engendrent-une-erreur
7723-7559-change-purchase-order-workflow-django-side
7731-third-party-side-brinks-pos-export-not-working
7747-inventaire-par-article
7800-make-test-solution-work
7819-prevent-adding-product-already-in-order
7848-cannot-validate-qty-with-decimal-on-kg-product
7918_bug_quantites_stade_demande_prix
adaptation_supercafoutch
adaptation_supercoop
adaptation_supercoop_supercafoutch
adpatation_chouette
assistance_import_article
coop_dev_necessitant_modules_bdm_odoo_modifies
correctif_nb_rattrapages_creation_binome_avec_ajout_automatique_au_point_negatif
dev_principale
docker
export_capital_detenu
fix_bug_process_picking
fusion_custom_graoucoop
graoucoop_backup
graoucoop_prod
graoucoop_tmp
hot_fix_shelf_labels_auto_print
impression_etiquettes_rayons
integration_lien_precommandes_dans_espace_membre
lacagette_prod
local_branch
master
meal-voucher-and-label-printer-software-bug
migration-v12
pour_graoucoop_prod
pour_version_prod_cagette
refonte_espace_membre_sc
retouches_tickets_supercoop
sc-setup-stock-app
supercafoutch-preprod
supercafoutch-prod-20221003
supercafoutch_prod
ticket_4146
supercafoutch_20250120_151258
supercafoutch_20250120_150340
supercafoutch_20240909_080630
supercafoutch_20240609_115709
supercafoutch_20240212_082431
supercafoutch_20240107_181851
supercafoutch_prod_until_240107
supercafoutch-prod-20221003
supercafoutch-230911
supercafoutch-230824
supercafoutch-230823
supercafoutch-230823-the-true-one
migration-v12-tag
lacagette_20240310_074751
lacagette_20240107_122554
lacagette_20240107_120916
graoucoop_20240609_122614
cagette_testtag
cagette-230814
cagette-230630
5 merge requests
!103
WIP: Dev cooperatic
,
!87
Integration Evolution bdm
,
!104
merge dev_cooperatic into dev_principale
,
!106
Dev principale
,
!84
Ticket 1738
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
9 deletions
+20
-9
models.py
members/models.py
+11
-8
views.py
members/views.py
+9
-1
No files found.
members/models.py
View file @
7b266f4d
...
@@ -9,7 +9,7 @@ from products.models import OFF
...
@@ -9,7 +9,7 @@ from products.models import OFF
from
envelops.models
import
CagetteEnvelops
from
envelops.models
import
CagetteEnvelops
import
sys
import
sys
from
pytz
import
timezone
import
pytz
import
locale
import
locale
import
re
import
re
import
dateutil.parser
import
dateutil.parser
...
@@ -653,7 +653,7 @@ class CagetteMember(models.Model):
...
@@ -653,7 +653,7 @@ class CagetteMember(models.Model):
locale
.
setlocale
(
locale
.
LC_ALL
,
'fr_FR.utf8'
)
locale
.
setlocale
(
locale
.
LC_ALL
,
'fr_FR.utf8'
)
if
len
(
res
)
>
0
:
if
len
(
res
)
>
0
:
local_tz
=
timezone
(
'Europe/Paris'
)
local_tz
=
pytz
.
timezone
(
'Europe/Paris'
)
for
s
in
res
:
for
s
in
res
:
date
,
t
=
s
[
'date_begin'
]
.
split
(
' '
)
date
,
t
=
s
[
'date_begin'
]
.
split
(
' '
)
year
,
month
,
day
=
date
.
split
(
'-'
)
year
,
month
,
day
=
date
.
split
(
'-'
)
...
@@ -1078,7 +1078,7 @@ class CagetteServices(models.Model):
...
@@ -1078,7 +1078,7 @@ class CagetteServices(models.Model):
res
=
api
.
search_read
(
'shift.shift'
,
c
,
f
,
1
,
0
,
'date_begin ASC'
)
res
=
api
.
search_read
(
'shift.shift'
,
c
,
f
,
1
,
0
,
'date_begin ASC'
)
if
(
res
and
res
[
0
]):
if
(
res
and
res
[
0
]):
locale
.
setlocale
(
locale
.
LC_ALL
,
'fr_FR.utf8'
)
locale
.
setlocale
(
locale
.
LC_ALL
,
'fr_FR.utf8'
)
local_tz
=
timezone
(
'Europe/Paris'
)
local_tz
=
pytz
.
timezone
(
'Europe/Paris'
)
date
,
t
=
res
[
0
][
'date_begin'
]
.
split
(
' '
)
date
,
t
=
res
[
0
][
'date_begin'
]
.
split
(
' '
)
year
,
month
,
day
=
date
.
split
(
'-'
)
year
,
month
,
day
=
date
.
split
(
'-'
)
start
=
datetime
.
datetime
(
int
(
year
),
int
(
month
),
int
(
day
),
start
=
datetime
.
datetime
(
int
(
year
),
int
(
month
),
int
(
day
),
...
@@ -1141,17 +1141,20 @@ class CagetteServices(models.Model):
...
@@ -1141,17 +1141,20 @@ class CagetteServices(models.Model):
return
services
return
services
@staticmethod
@staticmethod
def
registration_done
(
registration_id
):
def
registration_done
(
registration_id
,
overrided_date
=
""
):
"""Equivalent to click present in presence form."""
"""Equivalent to click present in presence form."""
api
=
OdooAPI
()
api
=
OdooAPI
()
f
=
{
'state'
:
'done'
}
f
=
{
'state'
:
'done'
}
late_mode
=
getattr
(
settings
,
'ENTRANCE_WITH_LATE_MODE'
,
False
)
late_mode
=
getattr
(
settings
,
'ENTRANCE_WITH_LATE_MODE'
,
False
)
if
late_mode
is
True
:
if
late_mode
is
True
:
# services = CagetteServices.get_services_at_time('14:28',0, with_members=False)
# services = CagetteServices.get_services_at_time('14:28',0, with_members=False)
local_tz
=
timezone
(
'Europe/Paris'
)
if
len
(
overrided_date
)
>
0
and
getattr
(
settings
,
'APP_ENV'
,
"prod"
)
!=
"prod"
:
now
=
datetime
.
datetime
.
now
()
.
astimezone
(
local_tz
)
.
strftime
(
"
%
H:
%
MZ"
)
now
=
overrided_date
# coop_logger.info("Maintenant = %s", now)
else
:
services
=
CagetteServices
.
get_services_at_time
(
now
,
0
,
with_members
=
False
)
local_tz
=
pytz
.
timezone
(
'Europe/Paris'
)
now
=
datetime
.
datetime
.
utcnow
()
.
replace
(
tzinfo
=
pytz
.
utc
)
.
astimezone
(
local_tz
)
.
strftime
(
"
%
H:
%
MZ"
)
# coop_logger.info("Maintenant = %s (overrided %s) %s", now, overrided_date)
services
=
CagetteServices
.
get_services_at_time
(
now
,
0
,
with_members
=
False
)
if
len
(
services
)
>
0
:
if
len
(
services
)
>
0
:
# Notice : Despite is_late is defined as boolean in Odoo, 0 or 1 is needed for api call
# Notice : Despite is_late is defined as boolean in Odoo, 0 or 1 is needed for api call
is_late
=
0
is_late
=
0
...
...
This diff is collapsed.
Click to expand it.
members/views.py
View file @
7b266f4d
...
@@ -274,7 +274,14 @@ def record_service_presence(request):
...
@@ -274,7 +274,14 @@ def record_service_presence(request):
mid
=
int
(
request
.
POST
.
get
(
"mid"
,
0
))
# member id
mid
=
int
(
request
.
POST
.
get
(
"mid"
,
0
))
# member id
sid
=
int
(
request
.
POST
.
get
(
"sid"
,
0
))
# shift id
sid
=
int
(
request
.
POST
.
get
(
"sid"
,
0
))
# shift id
stid
=
int
(
request
.
POST
.
get
(
"stid"
,
0
))
# shift_ticket_id
stid
=
int
(
request
.
POST
.
get
(
"stid"
,
0
))
# shift_ticket_id
app_env
=
getattr
(
settings
,
'APP_ENV'
,
"prod"
)
if
(
rid
>
-
1
and
mid
>
0
):
if
(
rid
>
-
1
and
mid
>
0
):
overrided_date
=
""
if
app_env
!=
"prod"
:
import
re
o_date
=
re
.
search
(
r'/([^\/]+?)$'
,
request
.
META
.
get
(
'HTTP_REFERER'
))
if
o_date
:
overrided_date
=
o_date
.
group
(
1
)
# rid = 0 => C'est un rattrapage, sur le service
# rid = 0 => C'est un rattrapage, sur le service
if
sid
>
0
and
stid
>
0
:
if
sid
>
0
and
stid
>
0
:
# Add member to service and take presence into account
# Add member to service and take presence into account
...
@@ -282,7 +289,8 @@ def record_service_presence(request):
...
@@ -282,7 +289,8 @@ def record_service_presence(request):
if
res
[
'rattrapage'
]
is
True
:
if
res
[
'rattrapage'
]
is
True
:
res
[
'update'
]
=
'ok'
res
[
'update'
]
=
'ok'
else
:
else
:
if
(
CagetteServices
.
registration_done
(
rid
)
is
True
):
if
(
CagetteServices
.
registration_done
(
rid
,
overrided_date
)
is
True
):
res
[
'update'
]
=
'ok'
res
[
'update'
]
=
'ok'
else
:
else
:
res
[
'update'
]
=
'ko'
res
[
'update'
]
=
'ko'
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment