Exemplo n.º 1
0
class MailMessageSubtype(models.Model):
    _inherit = 'mail.message.subtype'
    _columns = {
        'internal': fields.boolean('Internal',
                                   help="don't publish these messages")
    }
    _defaults = {'internal': False}
class product_template(models.Model):
    _inherit = 'product.template'
    _columns = {
        'special_offer_ok': old_fields.boolean('Special offer only', help='Hide product from /shop directory.'),
    }
    _defaults = {
        'special_offer_ok': False,
    }
Exemplo n.º 3
0
class GoogleGcmConfigSettings(models.TransientModel):
    _name = 'google_gcm.config.settings'
    """ Inherit the base settings to add a counter of failed email + configure
    the alias domain. """
    _inherit = 'base.config.settings'
    
    
    module_google_gcm = fields.boolean('Allow notification by Google Cloud Message',
                                              help="""This install the module google_gcm.""")

#    @api.multi
#    def open_google_gcm(self):
#        server = self.env['google_gcm.server'].browse()
#        return {
#            'type': 'ir.actions.act_window',
#            'name': 'Google Cloud Message',
#            'view_type': 'form',
#            'view_mode': 'form',
#            'res_model': 'google_gcm.server',
#            'res_id': server.id,
#            'target': 'current',
#        }
Exemplo n.º 4
0
class LaundryOrder(model.Model):
    _inherit = 'sale.order'

    def estimate_end_date(self):
        return fields.date.to_string(datetime.now() + timedelta(2))

    is_laundry = fields.boolean(string='Laundry')
    state = fields.Selection([
        ('draft', 'Draft'),
        ('sent', 'Quotation Sent'),
        ('sale', 'Sales Order'),
        ('open', 'Open'),
        ('done', 'Done'),
        ('cancel', 'Cancelled'),
    ],
                             string='Status',
                             readonly=True,
                             copy=False,
                             index=True,
                             track_visibility='onchange',
                             track_sequence=3,
                             default='draft')
    lo_date = fields.Date(
        string='Order Date',
        readonly=True,
        index=True,
        states={
            'draft': [('readonly', False)],
            'sent': [('readonly', False)]
        },
        copy=False,
        default=fields.Date.today)  #set to required true if is laundry true
    lo_commitment_date = fields.Date(
        'Commitment Date',
        states={
            'draft': [('readonly', False)],
            'sent': [('readonly', False)]
        },
        copy=False,
        readonly=True,
        default=estimate_end_date)  #set to required true if is laundry true
    laundry_person = fields.Many2one('res.users',
                                     string='Laundry Person',
                                     index=True,
                                     track_visibility='onchange',
                                     track_sequence=2,
                                     default=lambda self: self.env.user,
                                     readonly=True,
                                     states={
                                         'draft': [('readonly', False)],
                                         'sent': [('readonly', False)]
                                     })
    note = fields.Text(string='Remarks')

    @api.multi
    def action_confirm(self):
        super(LaundryOrder, self).action_confirm()
        if self.is_laundry:
            self.write({'state': 'open'})
            #insert into Laundry WO
            lo_wo_obj = self.env['laundry.work.order'].create(
                {'sale_obj': self.id})
            #insert into Laundry WO Line
            for each in self:
                #Check WO/ order Line (check git)
                if not each.order_line:
                    raise ValidationError(
                        _('''Order haven't lines. Please create order line(s)'''
                          ))

                #insert into Laundry WO Line
                wo_lines = []
                for obj in each.order_line:
                    qty_item = obj.product_uom_qty
                    if obj.work_type == 'wash':
                        #loop so line insert to woline based on qty
                        qty_insertw = 1
                        while qty_insertw <= qty_item:
                            lo_woline_obj = self.env[
                                'laundry.work.line'].create({
                                    'product_id':
                                    obj.product_id.id,
                                    'uom_id':
                                    obj.product_id.uom_id.id,
                                    'laundry_obj':
                                    lo_wo_obj.id
                                })
                            wo_lines.append(lo_woline_obj.id)
                            qty_insertw += 1
                    elif obj.work_type == 'extra_work':
                        qty_inserte = 1
                        while qty_inserte <= qty_item:
                            self.env['laundry.work.line'].create({
                                'product_id':
                                obj.product_id.id,
                                'uom_id':
                                obj.product_id.uom_id.id,
                                'laundry_works':
                                True,
                                'laundry_obj':
                                lo_wo_obj.id
                            })
                            wo_lines.append(lo_woline_obj.id)
                            qty_inserte += 1
                        #lo_wo_obj.write({'outstanding_extra': obj.product_uom_qty })
                lo_wo_obj.write({'order_lines': wo_lines})
        return True