select department under company
parent
1830090e04
commit
20e44d9173
|
@ -0,0 +1,5 @@
|
|||
<inherit model="select.company" inherit="select_company">
|
||||
<field name="company" position="after">
|
||||
<field name="department" selection="get_departments"/>
|
||||
</field>
|
||||
</inherit>
|
|
@ -102,3 +102,4 @@ from . import shop
|
|||
from . import shop_line
|
||||
from . import sale_order
|
||||
from . import product
|
||||
from . import select_company
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
from netforce.model import Model, fields, get_model
|
||||
from netforce.access import get_active_user, set_active_user
|
||||
|
||||
class SelectCompany(Model):
|
||||
_inherit="select.company"
|
||||
_fields={
|
||||
"department": fields.Selection([],"Deparment")
|
||||
}
|
||||
|
||||
def _get_department(self,context={}):
|
||||
user_id=get_active_user()
|
||||
dpt_name=None
|
||||
for staff in get_model("clinic.staff").search_browse([['user_id','=',user_id]]):
|
||||
dpt=staff.department_id
|
||||
dpt_name=dpt.name
|
||||
return dpt_name
|
||||
|
||||
_defaults={
|
||||
'department': _get_department,
|
||||
}
|
||||
|
||||
def get_departments(self,context={}):
|
||||
user_id=get_active_user()
|
||||
set_active_user(1)
|
||||
res=get_model("clinic.department").search_read([],["name"])
|
||||
set_active_user(user_id)
|
||||
return [(r["name"],r["name"]) for r in res]
|
||||
|
||||
def select(self,ids,context={}):
|
||||
obj=self.browse(ids)[0]
|
||||
if obj.department:
|
||||
user_id=get_active_user()
|
||||
set_active_user(1)
|
||||
for dpt in get_model("clinic.department").search_browse([["name","=",obj.department]]):
|
||||
for staff in get_model("clinic.staff").search_browse([['user_id','=',user_id]]):
|
||||
staff.write({
|
||||
'department_id': dpt.id,
|
||||
'branch_id': dpt.branch_id.id,
|
||||
})
|
||||
if staff:
|
||||
pf_id=None
|
||||
if dpt.branch_id.code=='LS':
|
||||
for pf in get_model("profile").search_browse([['name','=','Nurse Laksi']]):
|
||||
pf_id=pf.id
|
||||
elif dpt.branch_id.code=='SS':
|
||||
for pf in get_model("profile").search_browse([['name','=','Nurse Samsan']]):
|
||||
pf_id=pf.id
|
||||
if pf_id:
|
||||
user=get_model("base.user").browse(user_id)
|
||||
user.write({
|
||||
'profile_id': pf_id,
|
||||
})
|
||||
set_active_user(user_id)
|
||||
res=super().select(ids,context)
|
||||
return res
|
||||
|
||||
SelectCompany.register()
|
Loading…
Reference in New Issue