select department under company

conv_bal
watcha.h 2015-02-09 23:47:59 +07:00
parent 1830090e04
commit 20e44d9173
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,5 @@
<inherit model="select.company" inherit="select_company">
<field name="company" position="after">
<field name="department" selection="get_departments"/>
</field>
</inherit>

View File

@ -102,3 +102,4 @@ from . import shop
from . import shop_line from . import shop_line
from . import sale_order from . import sale_order
from . import product from . import product
from . import select_company

View File

@ -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()