@ -1,56 +0,0 @@ | |||||
# -*- coding: utf-8 -*- | |||||
from odoo import models, fields, api | |||||
from odoo.exceptions import UserError, ValidationError | |||||
from psycopg2 import sql, DatabaseError | |||||
from odoo.tools.safe_eval import safe_eval, datetime | |||||
from werkzeug import utils | |||||
class opendons_partneremail(models.Model): | |||||
_name = 'opendons.partneremail' | |||||
_description = 'emails du contact' | |||||
_inherit = ['mail.thread'] | |||||
email = fields.Char() | |||||
active=fields.Boolean(string='active',default=True,track_visibility='always') | |||||
date_active=fields.Date(readonly=True,string='Date active',track_visibility='always') | |||||
date_inactive=fields.Date(readonly=True,string='Date inactive',track_visibility='always') | |||||
partner_id = fields.Many2one( | |||||
'res.partner', | |||||
string='partner', | |||||
required=True, | |||||
index=True, | |||||
readonly=True, | |||||
track_visibility='onchange', | |||||
ondelete='restrict' | |||||
) | |||||
def write(self,vals): | |||||
date_active=False | |||||
date_inactive=False | |||||
for val in vals: | |||||
if val=='active' and not vals['active']: | |||||
date_inactive=fields.Date.context_today(self) | |||||
if val=='active' and vals['active']: | |||||
date_inactive=False | |||||
date_active=fields.Date.context_today(self) | |||||
vals['date_inactive']=date_inactive | |||||
vals['date_active']=date_active | |||||
res = super(opendons_partneremail, self).write(vals) | |||||
#Your code goes here | |||||
return res | |||||
@ -0,0 +1,40 @@ | |||||
from odoo import models, fields, api,_ | |||||
from odoo.exceptions import UserError, ValidationError,Warning | |||||
from psycopg2 import sql, DatabaseError | |||||
from werkzeug import utils | |||||
import json | |||||
import logging | |||||
import xlwt | |||||
from io import BytesIO | |||||
import base64 | |||||
import csv | |||||
import os,secrets | |||||
class opendons_operation_batch_export(models.Model): | |||||
_name = 'opendons.operation.batch_export' | |||||
_description = 'lot export' | |||||
name=fields.Char(string='Name',required=True,track_visibility='always') | |||||
operation_id = fields.Many2one( | |||||
'opendons.operation', | |||||
String='Operation', | |||||
index=True, | |||||
readonly=True, | |||||
track_visibility='onchange', | |||||
ondelete='cascade' | |||||
) | |||||
partner_ids = fields.Many2many('res.partner', 'partner_batch_export_rel', 'partner_id', 'batch_export__id', string='partners') | |||||
csv_export = fields.Binary('csv export', filters='.csv', readonly=True) | |||||
document_fname=fields.Char() | |||||
exported_date=fields.Date(string='Exported Date',track_visibility='always', readonly=True) | |||||
def csv_export_batch(self): | |||||
segments=self.env['opendons.segment'].search([('operation_id','=',int(self.operation_id)),('batch_export_id','=',int(self.id))]) | |||||
#récupération des contacts sélectionnées et lié au segments du batch | |||||
return True |
@ -1,56 +0,0 @@ | |||||
# -*- coding: utf-8 -*- | |||||
from odoo import models, fields, api | |||||
from odoo.exceptions import UserError, ValidationError | |||||
from psycopg2 import sql, DatabaseError | |||||
from odoo.tools.safe_eval import safe_eval, datetime | |||||
from werkzeug import utils | |||||
class opendons_partnerphone(models.Model): | |||||
_name = 'opendons.partnerphone' | |||||
_description = 'telephones du contact' | |||||
_inherit = ['mail.thread'] | |||||
phone = fields.Char() | |||||
active=fields.Boolean(string='active',default=True,track_visibility='always') | |||||
date_active=fields.Date(readonly=True,string='Date active',track_visibility='always') | |||||
date_inactive=fields.Date(readonly=True,string='Date inactive',track_visibility='always') | |||||
partner_id = fields.Many2one( | |||||
'res.partner', | |||||
string='partner', | |||||
required=True, | |||||
index=True, | |||||
readonly=True, | |||||
track_visibility='onchange', | |||||
ondelete='restrict' | |||||
) | |||||
def write(self,vals): | |||||
date_active=False | |||||
date_inactive=False | |||||
for val in vals: | |||||
if val=='active' and not vals['active']: | |||||
date_inactive=fields.Date.context_today(self) | |||||
if val=='active' and vals['active']: | |||||
date_inactive=False | |||||
date_active=fields.Date.context_today(self) | |||||
vals['date_inactive']=date_inactive | |||||
vals['date_active']=date_active | |||||
res = super(opendons_partnerphone, self).write(vals) | |||||
#Your code goes here | |||||
return res | |||||
@ -1,88 +0,0 @@ | |||||
<odoo> | |||||
<data> | |||||
<!-- explicit list view definition --> | |||||
<record model="ir.ui.view" id="opendons.partneraddress_list"> | |||||
<field name="name">opendons_partneraddress list</field> | |||||
<field name="model">opendons.partneraddress</field> | |||||
<field name="arch" type="xml"> | |||||
<tree> | |||||
<field name="active"/> | |||||
<field name="partner_id"/> | |||||
<field name="complement_ident"/> | |||||
<field name="complement_geo"/> | |||||
<field name="street1"/> | |||||
<field name="street2"/> | |||||
<field name="postalcode"/> | |||||
<field name="city"/> | |||||
<field name="country"/> | |||||
</tree> | |||||
</field> | |||||
</record> | |||||
<record id="opendons.partneraddress_search" model="ir.ui.view"> | |||||
<field name="name">opendons_partneraddress.search</field> | |||||
<field name="model">opendons.partneraddress</field> | |||||
<field name="arch" type="xml"> | |||||
<search string="Search Adresses"> | |||||
<field name="partner_id"/> | |||||
</search> | |||||
</field> | |||||
</record> | |||||
<record model="ir.ui.view" id="opendons.partneraddress_form" > | |||||
<field name="name">opendons_partneraddress Form</field> | |||||
<field name="model">opendons.partneraddress</field> | |||||
<field name="arch" type="xml"> | |||||
<form string="partneraddress_form"> | |||||
<sheet> | |||||
<group name="main"> | |||||
<field name="partner_id"/> | |||||
<field name="complement_ident"/> | |||||
<field name="complement_geo"/> | |||||
<field name="street1"/> | |||||
<field name="street2"/> | |||||
<field name="postalcode"/> | |||||
<field name="city"/> | |||||
<field name="country"/> | |||||
</group> | |||||
<group name="dataquality"> | |||||
<field name="active"/> | |||||
<field name="date_inactive"/> | |||||
<field name="npai"/> | |||||
</group> | |||||
</sheet> | |||||
<div class="oe_chatter"> | |||||
<field name="message_follower_ids" widget="mail_followers"/> | |||||
<field name="message_ids" widget="mail_thread"/> | |||||
</div> | |||||
</form> | |||||
</field> | |||||
</record> | |||||
<!-- actions opening views on models --> | |||||
<record model="ir.actions.act_window" id="partneraddress_action"> | |||||
<field name="name">partneraddresses</field> | |||||
<field name="res_model">opendons.partneraddress</field> | |||||
<field name="view_mode">tree,form</field> | |||||
</record> | |||||
</data> | |||||
</odoo> |
@ -0,0 +1,25 @@ | |||||
<odoo> | |||||
<record model="ir.ui.view" id="opendons.operation_batch_export_form"> | |||||
<field name="name">opendons_batch_export Form</field> | |||||
<field name="model">opendons.operation.batch_export</field> | |||||
<field name="arch" type="xml"> | |||||
<form string="operation_batch_export_form"> | |||||
<header> | |||||
<button type="object" name="csv_export_batch" string="csv export" class="oe_highlight"/> | |||||
</header> | |||||
<group> | |||||
<field name="create_date"/> | |||||
<field name="name"/> | |||||
<field name="csv_export" filename="document_fname" widget="binary"/> | |||||
<field name="document_fname" invisible="1"/> | |||||
<field name="exported_date">%b-%d-%Y</field> | |||||
</group> | |||||
</form> | |||||
</field> | |||||
</record> | |||||
</odoo> |
@ -1,64 +0,0 @@ | |||||
<odoo> | |||||
<data> | |||||
<!-- explicit list view definition --> | |||||
<record model="ir.ui.view" id="opendons.partnerphone_list"> | |||||
<field name="name">opendons_partnerphone list</field> | |||||
<field name="model">opendons.partnerphone</field> | |||||
<field name="arch" type="xml"> | |||||
<tree> | |||||
<field name="active"/> | |||||
<field name="partner_id"/> | |||||
<field name="phone"/> | |||||
</tree> | |||||
</field> | |||||
</record> | |||||
<record id="opendons.partnerphone_search" model="ir.ui.view"> | |||||
<field name="name">opendons_partnerphone.search</field> | |||||
<field name="model">opendons.partnerphone</field> | |||||
<field name="arch" type="xml"> | |||||
<search string="Search phone"> | |||||
<field name="partner_id"/> | |||||
</search> | |||||
</field> | |||||
</record> | |||||
<record model="ir.ui.view" id="opendons.partnerphone_form" > | |||||
<field name="name">opendons_partnerphone Form</field> | |||||
<field name="model">opendons.partnerphone</field> | |||||
<field name="arch" type="xml"> | |||||
<form string="partnerphone_form"> | |||||
<sheet> | |||||
<group name="main"> | |||||
<field name="partner_id"/> | |||||
<field name="phone"/> | |||||
</group> | |||||
<group name="dataquality"> | |||||
<field name="active"/> | |||||
<field name="date_active"/> | |||||
<field name="date_inactive"/> | |||||
</group> | |||||
</sheet> | |||||
<div class="oe_chatter"> | |||||
<field name="message_follower_ids" widget="mail_followers"/> | |||||
<field name="message_ids" widget="mail_thread"/> | |||||
</div> | |||||
</form> | |||||
</field> | |||||
</record> | |||||
<!-- actions opening views on models --> | |||||
<record model="ir.actions.act_window" id="partnerphone_action"> | |||||
<field name="name">partnerphones</field> | |||||
<field name="res_model">opendons.partnerphone</field> | |||||
<field name="view_mode">tree,form</field> | |||||
</record> | |||||
</data> | |||||
</odoo> |