bzr revid: fp@tinyerp.com-20090331173206-g1gx8lidptflhbwb
This commit is contained in:
Fabien Pinckaers
2009-03-31 19:32:06 +02:00
6 changed files with 20 additions and 12 deletions
+5
View File
@@ -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:
+2
View File
@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
17 access_sale_order_line_mrp_user sale.order.line mrp worker model_sale_order_line mrp.group_mrp_user 1 0 0 0
18 access_sale_order_stock_worker sale.order stock worker model_sale_order stock.group_stock_user 1 0 0 0
19 access_sale_order_line_stock_worker sale.order.line stock worker model_sale_order_line stock.group_stock_user 1 0 0 0
20 access_sale_order_manager sale.order.manager model_sale_order group_sale_manager 1 1 1 1
21 access_sale_order_line_manager sale.order.line.manager model_sale_order_line group_sale_manager 1 1 1 1