示例#1
0
class appointment (osv.osv):
	_name = "medical.appointment"
	_inherit = "medical.appointment"

	def copy(self, cr, uid, id, default=None, context={}):
		default.update({'validity_status':'tobe'})
		return super(appointment,self).copy(cr, uid, id, default, context)
            
	def onchange_appointment_date(self, cr, uid, ids, apt_date):
		if apt_date:
			validity_date = datetime.datetime.fromtimestamp(time.mktime(time.strptime(apt_date,"%Y-%m-%d %H:%M:%S")))
			validity_date = validity_date+datetime.timedelta(days=7)
			v = {'appointment_validity_date':str(validity_date)}
			return {'value': v}
		return {}

	_columns = {
		'no_invoice' : fields.boolean ('Invoice exempt'),
		'appointment_validity_date' : fields.datetime ('Validity Date'),
		'validity_status' : fields.selection([('invoiced','Invoiced'),('tobe','To be Invoiced')],'Status'),
		'consultations' : fields.many2one ('product.product', 'Consultation Service', domain=[('type', '=', "service")], help="Consultation Services", required=True),
	}
	_defaults = {
		'validity_status': lambda *a: 'tobe',
		'no_invoice': lambda *a: True
	}
示例#2
0
class hr_accrual_job(models.Model):

    _name = 'hr.policy.line.accrual.job'
    _description = 'Accrual Policy Line Job Run'

    _columns = {
        'name':
        fields.date('Date', required=True, readonly=True),
        'exec':
        fields.datetime('Execution Date/Time', required=True, readonly=True),
        'policy_line_id':
        fields.many2one('hr.policy.line.accrual',
                        'Accrual Policy Line',
                        required=True,
                        readonly=True),
        'accrual_line_ids':
        fields.many2many('hr.accrual.line',
                         'hr_policy_job_accrual_line_rel',
                         'job_id',
                         'accrual_line_id',
                         'Accrual Lines',
                         readonly=True),
        'holiday_ids':
        fields.many2many('hr.holidays',
                         'hr_policy_job_holiday_rel',
                         'job_id',
                         'holiday_id',
                         'Leave Allocation Requests',
                         readonly=True),
    }
示例#3
0
class pos_stock_inventory_categ(osv.osv):
    _name = 'pos.stock.inventory.categ'
    _description = 'Reporte Inventario por Categoria'
    _columns = {
        'report_lines':
        fields.one2many('pos.stock.inventory.categ.line', 'report_id',
                        'Lineas del Inventario'),
        'company_id':
        fields.many2one('res.company', 'Compañia'),
        'date':
        fields.datetime('Fecha Consulta'),
        'name':
        fields.char('Descripcion del Inventario', size=128),
        'location_id':
        fields.many2one('stock.location', 'Ubicacion Inventariada'),
        'user_id':
        fields.many2one('res.users', 'Usuario Audito'),
    }

    def _get_company(self, cr, uid, context=None):
        user_br = self.pool.get('res.users').browse(cr, uid, uid, context)
        company_id = user_br.company_id.id
        return company_id

    def _get_date(self, cr, uid, context=None):
        date = datetime.now().strftime('%Y-%m-%d')
        date_now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        return date_now
        # start = datetime.strptime(date_now, "%Y-%m-%d %H:%M:%S")
        # user = self.pool.get('res.users').browse(cr, uid, uid)
        # tz = pytz.timezone(user.tz) if user.tz else pytz.utc
        # start = pytz.utc.localize(start).astimezone(tz)     # convert start in user's timezone
        # tz_date = start.strftime("%Y-%m-%d %H:%M:%S")
        # return tz_date
    def _get_uid(self, cr, uid, context=None):
        return uid

    _defaults = {
        'company_id': _get_company,
        'date': _get_date,
        'user_id': _get_uid,
    }

    _order = 'id desc'
示例#4
0
class surgery(osv.osv):
    _name = "medical.surgery"
    _description = "Surgery"
    _columns = {
        'name':
        fields.many2one(
            'medical.procedure',
            'Code',
            help=
            "Procedure Code, for example ICD-10-PCS Code 7-character string"),
        'pathology':
        fields.many2one('medical.pathology',
                        'Base condition',
                        help="Base Condition / Reason"),
        'classification':
        fields.selection([
            ('o', 'Optional'),
            ('r', 'Required'),
            ('u', 'Urgent'),
        ],
                         'Surgery Classification',
                         select=True),
        'surgeon':
        fields.many2one('medical.physician',
                        'Surgeon',
                        help="Surgeon who did the procedure"),
        'date':
        fields.datetime('Date of the surgery'),
        'age':
        fields.char(
            'Patient age',
            size=3,
            help='Patient age at the moment of the surgery. Can be estimative'
        ),
        'description':
        fields.char('Description', size=128),
        'extra_info':
        fields.text('Extra Info'),
    }
class produce_sale_price_history(osv.osv):
    """
    Keep track of the ``product.template`` sale prices as they are changed.
    """

    _name = 'product.sale.price.history'
    _rec_name = 'datetime'
    _order = 'datetime desc'

    _columns = {
        'company_id':
        fields.many2one('res.company', required=True),
        'product_template_id':
        fields.many2one('product.template',
                        'Product Template',
                        required=True,
                        ondelete='cascade'),
        'datetime':
        fields.datetime('Historization Time'),
        'list_price':
        fields.float('Historized list price'),
    }

    def _get_default_company(self, cr, uid, context=None):
        if 'force_company' in context:
            return context['force_company']
        else:
            company = self.pool['res.users'].browse(cr,
                                                    uid,
                                                    uid,
                                                    context=context).company_id
            return company.id if company else False

    _defaults = {
        'datetime': fields.datetime.now,
        'company_id': _get_default_company,
    }
示例#6
0
class hr_payroll_register(models.Model):

    _name = 'hr.payroll.register'

    _columns = {
        'name':
        fields.char('Description', size=256),
        'state':
        fields.selection([
            ('draft', 'Draft'),
            ('close', 'Close'),
        ],
                         'Status',
                         select=True,
                         readonly=True),
        'date_start':
        fields.datetime('Date From',
                        required=True,
                        readonly=True,
                        states={'draft': [('readonly', False)]}),
        'date_end':
        fields.datetime('Date To',
                        required=True,
                        readonly=True,
                        states={'draft': [('readonly', False)]}),
        'run_ids':
        fields.one2many('hr.payslip.run',
                        'register_id',
                        readonly=True,
                        states={'draft': [('readonly', False)]}),
        'company_id':
        fields.many2one('res.company', 'Company'),
    }

    _sql_constraints = [
        ('unique_name', 'UNIQUE(name)',
         _('Payroll Register description must be unique.')),
    ]

    def _get_default_name(self, cr, uid, context=None):

        nMonth = datetime.now().strftime('%B')
        year = datetime.now().year
        name = _('Payroll for the Month of %s %s' % (nMonth, year))
        return name

    def _get_company(self, cr, uid, context=None):

        users_pool = self.pool.get('res.users')
        return users_pool.browse(cr,
                                 uid,
                                 users_pool.search(cr,
                                                   uid, [('id', '=', uid)],
                                                   context=context),
                                 context=context)[0].company_id.id

    _defaults = {
        'name': _get_default_name,
        'state': 'draft',
        'company_id': _get_company,
    }

    def action_delete_runs(self, cr, uid, ids, context=None):

        pool = self.pool.get('hr.payslip.run')
        ids = pool.search(cr,
                          uid, [('register_id', 'in', ids)],
                          context=context)
        pool.unlink(cr, uid, ids, context=context)
        return True
示例#7
0
class pos_order_report_jasper(osv.osv):
    _name = 'pos.order.report.jasper'
    _description = 'Reporte Detallado de Ventas'
    _columns = {
        'sale_order_ids':
        fields.one2many('pos.order.report.jasper.line', 'report_id',
                        'Pedidos de Venta Relacionados'),
        'sale_journal_ids':
        fields.one2many('pos.order.report.journal.line', 'report_id',
                        'Metodos de Pago'),
        'sale_tax_ids':
        fields.one2many('pos.order.report.tax.line', 'report_id', 'Impuestos'),
        'user_ids':
        fields.many2many('res.users', 'pos_details_report_user_rel2',
                         'user_id', 'report_id', 'Usuarios'),
        'date_start':
        fields.date('Date Start', required=True),
        'date_end':
        fields.date('Date End', required=True),
        'company_id':
        fields.many2one('res.company', 'Compañia'),
        'name':
        fields.char('Referencia', size=256),
        'date':
        fields.datetime('Fecha Consulta'),
        'total_invoiced':
        fields.float('Total Facturado', digits=(14, 2)),
        'total_discount':
        fields.float('Descuento Total', digits=(14, 2)),
        'total_of_the_day':
        fields.float('Total del dia', digits=(14, 2)),
        'total_paid':
        fields.float('Total Pagado', digits=(14, 2)),
        'total_qty':
        fields.float('Cantidad de Producto', digits=(14, 2)),
        'total_sale':
        fields.float('Total de Ventas', digits=(14, 2)),
    }

    def _get_company(self, cr, uid, context=None):
        user_br = self.pool.get('res.users').browse(cr, uid, uid, context)
        company_id = user_br.company_id.id
        return company_id

    def _get_date(self, cr, uid, context=None):
        date = datetime.now().strftime('%Y-%m-%d')
        date_now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        return date_now
        # start = datetime.strptime(date_now, "%Y-%m-%d %H:%M:%S")
        # user = self.pool.get('res.users').browse(cr, uid, uid)
        # tz = pytz.timezone(user.tz) if user.tz else pytz.utc
        # start = pytz.utc.localize(start).astimezone(tz)     # convert start in user's timezone
        # tz_date = start.strftime("%Y-%m-%d %H:%M:%S")
        # return tz_date

    _defaults = {
        'company_id': _get_company,
        'date': _get_date,
    }

    _order = 'id desc'