Skip to content

Commit 4262960

Browse files
authored
Merge pull request #756 from rufener/bugfix
Bugfix
2 parents 4a8f015 + 8885999 commit 4262960

File tree

13 files changed

+1009
-1076
lines changed

13 files changed

+1009
-1076
lines changed

back/infolica/routes.py

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def includeme(config):
9898
config.add_route('numeros_relations','/infolica/api/numeros_relations')
9999
config.add_route('numeros_relations_s','/infolica/api/numeros_relations/')
100100
config.add_route('numeros_relation_by_affaire_id','/infolica/api/affaire_numeros_relations/{id}')
101+
config.add_route('new_ddp','/infolica/api/new_ddp')
101102
# config.add_route('numeros_relations_by_numeroBase','/infolica/api/numeros_relations_by_numeroBase_id')
102103
# config.add_route('numeros_relations_by_numeroBase_s','/infolica/api/numeros_relations_by_numeroBase_id/')
103104
config.add_route('numeros_differes','/infolica/api/numeros_differes')

back/infolica/scripts/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ def check_unread_preavis_remarks(cls, request, affaire_id, service_id=None):
317317
PreavisRemarque.lu_operateur_id == None,
318318
)
319319

320-
if not service_id is None:
320+
if service_id is not None:
321321
preavis_remarques = preavis_remarques.filter(Preavis.service_id == service_id)
322322

323323
preavis_remarques = preavis_remarques.all()

back/infolica/views/facture_emolument.py

+225-239
Large diffs are not rendered by default.

back/infolica/views/numero.py

+58-48
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,35 @@
11
# -*- coding: utf-8 -*--
2-
from pyramid.view import view_config
3-
import pyramid.httpexceptions as exc
4-
5-
from sqlalchemy import and_, func, Integer, BigInteger
6-
from sqlalchemy.dialects.postgresql import ARRAY, aggregate_order_by
2+
import json
3+
import os
4+
import re
5+
import shutil
6+
from datetime import datetime
77

8+
import openpyxl
9+
import pyramid.httpexceptions as exc
810
from infolica.exceptions.custom_error import CustomError
911
from infolica.models.constant import Constant
10-
from infolica.models.models import AffaireNumero, Numero, NumeroDiffere, NumeroEtat
11-
from infolica.models.models import NumeroEtatHisto, NumeroType, VNumeros
12-
from infolica.models.models import VNumerosAffaires, Affaire, Facture
13-
from infolica.models.models import Cadastre
14-
from infolica.scripts.utils import Utils
12+
from infolica.models.models import (Affaire, AffaireNumero, Cadastre, Facture,
13+
Numero, NumeroDiffere, NumeroEtat,
14+
NumeroEtatHisto, NumeroType, VNumeros,
15+
VNumerosAffaires)
1516
from infolica.scripts.authentication import check_connected
16-
from datetime import datetime
17+
from infolica.scripts.utils import Utils
18+
from pyramid.view import view_config
19+
from sqlalchemy import BigInteger, Integer, and_, func
20+
from sqlalchemy.dialects.postgresql import ARRAY, aggregate_order_by
21+
22+
23+
def _update_numero_etat(request, numero_id, etat_id):
24+
num = request.dbsession.query(Numero).get(numero_id)
25+
num.etat_id = etat_id
26+
27+
num_histo = NumeroEtatHisto()
28+
num_histo.numero_id = numero_id
29+
num_histo.numero_etat_id = etat_id
30+
num_histo.date = datetime.today()
31+
return num
1732

18-
import os
19-
import shutil
20-
import openpyxl
21-
import re
22-
import json
2333

2434

2535
@view_config(route_name='numeros', request_method='GET', renderer='json')
@@ -38,7 +48,7 @@ def numeros_view(request):
3848
etat_id = [int(a) for a in request.params['etat_id'].split(",")] if 'etat_id' in request.params else None
3949

4050
query = request.dbsession.query(VNumeros)
41-
51+
4252
if numero:
4353
query = query.filter(VNumeros.numero == numero)
4454
if cadastre_id:
@@ -263,7 +273,7 @@ def numeros_etat_histo_new_view(request, params=None):
263273
NumeroEtatHisto.numero_etat_id == params['numero_etat_id']
264274
).first()
265275

266-
if not numEtatHisto is None:
276+
if numEtatHisto is not None:
267277
return
268278

269279
# nouveau numero
@@ -414,7 +424,7 @@ def affaire_numero_new_view(request, params=None):
414424
AffaireNumero.type_id == params['type_id']
415425
).first()
416426

417-
if not affaireNumero is None:
427+
if affaireNumero is not None:
418428
return
419429

420430
# nouveau affaire_numero
@@ -485,7 +495,7 @@ def numero_differe_view(request):
485495
VNumeros.diff_req_ref,
486496
numeros_vigueur_check
487497
)
488-
498+
489499
if role == "mo":
490500
user_id = request.params['user_id'] if 'user_id' in request.params else None
491501

@@ -496,23 +506,23 @@ def numero_differe_view(request):
496506
VNumeros.diff_entree.isnot(None),
497507
VNumeros.diff_sortie == None
498508
))
499-
509+
500510
elif role == "secr":
501511
query = query.filter(and_(
502512
VNumeros.diff_req_radiation.isnot(True),
503513
VNumeros.diff_sortie.isnot(None),
504-
VNumeros.etat_id.in_((numero_projet_id, numero_vigueur_id))
514+
VNumeros.etat_id.in_((numero_projet_id, numero_vigueur_id))
505515
))
506-
516+
507517
elif role == "coord":
508518
user_id = request.params['user_id'] if 'user_id' in request.params else None
509-
519+
510520
if user_id is not None:
511521
query = query.filter(VNumeros.diff_operateur_id == user_id)
512-
522+
513523
query = query.filter(and_(
514524
VNumeros.diff_sortie.isnot(None),
515-
VNumeros.diff_controle == None
525+
VNumeros.diff_controle == None
516526
))
517527

518528
result = query.group_by(
@@ -597,7 +607,7 @@ def numero_differe_update_view(request):
597607
if "numero_diff_id" in request.params:
598608
numdiff_id = request.params["numero_diff_id"]
599609
record = request.dbsession.query(NumeroDiffere).filter(NumeroDiffere.id == numdiff_id).first()
600-
610+
601611
if "numero_id" in request.params:
602612
num_id = request.params["numero_id"]
603613
record = request.dbsession.query(NumeroDiffere).filter(NumeroDiffere.numero_id == num_id).first()
@@ -655,7 +665,7 @@ def _getCadastre(request, cadastre_id):
655665

656666
def _getAffairesIdFromNumeroId(request, numero_id, numero_type_id):
657667
affaires_id_agg = func.array_agg(AffaireNumero.affaire_id, type_=ARRAY(BigInteger))
658-
668+
659669
affaires_id = request.dbsession.query(
660670
affaires_id_agg
661671
).filter(
@@ -677,7 +687,7 @@ def loadfile_bf_rp(request):
677687

678688
affaire_id = request.params["affaire_id"] if "affaire_id" in request.params else None
679689
file = request.params["file"] if "file" in request.params else None
680-
690+
681691
if file is None:
682692
return exc.HTTPError('Le fichier est vide')
683693

@@ -688,7 +698,7 @@ def loadfile_bf_rp(request):
688698

689699
if os.path.exists(file_path):
690700
os.remove(file_path)
691-
701+
692702
with open(file_path, 'wb') as output_file:
693703
shutil.copyfileobj(file.file, output_file)
694704

@@ -702,10 +712,10 @@ def loadfile_bf_rp(request):
702712
# =============================
703713
sheet = 'Infolica'
704714
ws = wb[sheet]
705-
715+
706716
numero_id_agg = func.array_agg(Numero.id, type_=ARRAY(BigInteger))
707717
numero_numero_agg = func.array_agg(aggregate_order_by(Numero.numero, Numero.numero.asc()), type_=ARRAY(BigInteger))
708-
718+
709719
# prepare query to search Number
710720
data_query = request.dbsession.query(
711721
numero_id_agg,
@@ -725,7 +735,7 @@ def loadfile_bf_rp(request):
725735
if numero_id is not None:
726736
data_id.append(numero_id)
727737
row_i += 1
728-
738+
729739
else:
730740
results = data_query.filter(
731741
Numero.id.in_(data_id)
@@ -759,14 +769,14 @@ def loadfile_bf_rp(request):
759769
'cadastre_id': result[1],
760770
'liste_numeros': liste_numeros
761771
})
762-
772+
763773
data.append({
764774
'source': sheet,
765775
'data': tmp
766776
})
767-
777+
768778
break
769-
779+
770780
# ===========================
771781
# Let's focus on Terris sheet
772782
# ===========================
@@ -777,7 +787,7 @@ def loadfile_bf_rp(request):
777787
row_i = 2
778788
while row_i < 1000:
779789
cadastre_id = ws.cell(row=row_i, column=2).value
780-
790+
781791

782792
if cadastre_id is not None:
783793
numero = re.split('\D', str(ws.cell(row=row_i, column=3).value))[0]
@@ -812,7 +822,7 @@ def loadfile_bf_rp(request):
812822
'cadastre': cadastre,
813823
'sheet': sheet,
814824
'font_color': font_color,
815-
'error': error
825+
'error': error
816826
}
817827

818828
cadastre_id_already_exists = False
@@ -828,9 +838,9 @@ def loadfile_bf_rp(request):
828838
'cadastre_id': cadastre_id,
829839
'liste_numeros': [numero_]
830840
})
831-
841+
832842
row_i += 1
833-
843+
834844
else:
835845

836846
for tmp_ln in tmp: # parcourir les cadastres
@@ -840,12 +850,12 @@ def loadfile_bf_rp(request):
840850
'source': sheet,
841851
'data': tmp
842852
})
843-
853+
844854
break
845-
855+
846856
if os.path.exists(file_path):
847857
os.remove(file_path)
848-
858+
849859
return data
850860

851861

@@ -858,7 +868,7 @@ def __save_bf_rp(request, affaire_id, data, numero_type_id, numero_etat_id, nume
858868
for num_cad in data:
859869
# on parcourt les cadastres
860870
for numero_obj in num_cad['liste_numeros']:
861-
871+
862872
numero = str(numero_obj['numero']).split(' ')[0]
863873

864874
num = num_req.filter(
@@ -898,7 +908,7 @@ def __save_bf_rp(request, affaire_id, data, numero_type_id, numero_etat_id, nume
898908
)
899909

900910
request.dbsession.add(neh)
901-
911+
902912
# log dans table affaire_numero if not already exists
903913
an = an_req.filter(
904914
AffaireNumero.affaire_id == affaire_id,
@@ -930,14 +940,14 @@ def save_bf_rp(request):
930940
affaire_id = request.params["affaire_id"] if "affaire_id" in request.params else None
931941
num_projet = json.loads(request.params["num_projet"]) if "num_projet" in request.params else None
932942
num_vigueur = json.loads(request.params["num_vigueur"]) if "num_vigueur" in request.params else None
933-
943+
934944
affaire_numero_type_ancien_id = request.registry.settings['affaire_numero_type_ancien_id']
935945
affaire_numero_type_nouveau_id = request.registry.settings['affaire_numero_type_nouveau_id']
936946
numero_projet_id = request.registry.settings['numero_projet_id']
937947
numero_vigueur_id = request.registry.settings['numero_vigueur_id']
938948
numero_bf_id = request.registry.settings['numero_bf_id']
939-
949+
940950
__save_bf_rp(request, affaire_id, num_projet, numero_bf_id, numero_projet_id, affaire_numero_type_nouveau_id)
941951
__save_bf_rp(request, affaire_id, num_vigueur, numero_bf_id, numero_vigueur_id, affaire_numero_type_ancien_id)
942-
952+
943953
return exc.HTTPOk()

0 commit comments

Comments
 (0)