@@ -49,9 +49,14 @@ class crm_case_stage(osv.osv):
|
||||
_name = "crm.case.stage"
|
||||
_description = "Stage of case"
|
||||
_rec_name = 'name'
|
||||
_order = "sequence"
|
||||
_columns = {
|
||||
'name': fields.char('Stage Name', size=64, required=True, translate=True),
|
||||
'section_id': fields.many2one('crm.case.section', 'Case Section'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
}
|
||||
_defaults = {
|
||||
'sequence': lambda *args: 1
|
||||
}
|
||||
crm_case_stage()
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Stages">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
<field name="section_id"/>
|
||||
</tree>
|
||||
@@ -85,6 +86,7 @@
|
||||
<form string="Stage">
|
||||
<field name="name" select="1"/>
|
||||
<field name="section_id" select="1"/>
|
||||
<field name="sequence"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -158,6 +158,7 @@ class invoice_create(wizard.interface):
|
||||
pool.get('account.invoice.line').create(cr, uid, curr_line)
|
||||
strids = ','.join(map(str, data['ids']))
|
||||
cr.execute("update account_analytic_line set invoice_id=%%s WHERE account_id = %%s and id IN (%s)" % strids, (last_invoice,account.id,))
|
||||
pool.get('account.invoice').button_reset_taxes(cr, uid, [last_invoice], context)
|
||||
|
||||
return {
|
||||
'domain': "[('id','in', ["+','.join(map(str,invoices))+"])]",
|
||||
|
||||
@@ -437,23 +437,21 @@ class hr_attendance(osv.osv):
|
||||
|
||||
def _sheet(self, cursor, user, ids, name, args, context):
|
||||
sheet_obj = self.pool.get('hr_timesheet_sheet.sheet')
|
||||
|
||||
cursor.execute('SELECT a.id, COALESCE(MAX(s.id), 0) \
|
||||
cursor.execute("SELECT a.id, COALESCE(MAX(s.id), 0) \
|
||||
FROM hr_timesheet_sheet_sheet s \
|
||||
LEFT JOIN (hr_attendance a \
|
||||
LEFT JOIN hr_employee e \
|
||||
ON (a.employee_id = e.id)) \
|
||||
ON (s.date_to >= a.name \
|
||||
AND s.date_from <= a.name \
|
||||
ON (s.date_to >= to_date(to_char(a.name, 'YYYY-MM-dd'),'YYYY-MM-dd') \
|
||||
AND s.date_from <= to_date(to_char(a.name, 'YYYY-MM-dd'),'YYYY-MM-dd') \
|
||||
AND s.user_id = e.user_id) \
|
||||
WHERE a.id in (' + ','.join([str(x) for x in ids]) + ') \
|
||||
GROUP BY a.id')
|
||||
WHERE a.id in (" + ",".join([str(x) for x in ids]) + ") \
|
||||
GROUP BY a.id")
|
||||
res = dict(cursor.fetchall())
|
||||
sheet_names = {}
|
||||
for sheet_id, name in sheet_obj.name_get(cursor, user, res.values(),
|
||||
context=context):
|
||||
sheet_names[sheet_id] = name
|
||||
|
||||
for line_id in {}.fromkeys(ids):
|
||||
sheet_id = res.get(line_id, False)
|
||||
if sheet_id:
|
||||
@@ -527,11 +525,11 @@ class hr_attendance(osv.osv):
|
||||
if 'sheet_id' in context:
|
||||
ts = self.pool.get('hr_timesheet_sheet.sheet').browse(cr, uid, context['sheet_id'])
|
||||
if ts.state not in ('draft', 'new'):
|
||||
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
|
||||
raise osv.except_osv(_('Error !'), _('You cannot modify an entry in a confirmed timesheet !'))
|
||||
res = super(hr_attendance,self).create(cr, uid, vals, context=context)
|
||||
if 'sheet_id' in context:
|
||||
if context['sheet_id'] != self.browse(cr, uid, res, context=context).sheet_id.id:
|
||||
raise osv.except_osv(_('UserError'), _('You can not enter an attendance ' \
|
||||
raise osv.except_osv(_('UserError'), _('You cannot enter an attendance ' \
|
||||
'date outside the current timesheet dates!'))
|
||||
return res
|
||||
|
||||
@@ -545,14 +543,14 @@ class hr_attendance(osv.osv):
|
||||
if 'sheet_id' in context:
|
||||
for attendance in self.browse(cr, uid, ids, context=context):
|
||||
if context['sheet_id'] != attendance.sheet_id.id:
|
||||
raise osv.except_osv(_('UserError'), _('You can not enter an attendance ' \
|
||||
raise osv.except_osv(_('UserError'), _('You cannot enter an attendance ' \
|
||||
'date outside the current timesheet dates!'))
|
||||
return res
|
||||
|
||||
def _check(self, cr, uid, ids):
|
||||
for att in self.browse(cr, uid, ids):
|
||||
if att.sheet_id and att.sheet_id.state not in ('draft', 'new'):
|
||||
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
|
||||
raise osv.except_osv(_('Error !'), _('You cannot modify an entry in a confirmed timesheet !'))
|
||||
return True
|
||||
|
||||
hr_attendance()
|
||||
|
||||
@@ -80,7 +80,7 @@ class project_work(osv.osv):
|
||||
if line_id in list_avail_ids:
|
||||
obj = self.pool.get('hr.analytic.timesheet')
|
||||
if 'name' in vals:
|
||||
vals_line['name'] = '%s: %s' % (task.name, vals['name'] or '/')
|
||||
vals_line['name'] = '%s: %s' % (tools.ustr(task.name), tools.ustr(vals['name']) or '/')
|
||||
if 'user_id' in vals:
|
||||
vals_line['user_id'] = vals['user_id']
|
||||
if 'date' in vals:
|
||||
|
||||
@@ -17,3 +17,5 @@
|
||||
"access_sale_order_line_mrp_user","sale.order.line mrp worker","model_sale_order_line","mrp.group_mrp_user",1,0,0,0
|
||||
"access_sale_order_stock_worker","sale.order stock worker","model_sale_order","stock.group_stock_user",1,0,0,0
|
||||
"access_sale_order_line_stock_worker","sale.order.line stock worker","model_sale_order_line","stock.group_stock_user",1,0,0,0
|
||||
"access_sale_order_manager","sale.order.manager","model_sale_order","group_sale_manager",1,1,1,1
|
||||
"access_sale_order_line_manager","sale.order.line.manager","model_sale_order_line","group_sale_manager",1,1,1,1
|
||||
|
||||
|
Reference in New Issue
Block a user