Пример #1
0
 def _get_default_base(self, cr, uid, fields, context=None):
     product_price_type_obj = self.pool.get('product.price.type')
     if fields.get('type') == 'purchase':
         product_price_type_ids = product_price_type_obj.search(cr, uid, [('field', '=', 'standard_price')], context=context)
     elif fields.get('type') == 'sale':
         product_price_type_ids = product_price_type_obj.search(cr, uid, [('field','=','list_price')], context=context)
     else:
         return -1
     if not product_price_type_ids:
         return False
     else:
         pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context=context)[0]
         return pricetype.id
Пример #2
0
 def _get_default_base(self, cr, uid, fields, context=None):
     product_price_type_obj = self.pool.get('product.price.type')
     if fields.get('type') == 'purchase':
         product_price_type_ids = product_price_type_obj.search(cr, uid, [('field', '=', 'standard_price')], context=context)
     elif fields.get('type') == 'sale':
         product_price_type_ids = product_price_type_obj.search(cr, uid, [('field','=','list_price')], context=context)
     else:
         return -1
     if not product_price_type_ids:
         return False
     else:
         pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context=context)[0]
         return pricetype.id
Пример #3
0
    def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False,submenu=False):
        if not context:
            context = {}
        res = super(account_tax_line,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar,submenu)

        fields=res.get('fields',{})
        if fields:
            if context.get('tax_group','')=='vat':
                if fields.get('ref'):
                    res['fields']['ref']['string'] = _('Invoice No')
            else:
                if fields.get('ref'):
                    res['fields']['ref']['string'] = _('WHT No')

        return res
Пример #4
0
    def get_cedente_prestatore(self, cr, uid,
                               fields, dte_dtr_id,
                               context=None):

        if dte_dtr_id == 'DTE':
            CedentePrestatore = (CedentePrestatoreDTEType())
            CedentePrestatore.IdentificativiFiscali = (
                IdentificativiFiscaliITType())
            # Company VAT number must be present
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA = (
                IdFiscaleITType())
            partner_type = 'company'
        elif dte_dtr_id == 'DTR':
            CedentePrestatore = (CedentePrestatoreDTRType())
            CedentePrestatore.IdentificativiFiscali = (
                IdentificativiFiscaliType())
            # Company VAT number must be present
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA = (
                IdFiscaleType())
            partner_type = 'supplier'
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Internal error: invalid partner selector'))

        CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA.\
            IdPaese = fields['xml_IdPaese']
        CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA.\
            IdCodice = fields['xml_IdCodice']
        if fields.get('xml_CodiceFiscale'):
            CedentePrestatore.IdentificativiFiscali.CodiceFiscale = \
                CodiceFiscaleType(fields['xml_CodiceFiscale'])
        CedentePrestatore.AltriDatiIdentificativi = \
            self.get_name(cr, uid, fields, dte_dtr_id, partner_type, context)
        return CedentePrestatore
Пример #5
0
    def get_sede(self, cr, uid, fields, dte_dtr_id, selector, context=None):
        if dte_dtr_id == 'DTE':
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                sede = (IndirizzoNoCAPType())
            elif selector == 'supplier':
                sede = (IndirizzoType())
            else:
                raise orm.except_orm(
                    _('Error!'), _('Internal error: invalid partner selector'))
        else:
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                sede = (IndirizzoNoCAPType())
            elif selector == 'supplier':
                sede = (IndirizzoNoCAPType())
            else:
                raise orm.except_orm(
                    _('Error!'), _('Internal error: invalid partner selector'))

        if fields.get('xml_Indirizzo'):
            sede.Indirizzo = self.str60Latin(fields['xml_Indirizzo'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Missed address %s %s %S' %
                  (fields.get('xml_Denominazione'), fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))
        if fields.get('xml_Comune'):
            sede.Comune = self.str60Latin(fields['xml_Comune'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Missed city %s %s %S' %
                  (fields.get('xml_Denominazione'), fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))
        if fields.get('xml_CAP') and fields['xml_Nazione'] == 'IT':
            sede.CAP = fields['xml_CAP']
        elif selector == 'company':
            raise orm.except_orm(_('Error!'), _('Missed company zip code'))
        if fields.get('xml_Provincia') and fields['xml_Nazione'] == 'IT':
            sede.Provincia = fields['xml_Provincia']

        sede.Nazione = fields['xml_Nazione']
        return sede
Пример #6
0
 def _get_default_base(self, cr, uid, fields, context=None):
     product_price_type_obj = self.pool.get("product.price.type")
     if fields.get("type") == "purchase":
         product_price_type_ids = product_price_type_obj.search(
             cr, uid, [("field", "=", "standard_price")], context=context
         )
     elif fields.get("type") == "sale":
         product_price_type_ids = product_price_type_obj.search(
             cr, uid, [("field", "=", "list_price")], context=context
         )
     else:
         return -1
     if not product_price_type_ids:
         return False
     else:
         pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context=context)[0]
         return pricetype.id
Пример #7
0
 def create(self,fields):
     print "FIELDS CREATE=============================="
     var = fields.get('commission_field',0)
     print "FIELDS CREATE=====================",var
     print "FIELDS CREATE=====================",type(var)
     if 1 <= var <= 5:
         pass
     else:
         raise except_orm(_("Values Should be Between 1 to 5 Only!!!"))
     return super(res_users, self).create(fields)
Пример #8
0
    def get_cessionario_committente(self,
                                    cr,
                                    uid,
                                    fields,
                                    dte_dtr_id,
                                    context=None):

        if dte_dtr_id == 'DTE':
            partner = (CessionarioCommittenteDTEType())
            partner_type = 'customer'
            partner.IdentificativiFiscali = (IdentificativiFiscaliNoIVAType())
        else:
            # DTR
            partner = (CessionarioCommittenteDTRType())
            partner_type = 'company'
            partner.IdentificativiFiscali = (IdentificativiFiscaliITType())

        if fields.get('xml_IdPaese') and fields.get('xml_IdCodice'):
            if dte_dtr_id == 'DTE':
                partner.IdentificativiFiscali.IdFiscaleIVA = (IdFiscaleType())
            else:
                partner.IdentificativiFiscali.IdFiscaleIVA = (
                    IdFiscaleITType())

            partner.IdentificativiFiscali.IdFiscaleIVA.\
                IdPaese = fields['xml_IdPaese']
            partner.IdentificativiFiscali.IdFiscaleIVA.\
                IdCodice = fields['xml_IdCodice']

            if fields.get('xml_IdPaese') == 'IT' and fields.get(
                    'xml_CodiceFiscale'):
                partner.IdentificativiFiscali.\
                    CodiceFiscale = CodiceFiscaleType(
                        fields['xml_CodiceFiscale'])
        else:
            partner.IdentificativiFiscali.CodiceFiscale = CodiceFiscaleType(
                fields['xml_CodiceFiscale'])
        # row 44: 2.2.2   <AltriDatiIdentificativi>
        partner.AltriDatiIdentificativi = \
            self.get_name(cr, uid, fields, dte_dtr_id, partner_type, context)
        return partner
Пример #9
0
    def _xml_dati_partner(self, cr, uid, ids, fname, args, context=None):
        res = {}
        for line in self.browse(cr, uid, ids, context=context):
            fields = self._dati_partner(cr, uid, line.partner_id, args,
                                        context=context)

            result = {}
            for f in ('xml_IdPaese', 'xml_IdCodice', 'xml_CodiceFiscale'):
                if fields.get(f, ''):
                    result[f] = fields[f]
            res[line.id] = result
        return res
Пример #10
0
 def _default_get_mobile(self, cr, uid, fields, context=None):
     if context is None:
         context = {}
     partner_pool = self.pool.get('res.partner')
     active_ids = fields.get('active_ids')
     res = {}
     i = 0
     for partner in partner_pool.browse(cr, uid, active_ids, context=context): 
         i += 1           
         res = partner.mobile
     if i > 1:
         raise orm.except_orm(_('Error'), _('You can only select one partner'))
     return res
Пример #11
0
 def _default_get_mobile(self, cr, uid, fields, context=None):
     if context is None:
         context = {}
     partner_pool = self.pool.get('res.partner')
     active_ids = fields.get('active_ids')
     res = {}
     i = 0
     for partner in partner_pool.browse(cr, uid, active_ids, context=context):
         i += 1
         res = partner.mobile
     if i > 1:
         raise orm.except_orm(_('Error'), _('You can only select one partner'))
     return res
Пример #12
0
    def get_cessionario_committente(self, cr, uid,
                                    fields, dte_dtr_id,
                                    context=None):

        if dte_dtr_id == 'DTE':
            partner = (CessionarioCommittenteDTEType())
            partner_type = 'customer'
            partner.IdentificativiFiscali = (IdentificativiFiscaliNoIVAType())
        else:
            # DTR
            partner = (CessionarioCommittenteDTRType())
            partner_type = 'company'
            partner.IdentificativiFiscali = (IdentificativiFiscaliITType())

        if fields.get('xml_IdPaese') and fields.get('xml_IdCodice'):
            if dte_dtr_id == 'DTE':
                partner.IdentificativiFiscali.IdFiscaleIVA = (IdFiscaleType())
            else:
                partner.IdentificativiFiscali.IdFiscaleIVA = (
                    IdFiscaleITType())

            partner.IdentificativiFiscali.IdFiscaleIVA.\
                IdPaese = fields['xml_IdPaese'].upper()
            partner.IdentificativiFiscali.IdFiscaleIVA.\
                IdCodice = fields['xml_IdCodice']

            if fields.get('xml_IdPaese') == 'IT' and fields.get(
                    'xml_CodiceFiscale'):
                partner.IdentificativiFiscali.\
                    CodiceFiscale = CodiceFiscaleType(
                        fields['xml_CodiceFiscale'])
        else:
            partner.IdentificativiFiscali.CodiceFiscale = CodiceFiscaleType(
                fields['xml_CodiceFiscale'])
        # row 44: 2.2.2   <AltriDatiIdentificativi>
        partner.AltriDatiIdentificativi = \
            self.get_name(cr, uid, fields, dte_dtr_id, partner_type, context)
        return partner
Пример #13
0
 def _xml_dati_partner(self, cr, uid, ids, fname, args, context=None):
     res = {}
     for line in self.browse(cr, uid, ids, context=context):
         ctx = context.copy()
         ctx['no_except'] = True
         fields = self._dati_partner(cr, uid, line.partner_id, args,
                                     context=ctx)
         result = {}
         for f in ('xml_IdPaese', 'xml_IdCodice', 'xml_CodiceFiscale'):
             if fields.get(f, ''):
                 result[f] = fields[f]
             else:
                 result[f] = False
         res[line.id] = result
     return res
Пример #14
0
    def get_cedente_prestatore(self, cr, uid,
                               fields, dte_dtr_id,
                               context=None):

        if dte_dtr_id == 'DTE':
            CedentePrestatore = (CedentePrestatoreDTEType())
            CedentePrestatore.IdentificativiFiscali = (
                IdentificativiFiscaliITType())
            # Company VAT number must be present
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA = (
                IdFiscaleITType())
            partner_type = 'company'
        elif dte_dtr_id == 'DTR':
            CedentePrestatore = (CedentePrestatoreDTRType())
            CedentePrestatore.IdentificativiFiscali = (
                IdentificativiFiscaliType())
            # Company VAT number must be present
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA = (
                IdFiscaleType())
            partner_type = 'supplier'
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Internal error: invalid partner selector'))

        if fields.get('xml_IdPaese') and fields.get('xml_IdCodice'):
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA.\
                IdPaese = fields['xml_IdPaese']
            CedentePrestatore.IdentificativiFiscali.IdFiscaleIVA.\
                IdCodice = fields['xml_IdCodice']
        if fields.get('xml_CodiceFiscale'):
            CedentePrestatore.IdentificativiFiscali.CodiceFiscale = \
                CodiceFiscaleType(fields['xml_CodiceFiscale'])
        CedentePrestatore.AltriDatiIdentificativi = \
            self.get_name(cr, uid, fields, dte_dtr_id, partner_type, context)
        return CedentePrestatore
Пример #15
0
    def _xml_dati_partner(self, cr, uid, ids, fname, args, context=None):
        res = {}
        for line in self.browse(cr, uid, ids, context=context):
            ctx = context.copy()
            ctx['no_except'] = True
            fields = self._dati_partner(cr,
                                        uid,
                                        line.partner_id,
                                        args,
                                        context=ctx)

            result = {}
            for f in fname:
                if fields.get(f, ''):
                    result[f] = fields[f]
            res[line.id] = result
        return res
Пример #16
0
    def _xml_dati_partner(self, cr, uid, ids, fname, args, context=None):
        res = {}
        for line in self.browse(cr, uid, ids, context=context):
            fields = self._dati_partner(cr, uid, line.partner_id, args,
                                        context=context)

            # if len(fields.get('xml_IdCodice', '')) < 2 and \
            #         not fields.get('xml_CodiceFiscale', ''):
            #     raise orm.except_orm(
            #         _('Error!'),
            #         _('Check VAT for partner %s!') % line.partner_id.name)

            result = {}
            for f in ('xml_IdPaese', 'xml_IdCodice', 'xml_CodiceFiscale'):
                if fields.get(f, ''):
                    result[f] = fields[f]

            res[line.id] = result
        return res
Пример #17
0
 def _xml_dati_partner(self, cr, uid, ids, fname, args, context=None):
     res = {}
     ctx = context.copy()
     ctx['no_except'] = True
     for line in self.browse(cr, uid, ids, context=ctx):
         fields = self._dati_partner(cr,
                                     uid,
                                     line.partner_id,
                                     args,
                                     context=ctx)
         if not line.tax_rate and not line.tax_nature:
             fields['xml_Error'] += _('No tax Nature')
         elif line.tax_nature and line.tax_nature == 'N6' and not line.tax_rate:
             if line.invoice_id.type in ('in_invoice', 'in_refund'):
                 fields['xml_Error'] += u"""la natura N6 -
     Reverse Charge è compatibile solo con l'aliquota diversa da 0 per le
     fatture ricevute"""
         result = {}
         for f in fname:
             if fields.get(f, ''):
                 result[f] = fields[f]
         res[line.id] = result
     return res
Пример #18
0
    def get_dte_dtr(self, cr, uid,
                    commitment_model, commitment, dte_dtr_id, context=None):
        context = context or {}

        partners = []
        partner_ids = commitment_model.get_partner_list(
            cr, uid, commitment, dte_dtr_id, context)
        for partner_id in partner_ids:
            fields = commitment_model.get_xml_cessionario_cedente(
                cr, uid, commitment, partner_id, dte_dtr_id, context)

            # Missed mandatory data: skip record
            if 'xml_IdPaese' not in fields and \
                    'xml_CodiceFiscale' not in fields:
                continue
            elif not fields.get('xml_IdCodice', False) and \
                    not fields.get('xml_CodiceFiscale', False):
                # Corrispettivi
                continue

            # TODO: StabileOrganizzazione
            # TODO: RappresentanteFiscale

            if dte_dtr_id == 'DTE':
                partner = self.get_cessionario_committente(
                    cr, uid, fields, dte_dtr_id, context)
            else:
                partner = self.get_cedente_prestatore(
                    cr, uid, fields, dte_dtr_id, context
                )

            invoices = []
            # Iterate over invoices of current partner
            invoice_ids = commitment_model.get_invoice_list(
                cr, uid, commitment, partner_id, dte_dtr_id, context)
            for invoice_id in invoice_ids:
                fields = commitment_model.get_xml_invoice(
                    cr, uid, commitment, invoice_id, dte_dtr_id, context)
                if dte_dtr_id == 'DTE':
                    invoice = (DatiFatturaBodyDTEType())
                    invoice.DatiGenerali = (DatiGeneraliType())
                else:
                    invoice = (DatiFatturaBodyDTRType())
                    invoice.DatiGenerali = (DatiGeneraliDTRType())

                invoice.DatiGenerali.TipoDocumento = fields[
                    'xml_TipoDocumento']
                invoice.DatiGenerali.Data = fields['xml_Data']
                invoice.DatiGenerali.Numero = fields['xml_Numero']
                if dte_dtr_id == 'DTR':
                    invoice.DatiGenerali.DataRegistrazione = fields[
                        'xml_DataRegistrazione']

                dati_riepilogo = []
                line_ids = commitment_model.get_riepilogo_list(
                    cr, uid, commitment, invoice_id, dte_dtr_id, context)
                for line_id in line_ids:
                    fields = commitment_model.get_xml_riepilogo(
                        cr, uid, commitment, line_id, dte_dtr_id, context)
                    riepilogo = (DatiRiepilogoType())
                    riepilogo.ImponibileImporto = '{:.2f}'.format(
                        fields['xml_ImponibileImporto'])
                    riepilogo.DatiIVA = (DatiIVAType())
                    riepilogo.DatiIVA.Imposta = '{:.2f}'.format(
                        fields['xml_Imposta'])
                    riepilogo.DatiIVA.Aliquota = '{:.2f}'.format(
                        fields['xml_Aliquota'])
                    if 'xml_Detraibile' in fields:
                        riepilogo.Detraibile = '{:.2f}'.format(
                            fields['xml_Detraibile'])
                    if 'xml_Deducibile' in fields:
                        riepilogo.Deducibile = fields['xml_Deducibile']
                    if 'xml_Natura' in fields:
                        riepilogo.Natura = fields['xml_Natura']
                    riepilogo.EsigibilitaIVA = fields['xml_EsigibilitaIVA']
                    dati_riepilogo.append(riepilogo)
                invoice.DatiRiepilogo = dati_riepilogo
            invoices.append(invoice)
            if dte_dtr_id == 'DTE':
                partner.DatiFatturaBodyDTE = invoices
            else:
                partner.DatiFatturaBodyDTR = invoices
            partners.append(partner)

        fields = commitment_model.get_xml_company(
            cr, uid, commitment, dte_dtr_id, context)
        if dte_dtr_id == 'DTE':
            dte = (DTEType())

            dte.CedentePrestatoreDTE = self.get_cedente_prestatore(
                cr, uid, fields, dte_dtr_id, context)
            dte.CessionarioCommittenteDTE = partners

            # dte.Rettifica = (RettificaType())

            return dte
        else:
            dtr = (DTRType())

            dtr.CessionarioCommittenteDTR = self.get_cessionario_committente(
                cr, uid, fields, dte_dtr_id, context
            )

            dtr.CedentePrestatoreDTR = partners

            # dtr.Rettifica = (RettificaType())

            return dtr
Пример #19
0
 def _payment_fields2(self,fields):
     fields2 = super(epn_pos_order,self)._payment_fields2(fields)
     fields2['signature'] = fields.get('signature',False)
     fields2['epn_info'] = fields.get('epn_info','')
     print 'payment_fields2',fields
     return fields2
Пример #20
0
    def fields_view_get(self, cr, uid, view_id=None, view_type="form", context=None, toolbar=False, submenu=False):
        res = super(product_product, self).fields_view_get(
            cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu
        )
        if context is None:
            context = {}
        if context.get("location") and isinstance(context["location"], int):
            location_info = self.pool.get("stock.location").browse(cr, uid, context["location"])
            fields = res.get("fields", {})
            if fields:
                if location_info.usage == "supplier":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Future Receipts")
                    if fields.get("qty_available"):
                        res["fields"]["qty_available"]["string"] = _("Received Qty")

                if location_info.usage == "internal":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Forecasted Quantity")

                if location_info.usage == "customer":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Future Deliveries")
                    if fields.get("qty_available"):
                        res["fields"]["qty_available"]["string"] = _("Delivered Qty")

                if location_info.usage == "inventory":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Future P&L")
                    if fields.get("qty_available"):
                        res["fields"]["qty_available"]["string"] = _("P&L Qty")

                if location_info.usage == "procurement":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Future Qty")
                    if fields.get("qty_available"):
                        res["fields"]["qty_available"]["string"] = _("Unplanned Qty")

                if location_info.usage == "production":
                    if fields.get("virtual_available"):
                        res["fields"]["virtual_available"]["string"] = _("Future Productions")
                    if fields.get("qty_available"):
                        res["fields"]["qty_available"]["string"] = _("Produced Qty")
        return res
Пример #21
0
 def _payment_fields2(self, fields):
     fields2 = super(epn_pos_order, self)._payment_fields2(fields)
     fields2['signature'] = fields.get('signature', False)
     fields2['epn_info'] = fields.get('epn_info', '')
     print 'payment_fields2', fields
     return fields2
Пример #22
0
    def fields_view_get(self,
                        cr,
                        uid,
                        view_id=None,
                        view_type='form',
                        context=None,
                        toolbar=False,
                        submenu=False):
        res = super(product_product, self).fields_view_get(cr,
                                                           uid,
                                                           view_id,
                                                           view_type,
                                                           context,
                                                           toolbar=toolbar,
                                                           submenu=submenu)
        if context is None:
            context = {}
        if ('location' in context) and context['location']:
            location_info = self.pool.get('stock.location').browse(
                cr, uid, context['location'])
            fields = res.get('fields', {})
            if fields:
                if location_info.usage == 'supplier':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future Receptions')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _(
                            'Received Qty')

                if location_info.usage == 'internal':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future Stock')

                if location_info.usage == 'customer':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future Deliveries')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _(
                            'Delivered Qty')

                if location_info.usage == 'inventory':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future P&L')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('P&L Qty')

                if location_info.usage == 'procurement':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future Qty')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _(
                            'Unplanned Qty')

                if location_info.usage == 'production':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _(
                            'Future Productions')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _(
                            'Produced Qty')
        return res
Пример #23
0
    def get_sede(self, cr, uid, fields, dte_dtr_id, selector, context=None):
        if dte_dtr_id == 'DTE':
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            elif selector == 'supplier':
                sede = (IndirizzoType())
            else:
                raise orm.except_orm(
                    _('Error!'),
                    _('Internal error: invalid partner selector'))
        else:
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            elif selector == 'supplier':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            else:
                raise orm.except_orm(
                    _('Error!'),
                    _('Internal error: invalid partner selector'))

        if fields.get('xml_Nazione'):
            if len(fields['xml_Nazione']) != 2:
                raise orm.except_orm(
                    _('Error!'),
                    _('Country Code \'{code}\' is wrong for partner {partner}').format(code=fields['xml_Nazione'], partner=fields.get('xml_Denominazione'))
                )
            sede.Nazione = fields['xml_Nazione']
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Unknow country of %s %s %S' %
                  (fields.get('xml_Denominazione'),
                   fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))

        if fields.get('xml_Indirizzo'):
            sede.Indirizzo = self.str60Latin(fields['xml_Indirizzo'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Missed address %s %s %S' %
                  (fields.get('xml_Denominazione'),
                   fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))
        if fields.get('xml_Comune'):
            sede.Comune = self.str60Latin(fields['xml_Comune'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _('Missed city %s %s %S' %
                  (fields.get('xml_Denominazione'),
                   fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))
        if fields.get('xml_CAP') and fields['xml_Nazione'] == 'IT':
            sede.CAP = fields['xml_CAP']
        elif selector == 'company':
            raise orm.except_orm(
                _('Error!'),
                _('Missed company zip code'))
        if fields.get('xml_Provincia') and fields['xml_Nazione'] == 'IT':
            sede.Provincia = fields['xml_Provincia']
        return sede
Пример #24
0
    def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
        res = super(product_product,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
        if context is None:
            context = {}
        if ('location' in context) and context['location']:
            location_info = self.pool.get('stock.location').browse(cr, uid, context['location'])
            fields=res.get('fields',{})
            if fields:
                if location_info.usage == 'supplier':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future Receipts')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('Received Qty')

                if location_info.usage == 'internal':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future Stock')

                if location_info.usage == 'customer':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future Deliveries')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('Delivered Qty')

                if location_info.usage == 'inventory':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future P&L')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('P&L Qty')

                if location_info.usage == 'procurement':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future Qty')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('Unplanned Qty')

                if location_info.usage == 'production':
                    if fields.get('virtual_available'):
                        res['fields']['virtual_available']['string'] = _('Future Productions')
                    if fields.get('qty_available'):
                        res['fields']['qty_available']['string'] = _('Produced Qty')
        return res
Пример #25
0
    def get_sede(self, cr, uid, fields, dte_dtr_id, selector, context=None):
        if dte_dtr_id == 'DTE':
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            elif selector == 'supplier':
                sede = (IndirizzoType())
            else:
                raise orm.except_orm(
                    _('Error!'), _('Internal error: invalid partner selector'))
        else:
            if selector == 'company':
                sede = (IndirizzoType())
            elif selector == 'customer':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            elif selector == 'supplier':
                if SPESOMETRO_VERSION == '2.0':
                    sede = (IndirizzoNoCAPType())
                else:
                    sede = (IndirizzoType())
            else:
                raise orm.except_orm(
                    _('Error!'), _('Internal error: invalid partner selector'))

        if fields.get('xml_Nazione'):
            if len(fields['xml_Nazione']) != 2:
                raise orm.except_orm(
                    _('Error!'),
                    _(u'Country Code \'{code}\' is wrong for partner {partner}'
                      ).format(code=fields['xml_Nazione'],
                               partner=fields.get('xml_Denominazione')))
            sede.Nazione = fields['xml_Nazione']
        else:
            raise orm.except_orm(
                _('Error!'),
                _(u'Unknown country of %s %s %s' %
                  (fields.get('xml_Denominazione'), fields.get('xml_Nome'),
                   fields.get('xml_Cognome'))))

        if fields.get('xml_Indirizzo'):
            sede.Indirizzo = self.str60Latin(fields['xml_Indirizzo'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _(u'Missing address %s %s %s' %
                  (fields.get('xml_Denominazione', ''),
                   fields.get('xml_Nome', ''), fields.get('xml_Cognome', ''))))
        if fields.get('xml_Comune'):
            sede.Comune = self.str60Latin(fields['xml_Comune'])
        else:
            raise orm.except_orm(
                _('Error!'),
                _(u'Missing city %s %s %s' %
                  (fields.get('xml_Denominazione', ''),
                   fields.get('xml_Nome', ''), fields.get('xml_Cognome', ''))))
        if fields.get('xml_CAP') and fields['xml_Nazione'] == 'IT':
            sede.CAP = fields['xml_CAP']
        elif selector == 'company':
            raise orm.except_orm(_('Error!'), _('Missed company zip code'))
        if fields.get('xml_Provincia') and fields['xml_Nazione'] == 'IT':
            sede.Provincia = fields['xml_Provincia']
        return sede