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
2
Merge Requests
2
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
7848-cannot-validate-qty-with-decimal-on-kg-product
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
from
envelops.models
import
CagetteEnvelops
import
sys
from
pytz
import
timezone
import
pytz
import
locale
import
re
import
dateutil.parser
...
...
@@ -653,7 +653,7 @@ class CagetteMember(models.Model):
locale
.
setlocale
(
locale
.
LC_ALL
,
'fr_FR.utf8'
)
if
len
(
res
)
>
0
:
local_tz
=
timezone
(
'Europe/Paris'
)
local_tz
=
pytz
.
timezone
(
'Europe/Paris'
)
for
s
in
res
:
date
,
t
=
s
[
'date_begin'
]
.
split
(
' '
)
year
,
month
,
day
=
date
.
split
(
'-'
)
...
...
@@ -1078,7 +1078,7 @@ class CagetteServices(models.Model):
res
=
api
.
search_read
(
'shift.shift'
,
c
,
f
,
1
,
0
,
'date_begin ASC'
)
if
(
res
and
res
[
0
]):
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
(
' '
)
year
,
month
,
day
=
date
.
split
(
'-'
)
start
=
datetime
.
datetime
(
int
(
year
),
int
(
month
),
int
(
day
),
...
...
@@ -1141,17 +1141,20 @@ class CagetteServices(models.Model):
return
services
@staticmethod
def
registration_done
(
registration_id
):
def
registration_done
(
registration_id
,
overrided_date
=
""
):
"""Equivalent to click present in presence form."""
api
=
OdooAPI
()
f
=
{
'state'
:
'done'
}
late_mode
=
getattr
(
settings
,
'ENTRANCE_WITH_LATE_MODE'
,
False
)
if
late_mode
is
True
:
# services = CagetteServices.get_services_at_time('14:28',0, with_members=False)
local_tz
=
timezone
(
'Europe/Paris'
)
now
=
datetime
.
datetime
.
now
()
.
astimezone
(
local_tz
)
.
strftime
(
"
%
H:
%
MZ"
)
# coop_logger.info("Maintenant = %s", now)
services
=
CagetteServices
.
get_services_at_time
(
now
,
0
,
with_members
=
False
)
if
len
(
overrided_date
)
>
0
and
getattr
(
settings
,
'APP_ENV'
,
"prod"
)
!=
"prod"
:
now
=
overrided_date
else
:
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
:
# Notice : Despite is_late is defined as boolean in Odoo, 0 or 1 is needed for api call
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):
mid
=
int
(
request
.
POST
.
get
(
"mid"
,
0
))
# member id
sid
=
int
(
request
.
POST
.
get
(
"sid"
,
0
))
# shift id
stid
=
int
(
request
.
POST
.
get
(
"stid"
,
0
))
# shift_ticket_id
app_env
=
getattr
(
settings
,
'APP_ENV'
,
"prod"
)
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
if
sid
>
0
and
stid
>
0
:
# Add member to service and take presence into account
...
...
@@ -282,7 +289,8 @@ def record_service_presence(request):
if
res
[
'rattrapage'
]
is
True
:
res
[
'update'
]
=
'ok'
else
:
if
(
CagetteServices
.
registration_done
(
rid
)
is
True
):
if
(
CagetteServices
.
registration_done
(
rid
,
overrided_date
)
is
True
):
res
[
'update'
]
=
'ok'
else
:
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