Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No assignar pòlisses cancelades/baixa al servei de generacio al importar participants #767

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 25 additions & 47 deletions som_auvidi/giscedata_polissa.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ def aplicar_modificacio(self, cursor, uid, mod_id, polissa_id=None):
cursor, uid, mod_id, polissa_id=polissa_id
)
polissa_obj = self.pool.get('giscedata.polissa')
servei_gen_obj = self.pool.get('giscedata.servei.generacio')
sg_polissa_obj = self.pool.get('giscedata.servei.generacio.polissa')

if not polissa_id:
Expand All @@ -59,53 +58,32 @@ def aplicar_modificacio(self, cursor, uid, mod_id, polissa_id=None):
cancels_auvidi = (modcon.modcontractual_ant
and modcon.modcontractual_ant.te_auvidi
and not modcon.te_auvidi)
context = {}
info = ''
sg_pol_id = sg_polissa_obj.search(cursor, uid, [('polissa_id', '=', polissa_id)])
if len(sg_pol_id):
if current_te_auvidi:
polissa_obj.handle_polissa_sg_category(
cursor, uid, polissa_id, action='assign', context=context)
# # Actualitzem data inici si fa falta
info = sg_polissa_obj.check_actualitzar_data_inici(
cursor, uid, sg_pol_id, modcon.data_inici
)
elif cancels_auvidi:
polissa_obj.handle_polissa_sg_category(
cursor, uid, polissa_id, action='unassign', context=context)
# Actualitzem data sortida si fa falta
data_inici_modcon = datetime.strptime(modcon.data_inici, '%Y-%m-%d')
data_sortida_sg = data_inici_modcon - timedelta(days=1)
data_sortida_sg_str = data_sortida_sg.strftime('%Y-%m-%d')
info = sg_polissa_obj.check_actualitzar_data_sortida(
cursor, uid, sg_pol_id, data_sortida_sg_str
)

if info:
observacions = (modcon.observacions or '') + info
modcon.write({'observacions': observacions})

if current_te_auvidi or cancels_auvidi:
sg_pol_id = sg_polissa_obj.search(cursor, uid, [('polissa_id', '=', polissa_id)])
if len(sg_pol_id):
sg_pol_data = sg_polissa_obj.read(
cursor, uid, sg_pol_id[0], ['servei_generacio_id'])
if sg_pol_data.get('servei_generacio_id'):
servei_gen_id = sg_pol_data.get('servei_generacio_id', [False])[0]
if servei_gen_id:
categoria_polissa = servei_gen_obj.read(
cursor, uid, servei_gen_id, ['categoria_polissa']
).get('categoria_polissa')
polissa_current_categories = polissa_obj.read(
cursor, uid, polissa_id, ['category_id']
).get('category_id', [])
polissa_current_categories = list(set(polissa_current_categories))
new_categories = []
# If AUVIDI is cancelled we must remove category
if (cancels_auvidi
and categoria_polissa
and categoria_polissa[0] in polissa_current_categories):
polissa_current_categories.remove(categoria_polissa[0])
new_categories = polissa_current_categories
# If AUVIDI and there's no category we must add it
elif (current_te_auvidi
and categoria_polissa
and categoria_polissa[0] not in polissa_current_categories):
new_categories = polissa_current_categories + [categoria_polissa[0]]

if new_categories:
polissa_obj.write(cursor, uid, polissa_id, {
'category_id': [(6, 0, new_categories)]})
info = ''
if current_te_auvidi:
info = sg_polissa_obj.check_actualitzar_data_inici(
cursor, uid, sg_pol_id, modcon.data_inici
)
elif cancels_auvidi:
data_inici_modcon = datetime.strptime(modcon.data_inici, '%Y-%m-%d')
data_sortida_sg = data_inici_modcon - timedelta(days=1)
data_sortida_sg_str = data_sortida_sg.strftime('%Y-%m-%d')
info = sg_polissa_obj.check_actualitzar_data_sortida(
cursor, uid, sg_pol_id, data_sortida_sg_str
)
if info:
observacions = modcon.observacions + info
modcon.write({'observacions': observacions})
return res

_columns = {
Expand Down
14 changes: 0 additions & 14 deletions som_auvidi/wizard/wizard_load_servei_gen_records_from_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,6 @@ class WizardLoadServeiGenRecordsFromFile(osv.osv_memory):
_name = 'wizard.load.servei.gen.records.from.file'
_inherit = 'wizard.load.servei.gen.records.from.file'

def get_polissa_from_record_data(self, cursor, uid, cups_name, data, context=None):
if context is None:
context = {}

pol_obj = self.pool.get('giscedata.polissa')

ctx = context.copy()
ctx.update({'active_test': False})
polissa_id = pol_obj.search(cursor, uid, [
('cups.name', '=', cups_name),
], order='id desc', context=ctx)

return polissa_id

def get_aux_dict_from_row(self, cursor, uid, row, tipus='contracte', context=None):
if context is None:
context = {}
Expand Down
Loading