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