[IMP] new menus
bzr revid: fp@tinyerp.com-20100109143002-32gkcy67d18v2gd7
This commit is contained in:
parent
29222f60b6
commit
344dd181f3
|
@ -32,12 +32,6 @@ import tools
|
|||
from osv import fields,osv,orm
|
||||
from osv.orm import except_orm
|
||||
|
||||
|
||||
import email
|
||||
import netsvc
|
||||
from poplib import POP3, POP3_SSL
|
||||
from imaplib import IMAP4, IMAP4_SSL
|
||||
|
||||
MAX_LEVEL = 15
|
||||
AVAILABLE_STATES = [
|
||||
('draft','Draft'),
|
||||
|
@ -64,17 +58,16 @@ icon_lst = {
|
|||
class crm_case_section(osv.osv):
|
||||
_name = "crm.case.section"
|
||||
_description = "Case Section"
|
||||
_order = "name"
|
||||
_columns = {
|
||||
'name': fields.char('Case Section',size=64, required=True, translate=True),
|
||||
'code': fields.char('Section Code',size=8),
|
||||
'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the case section without removing it."),
|
||||
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of case sections."),
|
||||
'user_id': fields.many2one('res.users', 'Responsible User'),
|
||||
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by Open ERP about cases in this section"),
|
||||
'parent_id': fields.many2one('crm.case.section', 'Parent Section'),
|
||||
'child_ids': fields.one2many('crm.case.section', 'parent_id', 'Child Sections'),
|
||||
'calendar' : fields.boolean('Calendar', help='Allows to show calendar'),
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
|
@ -95,106 +88,6 @@ class crm_case_section(osv.osv):
|
|||
_constraints = [
|
||||
(_check_recursion, 'Error ! You cannot create recursive sections.', ['parent_id'])
|
||||
]
|
||||
|
||||
# Mainly used by the wizard
|
||||
def menu_create_data(self, cr, uid, data, menu_lst, context):
|
||||
menus = {}
|
||||
menus[0] = data['menu_parent_id']
|
||||
section = self.browse(cr, uid, data['section_id'], context)
|
||||
for (index, mname, mdomain, latest, view_mode) in menu_lst:
|
||||
view_mode = data['menu'+str(index)+'_option']
|
||||
if view_mode=='no':
|
||||
menus[index] = data['menu_parent_id']
|
||||
continue
|
||||
icon = icon_lst.get(view_mode.split(',')[0], 'STOCK_JUSTIFY_FILL')
|
||||
menu_id=self.pool.get('ir.ui.menu').create(cr, uid, {
|
||||
'name': data['menu'+str(index)],
|
||||
'parent_id': menus[latest],
|
||||
'icon': icon
|
||||
})
|
||||
menus[index] = menu_id
|
||||
action_id = self.pool.get('ir.actions.act_window').create(cr,uid, {
|
||||
'name': data['menu'+str(index)],
|
||||
'res_model': 'crm.case',
|
||||
'domain': mdomain.replace('SECTION_ID', str(data['section_id'])),
|
||||
'view_type': 'form',
|
||||
'view_mode': view_mode,
|
||||
})
|
||||
seq = 0
|
||||
for mode in view_mode.split(','):
|
||||
self.pool.get('ir.actions.act_window.view').create(cr, uid, {
|
||||
'sequence': seq,
|
||||
'view_id': data['view_'+mode],
|
||||
'view_mode': mode,
|
||||
'act_window_id': action_id,
|
||||
'multi': True
|
||||
})
|
||||
seq+=1
|
||||
self.pool.get('ir.values').create(cr, uid, {
|
||||
'name': data['menu'+str(index)],
|
||||
'key2': 'tree_but_open',
|
||||
'model': 'ir.ui.menu',
|
||||
'res_id': menu_id,
|
||||
'value': 'ir.actions.act_window,%d'%action_id,
|
||||
'object': True
|
||||
})
|
||||
return True
|
||||
|
||||
#
|
||||
# Used when called from .XML file
|
||||
#
|
||||
def menu_create(self, cr, uid, ids, name, menu_parent_id=False, context={}):
|
||||
menus = {}
|
||||
menus[-1] = menu_parent_id
|
||||
for section in self.browse(cr, uid, ids, context):
|
||||
for (index, mname, mdomain, latest) in [
|
||||
(0,'',"[('section_id','=',"+str(section.id)+")]", -1),
|
||||
(1,'My ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid)]", 0),
|
||||
(2,'My Unclosed ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('state','<>','cancel'), ('state','<>','done')]", 1),
|
||||
(5,'My Open ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('state','=','open')]", 2),
|
||||
(6,'My Pending ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('state','=','pending')]", 2),
|
||||
(7,'My Draft ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('state','=','draft')]", 2),
|
||||
|
||||
(3,'My Late ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('date_deadline','<=',time.strftime('%Y-%m-%d')), ('state','<>','cancel'), ('state','<>','done')]", 1),
|
||||
(4,'My Canceled ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('state','=','cancel')]", 1),
|
||||
(8,'All ',"[('section_id','=',"+str(section.id)+"),]", 0),
|
||||
(9,'Unassigned ',"[('section_id','=',"+str(section.id)+"),('user_id','=',False)]", 8),
|
||||
(10,'Late ',"[('section_id','=',"+str(section.id)+"),('user_id','=',uid), ('date_deadline','<=',time.strftime('%Y-%m-%d')), ('state','<>','cancel'), ('state','<>','done')]", 8),
|
||||
(11,'Canceled ',"[('section_id','=',"+str(section.id)+"),('state','=','cancel')]", 8),
|
||||
(12,'Unclosed ',"[('section_id','=',"+str(section.id)+"),('state','<>','cancel'), ('state','<>','done')]", 8),
|
||||
(13,'Open ',"[('section_id','=',"+str(section.id)+"),('state','=','open')]", 12),
|
||||
(14,'Pending ',"[('section_id','=',"+str(section.id)+"),('state','=','pending')]", 12),
|
||||
(15,'Draft ',"[('section_id','=',"+str(section.id)+"),('state','=','draft')]", 12),
|
||||
(16,'Unassigned ',"[('section_id','=',"+str(section.id)+"),('user_id','=',False),('state','<>','cancel'),('state','<>','done')]", 12),
|
||||
]:
|
||||
view_mode = 'tree,form'
|
||||
icon = 'STOCK_JUSTIFY_FILL'
|
||||
if index==0:
|
||||
view_mode = 'form,tree'
|
||||
icon = 'STOCK_NEW'
|
||||
menu_id=self.pool.get('ir.ui.menu').create(cr, uid, {
|
||||
'name': mname+name,
|
||||
'parent_id': menus[latest],
|
||||
'icon': icon
|
||||
})
|
||||
menus[index] = menu_id
|
||||
action_id = self.pool.get('ir.actions.act_window').create(cr,uid, {
|
||||
'name': mname+name+' Cases',
|
||||
'res_model': 'crm.case',
|
||||
'domain': mdomain,
|
||||
'view_type': 'form',
|
||||
'view_mode': view_mode,
|
||||
})
|
||||
self.pool.get('ir.values').create(cr, uid, {
|
||||
'name': 'Open Cases',
|
||||
'key2': 'tree_but_open',
|
||||
'model': 'ir.ui.menu',
|
||||
'res_id': menu_id,
|
||||
'value': 'ir.actions.act_window,%d'%action_id,
|
||||
'object': True
|
||||
})
|
||||
return True
|
||||
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
if not len(ids):
|
||||
return []
|
||||
|
@ -963,4 +856,4 @@ class res_users(osv.osv):
|
|||
|
||||
res_users()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -31,6 +31,7 @@ from tools.translate import _
|
|||
import tools
|
||||
from osv import fields,osv,orm
|
||||
from osv.orm import except_orm
|
||||
|
||||
class crm_job(osv.osv):
|
||||
_name = "crm.job"
|
||||
_description = "Job Cases"
|
||||
|
|
|
@ -34,15 +34,11 @@
|
|||
<page string="Case section">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="active" select="2"/>
|
||||
<field name="user_id" select="2"/>
|
||||
<field name="active" select="2"/>
|
||||
<field name="parent_id" select="2" widget="selection"/>
|
||||
<group colspan="2" >
|
||||
<field name="allow_unlink" select="2"/>
|
||||
<field name="calendar" select="2"/>
|
||||
</group>
|
||||
<field name="reply_to" select="2"/>
|
||||
<field name="allow_unlink" select="2"/>
|
||||
<field name="reply_to" select="2"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
|
|
@ -47,7 +47,10 @@
|
|||
<field name="view_type">tree</field>
|
||||
<field name="domain">[('parent_id','=',False)]</field>
|
||||
</record>
|
||||
<menuitem action="open_module_tree_department_tree" id="menu_department_tree" parent="base.menu_users"/>
|
||||
<menuitem
|
||||
action="open_module_tree_department_tree"
|
||||
id="menu_department_tree"
|
||||
parent="hr.menu_hr_employee"/>
|
||||
|
||||
<record id="open_module_tree_department" model="ir.actions.act_window">
|
||||
<field name="name">Departments</field>
|
||||
|
@ -55,7 +58,10 @@
|
|||
<field name="view_type">form</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="open_module_tree_department" id="menu_department_def" parent="hr.menu_department_tree"/>
|
||||
<menuitem
|
||||
action="open_module_tree_department"
|
||||
id="menu_department_def"
|
||||
parent="hr.menu_hr_employee"/>
|
||||
|
||||
<!-- res.users inherit -->
|
||||
<record model="ir.ui.view" id="view_users_form_inherit">
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem icon="terp-hr" id="menu_hr_root" name="Human Resources"/>
|
||||
<menuitem
|
||||
icon="terp-hr"
|
||||
id="menu_hr_root"
|
||||
name="Human Resources"/>
|
||||
<menuitem
|
||||
id="menu_hr_reporting"
|
||||
name="Reporting"
|
||||
|
@ -11,8 +14,17 @@
|
|||
id="menu_hr_configuration"
|
||||
name="Configuration"
|
||||
parent="hr.menu_hr_root"
|
||||
sequence="5" groups="group_hr_manager"/>
|
||||
|
||||
sequence="50" groups="group_hr_manager"/>
|
||||
<menuitem
|
||||
id="menu_hr_employee"
|
||||
sequence="1"
|
||||
name="Human Resources"
|
||||
parent="hr.menu_hr_root"/>
|
||||
<menuitem
|
||||
id="menu_hr_time"
|
||||
name="Time Tracking"
|
||||
parent="hr.menu_hr_root"/>
|
||||
|
||||
<!--
|
||||
==========
|
||||
Employee
|
||||
|
@ -103,26 +115,9 @@
|
|||
</record>
|
||||
<menuitem
|
||||
id="menu_open_view_employee_list"
|
||||
name="Employees"
|
||||
action="open_view_employee_list"
|
||||
groups="group_hr_manager"
|
||||
parent="hr.menu_hr_root"/>
|
||||
|
||||
<menuitem
|
||||
action="open_view_employee_tree"
|
||||
id="menu_open_view_employee_tree"
|
||||
parent="menu_open_view_employee_list"/>
|
||||
|
||||
<record id="open_view_employee_list_my" model="ir.actions.act_window">
|
||||
<field name="name">All Employees</field>
|
||||
<field name="res_model">hr.employee</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
</record>
|
||||
<menuitem
|
||||
action="open_view_employee_list_my"
|
||||
id="menu_open_view_employee_list_my"
|
||||
parent="menu_open_view_employee_list"/>
|
||||
parent="hr.menu_hr_employee"/>
|
||||
|
||||
<!--
|
||||
=======================
|
||||
|
@ -181,12 +176,20 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="edit_workgroup" model="ir.actions.act_window">
|
||||
<field name="name">Working Time Categories</field>
|
||||
<field name="name">Working Schedules</field>
|
||||
<field name="res_model">hr.timesheet.group</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
</record>
|
||||
<menuitem action="edit_workgroup" id="menu_edit_workgroup" parent="hr.menu_hr_configuration"/>
|
||||
<menuitem
|
||||
name="Employees"
|
||||
id="menu_hr_configuration_employee"
|
||||
parent="hr.menu_hr_configuration"/>
|
||||
|
||||
<menuitem
|
||||
action="edit_workgroup"
|
||||
id="menu_edit_workgroup"
|
||||
parent="hr.menu_hr_configuration"/>
|
||||
|
||||
<record id="view_timesheet_tree" model="ir.ui.view">
|
||||
<field name="name">hr.timesheet.tree</field>
|
||||
|
@ -262,7 +265,10 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="open_view_categ_form" id="menu_view_employee_category_form" parent="hr.menu_hr_configuration"/>
|
||||
<menuitem
|
||||
action="open_view_categ_form"
|
||||
id="menu_view_employee_category_form"
|
||||
parent="hr.menu_hr_configuration_employee"/>
|
||||
|
||||
<record id="open_view_categ_tree" model="ir.actions.act_window">
|
||||
<field name="name">Categories structure</field>
|
||||
|
@ -289,8 +295,5 @@
|
|||
<field eval="'ir.actions.act_window,%d'%hr_employee_normal_action_tree" name="value"/>
|
||||
<field eval="True" name="object"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="open_view_categ_tree" id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="view_attendance_form" model="ir.ui.view">
|
||||
<field name="name">hr.attendance.form</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
|
@ -48,8 +48,9 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem id="menu_hr_attendance" name="Attendances" parent="hr.menu_hr_root"
|
||||
<menuitem id="menu_hr_attendance" name="Attendances" parent="hr.menu_hr_time"
|
||||
groups="group_hr_attendance"/>
|
||||
|
||||
<menuitem action="open_view_attendance" id="menu_open_view_attendance"
|
||||
parent="menu_hr_attendance" groups="hr.group_hr_manager"/>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<wizard id="print_week" keyword="client_print_multi" model="hr.employee" name="hr.attendance.print_week" string="Print Timesheet by week"/>
|
||||
<wizard id="print_month" keyword="client_print_multi" model="hr.employee" name="hr.attendance.print_month" string="Print Timesheet by month"/>
|
||||
|
||||
<menuitem action="si_so" id="menu_si_so" parent="menu_hr_attendance" type="wizard"
|
||||
<menuitem action="si_so" id="menu_si_so" parent="hr.menu_hr_time" type="wizard"
|
||||
groups="group_hr_attendance"/>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -60,16 +60,22 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
</record>
|
||||
<menuitem id="next_id_56" name="Contract" parent="hr.menu_hr_configuration"/><menuitem action="action_hr_contract_wage_type" id="hr_menu_contract_wage_type" parent="next_id_56"/>
|
||||
|
||||
<menuitem
|
||||
id="next_id_56"
|
||||
name="Contracts"
|
||||
parent="hr.menu_hr_configuration"/>
|
||||
<menuitem action="action_hr_contract_wage_type" id="hr_menu_contract_wage_type" parent="next_id_56"/>
|
||||
|
||||
<record id="action_hr_contract_wage_type_period" model="ir.actions.act_window">
|
||||
<field name="name">Wage period</field>
|
||||
<field name="res_model">hr.contract.wage.type.period</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<menuitem action="action_hr_contract_wage_type_period" id="hr_menu_contract_wage_type_period" parent="hr_contract.next_id_56"/>
|
||||
|
||||
|
||||
<menuitem
|
||||
action="action_hr_contract_wage_type_period"
|
||||
id="hr_menu_contract_wage_type_period"
|
||||
parent="hr_contract.next_id_56"/>
|
||||
|
||||
<record id="hr_hr_employee_view_form2" model="ir.ui.view">
|
||||
<field name="name">hr.hr.employee.view.form2</field>
|
||||
<field name="model">hr.employee</field>
|
||||
|
@ -138,8 +144,10 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_hr_marital_status" id="hr_menu_marital_status" parent="hr.menu_hr_configuration"/>
|
||||
|
||||
<menuitem
|
||||
action="action_hr_marital_status"
|
||||
id="hr_menu_marital_status"
|
||||
parent="hr.menu_hr_configuration_employee"/>
|
||||
<record id="hr_contract_view_form" model="ir.ui.view">
|
||||
<field name="name">hr.contract.view.form</field>
|
||||
<field name="model">hr.contract</field>
|
||||
|
@ -203,9 +211,8 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Contract" id="menu_hr_contract" parent="hr.menu_hr_root"/>
|
||||
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="menu_hr_contract"/>
|
||||
|
||||
|
||||
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_employee"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -104,18 +104,18 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Expense">
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My Expense" domain="[('user_id','=',uid)]" separator="1" help="Expenses Related to Current User"/>
|
||||
<field name="state" select="1">
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" help="Confirmed Expense"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','accepted')]" help="Accepted Expense"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','invoiced')]" help="Invoiced Expense"/>
|
||||
</field>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My Expense" domain="[('user_id','=',uid)]" separator="1" help="Expenses Related to Current User"/>
|
||||
<field name="state" select="1">
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" help="Confirmed Expense"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','accepted')]" help="Accepted Expense"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','invoiced')]" help="Invoiced Expense"/>
|
||||
</field>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -126,23 +126,21 @@
|
|||
<field name="search_view_id" ref="view_hr_expense_filter"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="next_id_49" name="Expenses"
|
||||
parent="hr.menu_hr_root"/>
|
||||
|
||||
<menuitem id="menu_expenses" name="Expenses"
|
||||
parent="hr.menu_hr_root"/>
|
||||
<menuitem action="expense_all" id="menu_expense_all"
|
||||
parent="next_id_49" groups="hr.group_hr_manager"/>
|
||||
|
||||
parent="menu_expenses" groups="hr.group_hr_manager"/>
|
||||
<record id="view_product_hr_expense_form" model="ir.ui.view">
|
||||
<field name="name">product.product.expense.form</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field groups="base.group_extended" name="rental" position="after">
|
||||
<field name="hr_expense_ok"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<field name="name">product.product.expense.form</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field groups="base.group_extended" name="rental" position="after">
|
||||
<field name="hr_expense_ok"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<wizard string="Print Summary of Holidays"
|
||||
name="hr.holidays.summary"
|
||||
id="holidays_summary"/>
|
||||
<data>
|
||||
<wizard string="Print Summary of Holidays"
|
||||
name="hr.holidays.summary"
|
||||
id="holidays_summary"/>
|
||||
|
||||
<menuitem name="Print Summary of Holidays" parent="hr.menu_hr_reporting"
|
||||
action="holidays_summary"
|
||||
type="wizard"
|
||||
id="menu_holidays_summary"/>
|
||||
<menuitem name="Print Summary of Holidays"
|
||||
parent="hr.menu_hr_reporting"
|
||||
action="holidays_summary"
|
||||
type="wizard"
|
||||
id="menu_holidays_summary"/>
|
||||
|
||||
<!-- restrict menu access to HR Manager -->
|
||||
<record model='ir.ui.menu' id="menu_holidays_summary">
|
||||
<field eval="[(6,0,[ref('hr.group_hr_manager')])]" name="groups_id"/>
|
||||
</record>
|
||||
<!-- restrict menu access to HR Manager -->
|
||||
<record model='ir.ui.menu' id="menu_holidays_summary">
|
||||
<field eval="[(6,0,[ref('hr.group_hr_manager')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<wizard string="Print Summary of Employee's Holidays"
|
||||
model="hr.employee" name="hr.holidays.summary.employee"
|
||||
keyword="client_print_multi" id="wizard_holidays_summary" />
|
||||
</data>
|
||||
<wizard string="Print Summary of Employee's Holidays"
|
||||
model="hr.employee" name="hr.holidays.summary.employee"
|
||||
keyword="client_print_multi" id="wizard_holidays_summary" />
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -10,18 +10,18 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Leave">
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My Leaves" domain="[('user_id','=',uid)]" separator="1" help="Leaves Related to Current User"/>
|
||||
<group col='6' colspan='4'>
|
||||
<filter icon="gtk-execute" string="My Leaves" domain="[('user_id','=',uid)]" separator="1" help="Leaves Related to Current User"/>
|
||||
<filter icon="gtk-execute" string="My Departments Leaves" domain="[('user_id','child_of',[uid])]" help="Leaves Related to Department"/>
|
||||
<field name="state" select="1">
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" help="Confirmed Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','refuse')]" help="Refused Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','validate')]" help="Validated Holidays"/>
|
||||
</field>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
<field name="state" select="1">
|
||||
<filter icon="terp-hr" domain="[('state','=','confirm')]" help="Confirmed Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','refuse')]" help="Refused Holidays"/>
|
||||
<filter icon="terp-hr" domain="[('state','=','validate')]" help="Validated Holidays"/>
|
||||
</field>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -146,12 +146,12 @@
|
|||
|
||||
|
||||
<menuitem
|
||||
name="Holidays Management"
|
||||
name="Leaves"
|
||||
parent="hr.menu_hr_root"
|
||||
id="menu_open_ask_holidays"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="open_ask_holidays">
|
||||
<field name="name">Leave Request(s)</field>
|
||||
<field name="name">Leave Request(s)</field>
|
||||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="edit_holiday_new"/>
|
||||
|
@ -159,7 +159,7 @@
|
|||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
|
||||
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_holiday"/>
|
||||
|
@ -173,22 +173,22 @@
|
|||
<field name="act_window_id" ref="open_ask_holidays"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Holidays Requests"
|
||||
parent="menu_open_ask_holidays"
|
||||
id="menu_open_ask_holidays_new"
|
||||
action="open_ask_holidays"/>
|
||||
<menuitem
|
||||
name="Leaves Requests"
|
||||
parent="menu_open_ask_holidays"
|
||||
id="menu_open_ask_holidays_new"
|
||||
action="open_ask_holidays"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="open_allocation_holidays">
|
||||
<field name="name">Allocation Request(s)</field>
|
||||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'type':'add'}</field>
|
||||
<field name="domain">[('type','=','add')]</field>
|
||||
<field name="view_id" ref="allocation_leave_new" />
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="open_allocation_holidays">
|
||||
<field name="name">Allocation Request(s)</field>
|
||||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'type':'add'}</field>
|
||||
<field name="domain">[('type','=','add')]</field>
|
||||
<field name="view_id" ref="allocation_leave_new" />
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_open_allocation_holidays_tree">
|
||||
<record model="ir.actions.act_window.view" id="action_open_allocation_holidays_tree">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_holiday"/>
|
||||
|
@ -203,10 +203,10 @@
|
|||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Allocation Requests"
|
||||
parent="menu_open_ask_holidays"
|
||||
id="menu_open_allocation_holidays"
|
||||
action="open_allocation_holidays"/>
|
||||
name="Recuperation Days Requests"
|
||||
parent="menu_open_ask_holidays"
|
||||
id="menu_open_allocation_holidays"
|
||||
action="open_allocation_holidays"/>
|
||||
|
||||
<!-- holidays status -->
|
||||
<record model="ir.ui.view" id="edit_holiday_status_form">
|
||||
|
@ -236,17 +236,22 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="open_view_holiday_status" model="ir.actions.act_window">
|
||||
<field name="name">Leave Type</field>
|
||||
<field name="name">Leaves Type</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">hr.holidays.status</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Leaves"
|
||||
id="menu_leaves_config"
|
||||
parent="hr.menu_hr_configuration"/>
|
||||
|
||||
<menuitem
|
||||
action="open_view_holiday_status"
|
||||
id="menu_open_view_holiday_status"
|
||||
parent="hr.menu_hr_configuration"/>
|
||||
parent="menu_leaves_config"/>
|
||||
|
||||
<!-- Shortcuts -->
|
||||
<act_window name="My Holiday Requests"
|
||||
|
|
|
@ -2,101 +2,101 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Roles definition -->
|
||||
<!-- Roles definition -->
|
||||
|
||||
<record model="res.roles" id="HR_holidays">
|
||||
<field name="name">Leaves Manager</field>
|
||||
</record>
|
||||
<record model="res.roles" id="HR_holidays">
|
||||
<field name="name">Leaves Manager</field>
|
||||
</record>
|
||||
|
||||
<!-- Workflow definition -->
|
||||
<!-- Workflow definition -->
|
||||
|
||||
<record model="workflow" id="wkf_holidays">
|
||||
<field name="name">hr.wkf.holidays</field>
|
||||
<field name="osv">hr.holidays</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
<record model="workflow" id="wkf_holidays">
|
||||
<field name="name">hr.wkf.holidays</field>
|
||||
<field name="osv">hr.holidays</field>
|
||||
<field name="on_create">True</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_draft">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">draft</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_draft">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">draft</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_confirm">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">confirm</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_confirm()</field>
|
||||
<field name="split_mode">OR</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_confirm">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">confirm</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_confirm()</field>
|
||||
<field name="split_mode">OR</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_validate">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">validate</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_validate()</field>
|
||||
</record>
|
||||
<record model="workflow.activity" id="act_validate">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">validate</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_validate()</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_refuse">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">refuse</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_refuse()</field>
|
||||
<record model="workflow.activity" id="act_refuse">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">refuse</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">holidays_refuse()</field>
|
||||
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_cancel">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">cancel</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="kind">stopall</field>
|
||||
<field name="action">holidays_cancel()</field>
|
||||
<field name="join_mode">XOR</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
workflow transition
|
||||
-->
|
||||
<record model="workflow.activity" id="act_cancel">
|
||||
<field name="wkf_id" ref="wkf_holidays" />
|
||||
<field name="name">cancel</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="kind">stopall</field>
|
||||
<field name="action">holidays_cancel()</field>
|
||||
<field name="join_mode">XOR</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
workflow transition
|
||||
-->
|
||||
|
||||
<record model="workflow.transition" id="t1">
|
||||
<field name="act_from" ref="act_draft" />
|
||||
<field name="act_to" ref="act_confirm" />
|
||||
<field name="signal">confirm</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t2">
|
||||
<field name="act_from" ref="act_confirm" />
|
||||
<field name="act_to" ref="act_validate" />
|
||||
<field name="signal">validate</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
<record model="workflow.transition" id="t1">
|
||||
<field name="act_from" ref="act_draft" />
|
||||
<field name="act_to" ref="act_confirm" />
|
||||
<field name="signal">confirm</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t2">
|
||||
<field name="act_from" ref="act_confirm" />
|
||||
<field name="act_to" ref="act_validate" />
|
||||
<field name="signal">validate</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t3">
|
||||
<field name="act_from" ref="act_confirm" />
|
||||
<field name="act_to" ref="act_refuse" />
|
||||
<field name="signal">refuse</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
<record model="workflow.transition" id="t3">
|
||||
<field name="act_from" ref="act_confirm" />
|
||||
<field name="act_to" ref="act_refuse" />
|
||||
<field name="signal">refuse</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t4">
|
||||
<field name="act_from" ref="act_validate" />
|
||||
<field name="act_to" ref="act_cancel" />
|
||||
<field name="signal">cancel</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
<record model="workflow.transition" id="t4">
|
||||
<field name="act_from" ref="act_validate" />
|
||||
<field name="act_to" ref="act_cancel" />
|
||||
<field name="signal">cancel</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t5">
|
||||
<field name="act_from" ref="act_refuse" />
|
||||
<field name="act_to" ref="act_cancel" />
|
||||
<field name="signal">cancel</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
<record model="workflow.transition" id="t5">
|
||||
<field name="act_from" ref="act_refuse" />
|
||||
<field name="act_to" ref="act_cancel" />
|
||||
<field name="signal">cancel</field>
|
||||
<field name="role_id" ref="HR_holidays"/>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t7">
|
||||
<field name="act_from" ref="act_cancel" />
|
||||
<field name="act_to" ref="act_draft" />
|
||||
<field name="signal">set_to_draft</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="t7">
|
||||
<field name="act_from" ref="act_cancel" />
|
||||
<field name="act_to" ref="act_draft" />
|
||||
<field name="signal">set_to_draft</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
<report auto="False" id="report_user_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet" string="Employee timesheet" xsl="hr_timesheet/report/user_timesheet.xsl"/>
|
||||
|
||||
<wizard id="wizard_hr_timesheet" menu="False" model="hr.employee" name="hr.analytical.timesheet" string="Employee Timesheet"/>
|
||||
<menuitem id="next_id_48" name="Timesheet" parent="hr.menu_hr_reporting"/><menuitem action="wizard_hr_timesheet" id="menu_wizard_hr_timesheet" parent="next_id_48" type="wizard"
|
||||
<menuitem id="next_id_48" name="Timesheet" parent="hr.menu_hr_reporting"/>
|
||||
<menuitem action="wizard_hr_timesheet" id="menu_wizard_hr_timesheet" parent="next_id_48" type="wizard"
|
||||
groups="hr.group_hr_manager"
|
||||
/>
|
||||
|
||||
|
|
|
@ -60,19 +60,8 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_act_hr_timesheet_line_today_form" parent="hr.menu_hr_root" name="Working Hours" />
|
||||
<menuitem id="menu_act_hr_timesheet_line_today_form" parent="hr.menu_hr_time" name="Working Hours" />
|
||||
|
||||
<record id="act_hr_timesheet_line_me_all_form" model="ir.actions.act_window">
|
||||
<field name="name">My Working Hours</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">hr.analytic.timesheet</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
<field name="filter" eval="True"/>
|
||||
<field name="search_view_id" ref="hr_timesheet_line_search"/>
|
||||
</record>
|
||||
|
||||
<record id="act_hr_timesheet_line_evry1_all_form" model="ir.actions.act_window">
|
||||
<field name="name">Working Hours</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<wizard id="si_so" model="hr.employee" name="hr_timesheet.si_so" string="Sign in / Sign out by project"/>
|
||||
<menuitem action="si_so" id="menu_si_so" parent="hr_attendance.menu_hr_attendance" type="wizard"/>
|
||||
<menuitem action="si_so" id="menu_si_so" parent="hr.menu_hr_time" type="wizard"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
groups="account.group_account_manager"/>
|
||||
|
||||
<menuitem action="account_analytic_profit"
|
||||
id="print_account_analytic_profit"
|
||||
parent="hr.menu_hr_reporting"
|
||||
type="wizard"
|
||||
groups="hr.group_hr_manager"/>
|
||||
id="print_account_analytic_profit"
|
||||
parent="hr.menu_hr_reporting"
|
||||
type="wizard"
|
||||
groups="hr.group_hr_manager"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="40"/>
|
||||
<record id="account_analytic_account_form_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.invoice.form</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
|
@ -106,7 +105,10 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('to_invoice','<>',False)]</field>
|
||||
</record>
|
||||
<menuitem action="action_hr_analytic_timesheet_open_tree" id="menu_hr_analytic_timesheet_tree" parent="account.menu_finance_periodical_processing"/>
|
||||
<menuitem
|
||||
action="action_hr_analytic_timesheet_open_tree"
|
||||
id="menu_hr_analytic_timesheet_tree"
|
||||
parent="account.menu_finance_periodical_processing"/>
|
||||
|
||||
<record id="action_hr_analytic_timesheet_tree_invoiced" model="ir.actions.act_window">
|
||||
<field name="name">Uninvoiced Entries</field>
|
||||
|
@ -164,7 +166,10 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_hr_timesheet_invoice_factor_tree"/>
|
||||
</record>
|
||||
<menuitem action="action_hr_timesheet_invoice_factor_form" id="hr_timesheet_invoice_factor_view" parent="account.account_analytic_def_account"/>
|
||||
<menuitem
|
||||
action="action_hr_timesheet_invoice_factor_form"
|
||||
id="hr_timesheet_invoice_factor_view"
|
||||
parent="account.account_analytic_def_account"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -200,9 +200,9 @@
|
|||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_hr_timesheet_sheet_filter"/>
|
||||
</record>
|
||||
<menuitem id="next_id_60" name="Timesheets" parent="hr.menu_hr_root"/>
|
||||
<menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="next_id_60"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<menuitem
|
||||
action="act_hr_timesheet_sheet_form"
|
||||
id="menu_act_hr_timesheet_sheet_form" parent="hr.menu_hr_time"/>
|
||||
|
||||
<!--
|
||||
Company inheritancy
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
'name': 'eMail Gateway',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/eMail Gate',
|
||||
'description': """The generic email gateway system for the synchronisation interface
|
||||
'description': """
|
||||
The generic email gateway system for the synchronisation interface
|
||||
between mails and Open Objects.
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
|
|
|
@ -195,11 +195,10 @@ class mail_gateway(osv.osv):
|
|||
s = decode_header(s)
|
||||
return ''.join(map(lambda x:x[0].decode(x[1] or 'ascii', 'replace'), s))
|
||||
|
||||
def msg_new(self, cr, uid, msg, model):
|
||||
message = self.msg_body_get(msg)
|
||||
def msg_new(self, cr, uid, msg, model):
|
||||
message = self.msg_body_get(msg)
|
||||
res_model = self.pool.get(model)
|
||||
|
||||
res_id = res_model.msg_new(cr, uid, msg)
|
||||
res_id = res_model.msg_new(cr, uid, msg)
|
||||
if res_id:
|
||||
attachments = message['attachment']
|
||||
|
||||
|
@ -376,5 +375,3 @@ class mail_gateway_history(osv.osv):
|
|||
}
|
||||
_order = 'id desc'
|
||||
mail_gateway_history()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
Loading…
Reference in New Issue