improve
							parent
							
								
									be291d21a2
								
							
						
					
					
						commit
						1a712b1203
					
				| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
<inherit model="base.user" inherit="user_form">
 | 
			
		||||
    <field name="pin_code" position="after">
 | 
			
		||||
        <field name="department_profile_id"/>
 | 
			
		||||
        <field name="branch_id"/>
 | 
			
		||||
        <field name="old_profile_id"/>
 | 
			
		||||
    </field>
 | 
			
		||||
</inherit>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,3 @@
 | 
			
		|||
import time
 | 
			
		||||
 | 
			
		||||
from netforce.model import Model, fields, get_model
 | 
			
		||||
 | 
			
		||||
class AccountInvoice(Model):
 | 
			
		||||
| 
						 | 
				
			
			@ -10,5 +8,45 @@ class AccountInvoice(Model):
 | 
			
		|||
        'patient_partner_id': fields.Many2One("partner","Patient",search=True),
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    def _get_number(self,context={}):
 | 
			
		||||
        defaults=context.get("defaults")
 | 
			
		||||
        if defaults: # XXX
 | 
			
		||||
            type=defaults.get("type")
 | 
			
		||||
            inv_type=defaults.get("inv_type")
 | 
			
		||||
        else:
 | 
			
		||||
            type=context.get("type")
 | 
			
		||||
            inv_type=context.get("inv_type")
 | 
			
		||||
        seq_type=None
 | 
			
		||||
        if type=="out":
 | 
			
		||||
            if inv_type in ("invoice","prepay"):
 | 
			
		||||
                seq_type="cust_invoice"
 | 
			
		||||
            elif inv_type=="credit":
 | 
			
		||||
                seq_type="cust_credit"
 | 
			
		||||
            elif inv_type=="debit":
 | 
			
		||||
                seq_type="cust_debit"
 | 
			
		||||
        elif type=="in":
 | 
			
		||||
            if inv_type in ("invoice","prepay"):
 | 
			
		||||
                seq_type="supp_invoice"
 | 
			
		||||
            elif inv_type=="credit":
 | 
			
		||||
                seq_type="supp_credit"
 | 
			
		||||
            elif inv_type=="debit":
 | 
			
		||||
                seq_type="supp_debit"
 | 
			
		||||
        if not seq_type:
 | 
			
		||||
            return
 | 
			
		||||
        seq_id=get_model("sequence").find_sequence(type=seq_type,context=context)
 | 
			
		||||
        if not seq_id:
 | 
			
		||||
            return None
 | 
			
		||||
        while 1:
 | 
			
		||||
            num=get_model("sequence").get_next_number(seq_id,context=context)
 | 
			
		||||
            res=self.search([["number","=",num]])
 | 
			
		||||
            if not res:
 | 
			
		||||
                return num
 | 
			
		||||
            get_model("sequence").increment_number(seq_id,context=context)
 | 
			
		||||
 | 
			
		||||
    _defaults={
 | 
			
		||||
        "number": _get_number,
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AccountInvoice.register()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,32 @@ class AccountPayment(Model):
 | 
			
		|||
    _inherit="account.payment"
 | 
			
		||||
    _fields={
 | 
			
		||||
        'rd_cust': fields.Boolean("RD Customize"),
 | 
			
		||||
        'number': fields.Char("Number",required=True,search=True),
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    def _get_number(self,context={}):
 | 
			
		||||
        type=context.get("type")
 | 
			
		||||
        if type=="in":
 | 
			
		||||
            seq_type="pay_in"
 | 
			
		||||
        elif type=="out":
 | 
			
		||||
            seq_type="pay_out"
 | 
			
		||||
        else:
 | 
			
		||||
            return
 | 
			
		||||
        seq_id=get_model("sequence").find_sequence(type=seq_type,context=context) # force to use context
 | 
			
		||||
        if not seq_id:
 | 
			
		||||
            return None
 | 
			
		||||
        while 1:
 | 
			
		||||
            num=get_model("sequence").get_next_number(seq_id,context=context)
 | 
			
		||||
            res=self.search([["number","=",num]])
 | 
			
		||||
            if not res:
 | 
			
		||||
                return num
 | 
			
		||||
            get_model("sequence").increment_number(seq_id,context=context)
 | 
			
		||||
 | 
			
		||||
    _defaults={
 | 
			
		||||
        'number': _get_number,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    def run_report(self,ids,context={}):
 | 
			
		||||
        obj=self.browse(ids)[0]
 | 
			
		||||
        hd_case_id=obj.related_id.id
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ class User(Model):
 | 
			
		|||
    _fields={
 | 
			
		||||
        'department_profile_id': fields.Many2One("clinic.department.profile","Department Profile"),
 | 
			
		||||
        'department_id': fields.Many2One("clinic.department","Current Department"),
 | 
			
		||||
        'branch_id': fields.Many2One("clinic.branch","Branch"),
 | 
			
		||||
        'old_profile_id': fields.Many2One('profile', "Old Profile"),
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,8 +10,11 @@ class Login(Model):
 | 
			
		|||
        user_id=get_active_user()
 | 
			
		||||
        user=get_model('base.user').browse(user_id)
 | 
			
		||||
        department=user.department_id
 | 
			
		||||
        branch=user.branch_id
 | 
			
		||||
        if department:
 | 
			
		||||
            cookies['company_name']='%s (%s)'%(cookies['company_name'], department.name or "")
 | 
			
		||||
        elif branch:
 | 
			
		||||
            cookies['company_name']='%s (%s)'%(cookies['company_name'], branch.name or "")
 | 
			
		||||
        return res
 | 
			
		||||
 | 
			
		||||
Login.register()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -171,10 +171,12 @@ class SelectCompany(Model):
 | 
			
		|||
                'profile_id': pf_id,
 | 
			
		||||
            })
 | 
			
		||||
        res=super().select(ids,context)
 | 
			
		||||
        if department_name:
 | 
			
		||||
        cookies=res.get("cookies")
 | 
			
		||||
        if cookies:
 | 
			
		||||
            if department_name:
 | 
			
		||||
                cookies['company_name']='%s (%s)'%(cookies['company_name'], department_name)
 | 
			
		||||
            elif user.branch_id:
 | 
			
		||||
                cookies['company_name']='%s (%s)'%(cookies['company_name'], user.branch_id.name or "")
 | 
			
		||||
        return res
 | 
			
		||||
    
 | 
			
		||||
    def get_select(self,context={}):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,11 +64,16 @@ class Sequence(Model):
 | 
			
		|||
        user_id=get_active_user()
 | 
			
		||||
        user=get_model('base.user').browse(user_id)
 | 
			
		||||
        dpt=user.department_id
 | 
			
		||||
        branch=user.branch_id
 | 
			
		||||
        if dpt:
 | 
			
		||||
            branch_id=dpt.branch_id.id
 | 
			
		||||
            comp_dom=comp_dom+[["branch_id","=",branch_id]]
 | 
			
		||||
        elif branch:
 | 
			
		||||
            branch_id=branch.id
 | 
			
		||||
            comp_dom=comp_dom+[["branch_id","=",branch_id]]
 | 
			
		||||
        elif context.get('branch_id'):
 | 
			
		||||
            comp_dom=comp_dom+[["branch_id","=",context['branch_id']]]
 | 
			
		||||
        print('com_dom ', comp_dom)
 | 
			
		||||
        res=self.search(comp_dom,order="id")
 | 
			
		||||
        if res:
 | 
			
		||||
            return res[0]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -273,6 +273,7 @@ class Shop(Model):
 | 
			
		|||
        due_date=obj.date[1:10] # XXX
 | 
			
		||||
        context['type']='out'
 | 
			
		||||
        context['inv_type']='invoice'
 | 
			
		||||
        context['branch_id']=obj.branch_id.id
 | 
			
		||||
        cst=get_model('clinic.setting').browse(1)
 | 
			
		||||
        prod_acc=cst.get_product_account
 | 
			
		||||
        partner=obj.contact_id
 | 
			
		||||
| 
						 | 
				
			
			@ -310,8 +311,7 @@ class Shop(Model):
 | 
			
		|||
                    'account_id': account_id,
 | 
			
		||||
                    'ar_debit_id': ar_debit_id,
 | 
			
		||||
                }))
 | 
			
		||||
        
 | 
			
		||||
        inv_id=get_model("account.invoice").create(vals,context)
 | 
			
		||||
        inv_id=get_model("account.invoice").create(vals,context=context)
 | 
			
		||||
        inv=get_model("account.invoice").browse(inv_id)
 | 
			
		||||
        inv.post()
 | 
			
		||||
        obj.make_pickings()
 | 
			
		||||
| 
						 | 
				
			
			@ -390,6 +390,7 @@ class Shop(Model):
 | 
			
		|||
        context={
 | 
			
		||||
            'pick_type': 'out',
 | 
			
		||||
            'journal_id': pick_vals['journal_id'],
 | 
			
		||||
            'branch_id': obj.branch_id.id,
 | 
			
		||||
        }
 | 
			
		||||
        pick_id=picking_obj.create(pick_vals,context=context)
 | 
			
		||||
        pick=picking_obj.browse(pick_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -406,7 +407,6 @@ class Shop(Model):
 | 
			
		|||
            raise Exception("No Cash Account")
 | 
			
		||||
        if not income_account_id:
 | 
			
		||||
            raise Exception("No Income Account")
 | 
			
		||||
 | 
			
		||||
        company_id=get_active_company()
 | 
			
		||||
        vals={
 | 
			
		||||
            "partner_id": partner.id,
 | 
			
		||||
| 
						 | 
				
			
			@ -438,7 +438,11 @@ class Shop(Model):
 | 
			
		|||
                    'account_id': account_id,
 | 
			
		||||
                }))
 | 
			
		||||
 | 
			
		||||
        payment_id=get_model("account.payment").create(vals,context={"type":"in"})
 | 
			
		||||
        context={
 | 
			
		||||
            'type': 'in',
 | 
			
		||||
            'branch_id': obj.branch_id.id,
 | 
			
		||||
        }
 | 
			
		||||
        payment_id=get_model("account.payment").create(vals,context=context)
 | 
			
		||||
        payment=get_model('account.payment').browse(payment_id)
 | 
			
		||||
        payment.post()
 | 
			
		||||
        obj.make_pickings()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue