diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml index e5912a8b763..c8b0dd2c132 100644 --- a/addons/account/account_menuitem.xml +++ b/addons/account/account_menuitem.xml @@ -7,14 +7,14 @@ - - + + - + @@ -31,17 +31,17 @@ - + - + - + diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index c43a1edebeb..890d4f505ea 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -38,7 +38,6 @@ "access_account_invoice_uinvoice","account.invoice","model_account_invoice","account.group_account_invoice",1,1,1,1 "access_account_invoice_line_uinvoice","account.invoice.line","model_account_invoice_line","account.group_account_invoice",1,1,1,1 "access_account_invoice_tax_uinvoice","account.invoice.tax","model_account_invoice_tax","account.group_account_invoice",1,1,1,1 -"access_account_analytic_line_uinvoice","account.analytic.line","model_account_analytic_line","account.group_account_manager",1,0,0,0 "access_account_move_uinvoice","account.move","model_account_move","account.group_account_invoice",1,0,0,0 "access_account_move_line_uinvoice","account.move.line invoice","model_account_move_line","account.group_account_invoice",1,1,1,1 "access_account_move_reconcile_uinvoice","account.move.reconcile","model_account_move_reconcile","account.group_account_invoice",1,1,1,1 @@ -155,3 +154,7 @@ "access_res_partner_address_invoice","res.partner.address invoice","base.model_res_partner_address","account.group_account_invoice",1,1,1,1 "access_account_invoice_line_system","account.invoice.line system","model_account_invoice_line","base.group_system",1,0,0,0 "access_account_analytic_accountant","account.analytic.account accountant","analytic.model_account_analytic_account","account.group_account_user",1,1,1,1 +"access_account_account_type_invoice","account.account.type invoice","model_account_account_type","account.group_account_invoice",1,1,1,1 +"access_report_account_receivable_invoice","report.account.receivable.invoice","model_report_account_receivable","account.group_account_invoice",1,1,1,1 +"access_report_account_receivable_user","report.account.receivable.user","model_report_account_receivable","account.group_account_user",1,1,1,1 +"access_account_sequence_fiscal_year_invoice","account.sequence.fiscalyear invoice","model_account_sequence_fiscalyear","account.group_account_invoice",1,1,1,1 diff --git a/addons/account_followup/security/ir.model.access.csv b/addons/account_followup/security/ir.model.access.csv index 3e62e778b7c..ccf257b3ecf 100644 --- a/addons/account_followup/security/ir.model.access.csv +++ b/addons/account_followup/security/ir.model.access.csv @@ -1,5 +1,4 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_account_followup_stat","account_followup.stat","model_account_followup_stat","account.group_account_user",1,0,0,0 "access_account_followup_followup","account_followup.followup","model_account_followup_followup","base.group_system",1,1,1,1 "access_account_followup_followup_line","account_followup.followup.line","model_account_followup_followup_line","account.group_account_user",1,0,0,0 "access_account_followup_stat_manager","account_followup.stat.manager","model_account_followup_stat","account.group_account_manager",1,1,1,1 @@ -7,3 +6,4 @@ "access_account_followup_followup_line_manager","account_followup.followup.line.manager","model_account_followup_followup_line","account.group_account_manager",1,1,1,1 "access_account_followup_followup_line_system","account_followup.followup.line system","model_account_followup_followup_line","base.group_system",1,1,1,1 "access_account_followup_followup_accountant","account_followup.followup user","model_account_followup_followup","account.group_account_user",1,0,0,0 +"access_account_followup_stat_invoice","account_followup.stat.invoice","model_account_followup_stat","account.group_account_invoice",1,1,1,1 diff --git a/addons/account_payment/security/ir.model.access.csv b/addons/account_payment/security/ir.model.access.csv index 168083eb9de..fca15213f1d 100644 --- a/addons/account_payment/security/ir.model.access.csv +++ b/addons/account_payment/security/ir.model.access.csv @@ -11,3 +11,5 @@ "access_payment_order_system","payment.order system","model_payment_order","base.group_system",1,0,0,0 "access_payment_mode_system","payment.mode system","model_payment_mode","base.group_system",1,1,1,1 "access_payment_type_system","payment.type system","model_payment_type","base.group_system",1,1,1,1 +"access_payment_order_invoice","payment.order invoice","model_payment_order","account.group_account_invoice",1,1,1,1 +"access_payment_line_invoice","payment.line invoice","model_payment_line","account.group_account_invoice",1,1,1,1 diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 769bf0321c0..7bb7d61d8ee 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1154,7 +1154,10 @@ true, it will allow you to hide the event alarm information without removing it. def default_organizer(self, cr, uid, context=None): user_pool = self.pool.get('res.users') user = user_pool.browse(cr, uid, uid, context=context) - return user.user_email or user.name + res = user.name + if user.user_email: + res += " <%s>" %(user.user_email) + return res _defaults = { 'state': 'tentative', diff --git a/addons/caldav/calendar.py b/addons/caldav/calendar.py index 37224fb2f50..3047441834a 100644 --- a/addons/caldav/calendar.py +++ b/addons/caldav/calendar.py @@ -83,6 +83,60 @@ def openobjectid2uid(cr, uidval, oomodel): value = 'OpenObject-%s_%s@%s' % (oomodel, uidval, cr.dbname) return value +def mailto2str(arg): + """Take a dict of mail and convert to string. + """ + ret = [] + if isinstance(arg, dict): + args = [arg,] + else: + args = arg + + for ard in args: + rstr = ard.get('name','') + if ard.get('company',False): + rstr += ' (%s)' % ard.get('company') + if ard.get('email'): + rstr += ' <%s>' % ard.get('email') + ret.append(rstr) + return ', '.join(ret) + +def str2mailto(emailstr, multi=False): + """Split one email string to a dict of name, company, mail parts + + @param multi Return an array, recognize comma-sep + """ + # TODO: move to tools or sth. + mege = re.compile(r'([^\(\<]+) *(\((.*?)\))? *(\< ?(.*?) ?\>)? ?(\((.*?)\))? *$') + + mailz= [emailstr,] + retz = [] + if multi: + mailz = emailstr.split(',') + + for mas in mailz: + m = mege.match(mas.strip()) + if not m: + # one of the rare non-matching strings is "sad" :( + # retz.append({ 'name': mas.strip() }) + # continue + raise ValueError("Invalid email address %r" % mas) + rd = { 'name': m.group(1).strip(), + 'email': m.group(5), } + if m.group(2): + rd['company'] = m.group(3).strip() + elif m.group(6): + rd['company'] = m.group(7).strip() + + if rd['name'].startswith('"') and rd['name'].endswith('"'): + rd['name'] = rd['name'][1:-1] + retz.append(rd) + + if multi: + return retz + else: + return retz[0] + def get_attribute_mapping(cr, uid, calname, context=None): """ Attribute Mapping with Basic calendar fields and lines @param cr: the current row, from the database cursor, @@ -237,9 +291,11 @@ class CalDAV(object): for cal_data in child.getChildren(): if cal_data.name.lower() == 'organizer': - self.ical_set(cal_data.name.lower(), - {'name': cal_data.params.get('CN', ['',])[0]}, - 'value') + dmail = { 'name': cal_data.params.get('CN', ['',])[0], + 'email': cal_data.value.replace('MAILTO:',''), + # TODO: company? + } + self.ical_set(cal_data.name.lower(), mailto2str(dmail), 'value') continue if cal_data.name.lower() == 'attendee': ctx = context.copy() @@ -338,10 +394,11 @@ class CalDAV(object): exdates_updated.append(ex_date) exfield.value = map(parser.parse, exdates_updated) elif field == 'organizer' and data[map_field]: - organizer = data[map_field] + organizer = str2mailto(data[map_field]) event_org = vevent.add('organizer') - event_org.params['CN'] = [organizer] - event_org.value = 'MAILTO:' + (organizer) + event_org.params['CN'] = [organizer['name']] + event_org.value = 'MAILTO:' + (organizer.get('email') or '') + # TODO: company? elif data[map_field]: if map_type in ("char", "text"): if field in ('exdate'): diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py index fe88906c557..5d641cb39c0 100644 --- a/addons/document_webdav/dav_fs.py +++ b/addons/document_webdav/dav_fs.py @@ -129,6 +129,7 @@ class openerp_dav_handler(dav_interface): raise default_exc(err.strerror) except Exception,e: import traceback + if cr: cr.close() self.parent.log_error("Cannot %s: %s", opname, str(e)) self.parent.log_message("Exc: %s",traceback.format_exc()) raise default_exc("Operation failed") diff --git a/addons/email_template/email_template_account_view.xml b/addons/email_template/email_template_account_view.xml index 6ef2d04e57f..d164645aca7 100644 --- a/addons/email_template/email_template_account_view.xml +++ b/addons/email_template/email_template_account_view.xml @@ -2,8 +2,8 @@ - - + + @@ -96,8 +96,8 @@ - + diff --git a/addons/hr_attendance/__openerp__.py b/addons/hr_attendance/__openerp__.py index 383f1dfa8b1..68eb3c20258 100644 --- a/addons/hr_attendance/__openerp__.py +++ b/addons/hr_attendance/__openerp__.py @@ -30,10 +30,10 @@ actions(Sign in/Sign out) performed by them. """, 'author': 'OpenERP SA', - 'depends': ['base', 'hr'], + 'depends': ['hr'], 'update_xml': [ 'security/hr_security.xml', - 'security/ir.model.access.csv', + 'security/ir.model.access.csv', 'hr_attendance_view.xml', 'hr_attendance_wizard.xml', 'hr_attendance_report.xml', diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py index 938df72d4e9..842fe409d12 100644 --- a/addons/hr_attendance/hr_attendance.py +++ b/addons/hr_attendance/hr_attendance.py @@ -34,6 +34,7 @@ class hr_action_reason(osv.osv): _defaults = { 'action_type': 'sign_in', } + hr_action_reason() def _employee_get(obj, cr, uid, context=None): @@ -59,7 +60,7 @@ class hr_attendance(osv.osv): _columns = { 'name': fields.datetime('Date', required=True, select=1), 'action': fields.selection([('sign_in', 'Sign In'), ('sign_out', 'Sign Out'), ('action','Action')], 'Action', required=True), - 'action_desc': fields.many2one("hr.action.reason", "Action reason", domain="[('action_type', '=', action)]", help='Specifies the reason for Signing In/Signing Out in case of extra hours.'), + 'action_desc': fields.many2one("hr.action.reason", "Action Reason", domain="[('action_type', '=', action)]", help='Specifies the reason for Signing In/Signing Out in case of extra hours.'), 'employee_id': fields.many2one('hr.employee', "Employee's Name", required=True, select=True), 'day': fields.function(_day_compute, method=True, type='char', string='Day', store=True, select=1, size=32), } @@ -86,6 +87,7 @@ class hr_attendance(osv.osv): _constraints = [(_altern_si_so, 'Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)', ['action'])] _order = 'name desc' + hr_attendance() class hr_employee(osv.osv): @@ -144,16 +146,14 @@ class hr_employee(osv.osv): raise osv.except_osv(_('Warning'), _('You tried to %s with a date anterior to another event !\nTry to contact the administrator to correct attendances.')%(warning_sign,)) res = {'action': type, 'employee_id': emp['id']} - if dt: res['name'] = dt id = obj_attendance.create(cr, uid, res, context=context) if type != 'action': return id - return True hr_employee() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_attendance/wizard/hr_attendance_bymonth.py b/addons/hr_attendance/wizard/hr_attendance_bymonth.py index f66e7892601..8c41fefcaa6 100644 --- a/addons/hr_attendance/wizard/hr_attendance_bymonth.py +++ b/addons/hr_attendance/wizard/hr_attendance_bymonth.py @@ -29,11 +29,11 @@ class hr_attendance_bymonth(osv.osv_memory): _columns = { 'month': fields.selection([(1, 'January'), (2, 'February'), (3, 'March'), (4, 'April'), (5, 'May'), (6, 'June'), (7, 'July'), (8, 'August'), (9, 'September'), (10, 'October'), (11, 'November'), (12, 'December')], 'Month', required=True), 'year': fields.integer('Year', required=True) - } + } _defaults = { 'month': time.gmtime()[1], 'year': time.gmtime()[0], - } + } def print_report(self, cr, uid, ids, context=None): if context is None: @@ -42,13 +42,13 @@ class hr_attendance_bymonth(osv.osv_memory): 'ids': [], 'model': 'hr.employee', 'form': self.read(cr, uid, ids)[0] - } + } return { 'type': 'ir.actions.report.xml', 'report_name': 'hr.attendance.bymonth', 'datas': datas, - } + } hr_attendance_bymonth() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_attendance/wizard/hr_attendance_byweek.py b/addons/hr_attendance/wizard/hr_attendance_byweek.py index 175ebf8a228..e2b071de66a 100644 --- a/addons/hr_attendance/wizard/hr_attendance_byweek.py +++ b/addons/hr_attendance/wizard/hr_attendance_byweek.py @@ -28,11 +28,11 @@ class hr_attendance_byweek(osv.osv_memory): _columns = { 'init_date': fields.date('Starting Date', required=True), 'end_date': fields.date('Ending Date', required=True) - } + } _defaults = { 'init_date': time.strftime('%Y-%m-%d'), 'end_date': time.strftime('%Y-%m-%d'), - } + } def print_report(self, cr, uid, ids, context=None): if context is None: @@ -41,12 +41,12 @@ class hr_attendance_byweek(osv.osv_memory): 'ids': [], 'model': 'hr.employee', 'form': self.read(cr, uid, ids)[0] - } + } return { 'type': 'ir.actions.report.xml', 'report_name': 'hr.attendance.allweeks', 'datas': datas, - } + } hr_attendance_byweek() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_attendance/wizard/hr_attendance_error.py b/addons/hr_attendance/wizard/hr_attendance_error.py index 449fc4ca5c2..24109b11496 100644 --- a/addons/hr_attendance/wizard/hr_attendance_error.py +++ b/addons/hr_attendance/wizard/hr_attendance_error.py @@ -31,12 +31,12 @@ class hr_attendance_error(osv.osv_memory): 'init_date': fields.date('Starting Date', required=True), 'end_date': fields.date('Ending Date', required=True), 'max_delay': fields.integer('Max. Delay (Min)', required=True) - } + } _defaults = { 'init_date': time.strftime('%Y-%m-%d'), 'end_date': time.strftime('%Y-%m-%d'), 'max_delay': 120, - } + } def print_report(self, cr, uid, ids, context=None): if context is None: @@ -59,13 +59,13 @@ class hr_attendance_error(osv.osv_memory): 'ids': [], 'model': 'hr.employee', 'form': data_error - } + } return { 'type': 'ir.actions.report.xml', 'report_name': 'hr.attendance.error', 'datas': datas, - } + } hr_attendance_error() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py b/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py index 635c25940e1..09f9f9364c5 100644 --- a/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py +++ b/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py @@ -192,4 +192,4 @@ class hr_sign_in_out(osv.osv_memory): hr_sign_in_out() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index 28ab76e8d5e..b376f35b0c2 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -36,12 +36,13 @@ 'depends': ['base'], 'init_xml': [], 'update_xml': [ + 'security/idea_security.xml', + 'security/ir.model.access.csv', 'wizard/idea_post_vote_view.xml', 'idea_view.xml', 'idea_workflow.xml', 'report/report_vote_view.xml', - 'security/idea_security.xml', - 'security/ir.model.access.csv', + ], 'demo_xml': [ "idea_data.xml" diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml index 1020e2d03c1..97f48e5b6f6 100644 --- a/addons/idea/idea_view.xml +++ b/addons/idea/idea_view.xml @@ -383,7 +383,7 @@ + id="menu_idea_vote_stat" action="action_idea_vote_stat" groups="base.group_tool_manager,base.group_tool_user,base.group_system"/> diff --git a/addons/idea/report/report_vote_view.xml b/addons/idea/report/report_vote_view.xml index b78c8c0648c..bdd3ce133c1 100644 --- a/addons/idea/report/report_vote_view.xml +++ b/addons/idea/report/report_vote_view.xml @@ -84,7 +84,7 @@ {'search_default_User':1,'group_by_no_leaf':1,'group_by':[]} - + diff --git a/addons/idea/security/idea_security.xml b/addons/idea/security/idea_security.xml index 29afc0c875f..2bdad417c2f 100644 --- a/addons/idea/security/idea_security.xml +++ b/addons/idea/security/idea_security.xml @@ -13,10 +13,10 @@ Sales / User - + Tools / Manager - + Tools / User diff --git a/addons/idea/security/ir.model.access.csv b/addons/idea/security/ir.model.access.csv index cd6f56cf60e..dae5127cc90 100644 --- a/addons/idea/security/ir.model.access.csv +++ b/addons/idea/security/ir.model.access.csv @@ -9,14 +9,17 @@ "access_report_vote","report.vote","model_report_vote","base.group_user",1,1,1,1 "access_idea_idea_sale_salesman","idea.idea.sale","model_idea_idea","base.group_sale_salesman",1,1,1,1 "access_idea_vote_sale_salesman","idea.vote.sale","model_idea_vote","base.group_sale_salesman",1,1,1,1 -"access_idea_category_user","idea.category user","model_idea_category","base.group_survey_user",1,1,1,1 -"access_idea_idea_user","idea.idea user","model_idea_idea","base.group_survey_user",1,1,1,1 -"access_idea_vote_user","idea.vote user","model_idea_vote","base.group_survey_user",1,1,1,1 -"access_idea_category_manager","idea.category manager","model_idea_category","base.group_survey_manager",1,0,0,0 -"access_idea_idea_manager","idea.idea manager","model_idea_idea","base.group_survey_manager",1,0,0,0 -"access_idea_vote_manager","idea.vote manager","model_idea_vote","base.group_survey_manager",1,0,0,0 -"access_idea_vote_stat_user","idea.vote.stat user","model_idea_vote_stat","base.group_survey_user",1,1,1,1 -"access_idea_comment_user","idea.comment user","model_idea_comment","base.group_survey_user",1,1,1,1 -"access_report_vote_manager","report.vote manager","model_report_vote","base.group_survey_manager",1,1,1,1 +"access_idea_category_user","idea.category user","model_idea_category","base.group_tool_user",1,1,1,1 +"access_idea_idea_user","idea.idea user","model_idea_idea","base.group_tool_user",1,1,1,1 +"access_idea_vote_user","idea.vote user","model_idea_vote","base.group_tool_user",1,1,1,1 +"access_idea_category_manager","idea.category manager","model_idea_category","base.group_tool_manager",1,0,0,0 +"access_idea_idea_manager","idea.idea manager","model_idea_idea","base.group_tool_manager",1,0,0,0 +"access_idea_vote_manager","idea.vote manager","model_idea_vote","base.group_tool_manager",1,0,0,0 +"access_idea_vote_stat_user","idea.vote.stat user","model_idea_vote_stat","base.group_tool_user",1,1,1,1 +"access_idea_comment_user","idea.comment user","model_idea_comment","base.group_tool_user",1,1,1,1 +"access_report_vote_manager","report.vote manager","model_report_vote","base.group_tool_manager",1,1,1,1 "access_idea_idea_system","idea.idea system","model_idea_idea","base.group_system",1,0,0,0 "access_idea_vote_system","idea.vote system","model_idea_vote","base.group_system",1,0,0,0 +"access_report_vote_system","report.vote system","model_report_vote","base.group_system",1,0,0,0 +"access_idea_vote_stat_manager","idea.vote.stat manager","model_idea_vote_stat","base.group_tool_manager",1,1,1,1 +"access_idea_vote_stat_system","idea.vote.stat system","model_idea_vote_stat","base.group_system",1,1,1,1 diff --git a/addons/lunch/security/ir.model.access.csv b/addons/lunch/security/ir.model.access.csv index 5d5ab895aa0..e27fba4530f 100644 --- a/addons/lunch/security/ir.model.access.csv +++ b/addons/lunch/security/ir.model.access.csv @@ -6,14 +6,16 @@ "access_lunch_order","lunch.order","model_lunch_order","base.group_user",1,1,1,1 "access_report_lunch_amount","report.lunch.amount","model_report_lunch_amount","base.group_user",1,1,1,1 "access_lunch_order_sale_salesman","lunch.order.sale","model_lunch_order","base.group_sale_salesman",1,1,1,1 -"access_lunch_order_user","lunch.order user","model_lunch_order","base.group_survey_user",1,1,1,1 -"access_lunch_order_manager","lunch.order manager","model_lunch_order","base.group_survey_manager",1,0,0,0 -"access_lunch_cashmove_user","lunch.cashmove user","model_lunch_cashmove","base.group_survey_user",1,1,1,1 -"access_lunch_cashmove_manager","lunch.cashmove manager","model_lunch_cashmove","base.group_survey_manager",1,0,0,0 -"access_report_lunch_amount_manager","report.lunch.amount manager","model_report_lunch_amount","base.group_survey_manager",1,1,1,1 +"access_lunch_order_user","lunch.order user","model_lunch_order","base.group_tool_user",1,1,1,1 +"access_lunch_order_manager","lunch.order manager","model_lunch_order","base.group_tool_manager",1,0,0,0 +"access_lunch_cashmove_user","lunch.cashmove user","model_lunch_cashmove","base.group_tool_user",1,1,1,1 +"access_lunch_cashmove_manager","lunch.cashmove manager","model_lunch_cashmove","base.group_tool_manager",1,0,0,0 +"access_report_lunch_amount_manager","report.lunch.amount manager","model_report_lunch_amount","base.group_tool_manager",1,1,1,1 "access_lunch_category_system","lunch.category system","model_lunch_category","base.group_system",1,1,1,1 "access_lunch_product_system","lunch.product system","model_lunch_product","base.group_system",1,1,1,1 "access_lunch_cashbox_system","lunch.cashbox system","model_lunch_cashbox","base.group_system",1,1,1,1 "access_lunch_order_system","lunch.order system","model_lunch_order","base.group_system",1,0,0,0 "access_lunch_cashmove_system","lunch.cashmove system","model_lunch_cashmove","base.group_system",1,0,0,0 -"access_report_lunch_order_manager","report.lunch.order manager","model_report_lunch_order","base.group_survey_manager",1,1,1,1 +"access_report_lunch_order_manager","report.lunch.order manager","model_report_lunch_order","base.group_tool_manager",1,1,1,1 +"access_lunch_product_user","lunch.product user","model_lunch_product","base.group_tool_user",1,1,1,1 +"access_lunch_cashbox_user","lunch.cashbox user","model_lunch_cashbox","base.group_tool_user",1,1,1,1 diff --git a/addons/lunch/security/lunch_security.xml b/addons/lunch/security/lunch_security.xml index c87ace64801..6c3559fa138 100644 --- a/addons/lunch/security/lunch_security.xml +++ b/addons/lunch/security/lunch_security.xml @@ -5,10 +5,10 @@ Sales / User - + Tools / Manager - + Tools / User diff --git a/addons/marketing_campaign/security/ir.model.access.csv b/addons/marketing_campaign/security/ir.model.access.csv index 903ca7ac72a..ae5cad3d706 100644 --- a/addons/marketing_campaign/security/ir.model.access.csv +++ b/addons/marketing_campaign/security/ir.model.access.csv @@ -8,3 +8,6 @@ "access_marketing_campaign_workitem_all","marketing.campaign.workitem","model_marketing_campaign_workitem","base.group_user",1,0,0,0 "access_email_template_user","email.template","model_email_template","base.res_groups_email_template_admin",1,1,1,1 "access_email_template_account_user","email_template.account.user","email_template.model_email_template_account","base.res_groups_email_template_admin",1,1,1,1 +"access_marketing_campaign_system","marketing.campaign system","model_marketing_campaign","base.group_system",1,0,0,0 +"access_marketing_campaign_segment_system","marketing.campaign.segment system","model_marketing_campaign_segment","base.group_system",1,0,0,0 +"access_marketing_campaign_workitem_system","marketing.campaign.workitem system","model_marketing_campaign_workitem","base.group_system",1,0,0,0 diff --git a/addons/outlook/README b/addons/outlook/README new file mode 100644 index 00000000000..404f2121c6a --- /dev/null +++ b/addons/outlook/README @@ -0,0 +1,31 @@ +OpenERP Outlook PLUG-IN Installation Guide + +Pre requirements : +====================================================================================== +1.Python 2.6+ . python can be downloaded from http://www.python.org/download/releases/ . +2.Python for Windows extensions - PyWin32 this module for python must be installed for appropriate version of the Python. It can be downloaded from http://sourceforge.net/projects/pywin32/files/ or http://starship.python.net/crew/mhammond/win32/ + +How to install openerp-outlook plug-in? +====================================================================================== +1.Open your Python installation directory (e.g.: C:\Python26). +2.Create folder named “openerp-outlook-plugin”. +3.Extract your zip file “outlook-plugin.zip” to the folder. +4.Open the folder outlook-plugin. +5.And Run “Register-plugin.bat” file. +6.Run Outlook and Check addin has been registered. +7.Tools->OpenERP Configuration and test your connection. +8.See User Guide for More. + +How to uninstall openerp-outlook plug-in? +===================================================================================== +1.Open the folder outlook-plugin. +2.And Run “Unregister-plugin.bat” file. + +Note : Plug In has been successfully tested with MS Office 2003 and MS Offcie 2007. + + +Enjoy Archiving your Outlook E-mails to OpenERP. + + + + diff --git a/addons/outlook/plugin/Register-plugin.bat b/addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat similarity index 100% rename from addons/outlook/plugin/Register-plugin.bat rename to addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat diff --git a/addons/outlook/plugin/Unregister-plugin.bat b/addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat similarity index 100% rename from addons/outlook/plugin/Unregister-plugin.bat rename to addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat diff --git a/addons/outlook/plugin/addin.py b/addons/outlook/plugin/openerp-outlook-plugin/addin.py similarity index 100% rename from addons/outlook/plugin/addin.py rename to addons/outlook/plugin/openerp-outlook-plugin/addin.py diff --git a/addons/outlook/plugin/chilkat.py b/addons/outlook/plugin/openerp-outlook-plugin/chilkat.py similarity index 100% rename from addons/outlook/plugin/chilkat.py rename to addons/outlook/plugin/openerp-outlook-plugin/chilkat.py diff --git a/addons/outlook/plugin/dialogs/__init__.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py similarity index 100% rename from addons/outlook/plugin/dialogs/__init__.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py diff --git a/addons/outlook/plugin/dialogs/dialog_map.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py similarity index 100% rename from addons/outlook/plugin/dialogs/dialog_map.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py diff --git a/addons/outlook/plugin/dialogs/dlgcore.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py similarity index 100% rename from addons/outlook/plugin/dialogs/dlgcore.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py diff --git a/addons/outlook/plugin/dialogs/dlgutils.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py similarity index 100% rename from addons/outlook/plugin/dialogs/dlgutils.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py diff --git a/addons/outlook/plugin/dialogs/opt_processors.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py similarity index 100% rename from addons/outlook/plugin/dialogs/opt_processors.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py diff --git a/addons/outlook/plugin/dialogs/processors.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py similarity index 100% rename from addons/outlook/plugin/dialogs/processors.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py diff --git a/addons/outlook/plugin/dialogs/resources/OpenERP_Logo.bmp b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmp similarity index 100% rename from addons/outlook/plugin/dialogs/resources/OpenERP_Logo.bmp rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmp diff --git a/addons/outlook/plugin/dialogs/resources/__init__.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py similarity index 100% rename from addons/outlook/plugin/dialogs/resources/__init__.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py diff --git a/addons/outlook/plugin/dialogs/resources/dialogs.h b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h similarity index 100% rename from addons/outlook/plugin/dialogs/resources/dialogs.h rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h diff --git a/addons/outlook/plugin/dialogs/resources/dialogs.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py similarity index 100% rename from addons/outlook/plugin/dialogs/resources/dialogs.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py diff --git a/addons/outlook/plugin/dialogs/resources/dialogs.rc b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc similarity index 100% rename from addons/outlook/plugin/dialogs/resources/dialogs.rc rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc diff --git a/addons/outlook/plugin/dialogs/resources/openerp_logo.png b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png similarity index 100% rename from addons/outlook/plugin/dialogs/resources/openerp_logo.png rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png diff --git a/addons/outlook/plugin/dialogs/resources/openerp_logo1.bmp b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmp similarity index 100% rename from addons/outlook/plugin/dialogs/resources/openerp_logo1.bmp rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmp diff --git a/addons/outlook/plugin/dialogs/resources/rc2py.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py similarity index 100% rename from addons/outlook/plugin/dialogs/resources/rc2py.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py diff --git a/addons/outlook/plugin/dialogs/resources/rcparser.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py similarity index 100% rename from addons/outlook/plugin/dialogs/resources/rcparser.py rename to addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py diff --git a/addons/outlook/plugin/eml.py b/addons/outlook/plugin/openerp-outlook-plugin/eml.py similarity index 100% rename from addons/outlook/plugin/eml.py rename to addons/outlook/plugin/openerp-outlook-plugin/eml.py diff --git a/addons/outlook/plugin/manager.py b/addons/outlook/plugin/openerp-outlook-plugin/manager.py similarity index 100% rename from addons/outlook/plugin/manager.py rename to addons/outlook/plugin/openerp-outlook-plugin/manager.py diff --git a/addons/outlook/plugin/tiny_xmlrpc.py b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py similarity index 100% rename from addons/outlook/plugin/tiny_xmlrpc.py rename to addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py diff --git a/addons/sale/sale.py b/addons/sale/sale.py index c1ea2ea6a8e..62b91346706 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -703,6 +703,7 @@ class sale_order(osv.osv): for proc_id in proc_ids: wf_service = netsvc.LocalService("workflow") wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr) + wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr) if order.state == 'shipping_except': val['state'] = 'progress' diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index bb32cfc8f83..e7fe2a6fe7d 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -1,7 +1,7 @@ - + diff --git a/addons/stock_planning/stock_planning_view.xml b/addons/stock_planning/stock_planning_view.xml index 9b8b6afd506..0a89573e2f7 100644 --- a/addons/stock_planning/stock_planning_view.xml +++ b/addons/stock_planning/stock_planning_view.xml @@ -182,7 +182,7 @@ + parent="base.menu_base_partner" sequence="6" groups="base.group_extended,base.group_system"/> stock.sale.forecast.list.select diff --git a/addons/subscription/security/ir.model.access.csv b/addons/subscription/security/ir.model.access.csv index 33ab0881c52..e19fdde993b 100644 --- a/addons/subscription/security/ir.model.access.csv +++ b/addons/subscription/security/ir.model.access.csv @@ -3,8 +3,8 @@ access_subscription_document,subscription.document,model_subscription_document,b access_subscription_document_fields,subscription.document.fields,model_subscription_document_fields,base.group_system,1,1,1,1 access_subscription_subscription,subscription.subscription,model_subscription_subscription,base.group_user,1,1,1,1 access_subscription_subscription_history,subscription.subscription.history,model_subscription_subscription_history,base.group_user,1,1,1,1 -access_subscription_subscription_user,subscription.subscription user,model_subscription_subscription,base.group_survey_user,1,1,1,1 -access_subscription_subscription_manager,subscription.subscription manager,model_subscription_subscription,base.group_survey_manager,1,0,0,0 -access_subscription_subscription_history_user,subscription.subscription.history user,model_subscription_subscription_history,base.group_survey_user,1,1,1,1 +access_subscription_subscription_user,subscription.subscription user,model_subscription_subscription,base.group_tool_user,1,1,1,1 +access_subscription_subscription_manager,subscription.subscription manager,model_subscription_subscription,base.group_tool_manager,1,0,0,0 +access_subscription_subscription_history_user,subscription.subscription.history user,model_subscription_subscription_history,base.group_tool_user,1,1,1,1 access_subscription_subscription_system,subscription.subscription system,model_subscription_subscription,base.group_system,1,0,0,0 -access_subscription_document_user,subscription.document user,model_subscription_document,base.group_survey_user,1,1,1,1 +access_subscription_document_user,subscription.document user,model_subscription_document,base.group_tool_user,1,1,1,1 diff --git a/addons/subscription/security/subcription_security.xml b/addons/subscription/security/subcription_security.xml index 86f0e2c6069..0014f38182b 100644 --- a/addons/subscription/security/subcription_security.xml +++ b/addons/subscription/security/subcription_security.xml @@ -2,10 +2,10 @@ - + Tools / Manager - + Tools / User diff --git a/addons/survey/security/ir.model.access.csv b/addons/survey/security/ir.model.access.csv index 9944a84996d..8d50471fd03 100644 --- a/addons/survey/security/ir.model.access.csv +++ b/addons/survey/security/ir.model.access.csv @@ -1,30 +1,30 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_survey_type_manager","survey.type manager","model_survey_type","base.group_survey_manager",1,1,1,1 -"access_survey_type_user","survey.type user","model_survey_type","base.group_survey_user",1,1,1,1 -"access_survey_manager","survey","model_survey","base.group_survey_manager",1,0,0,0 +"access_survey_type_manager","survey.type manager","model_survey_type","base.group_tool_manager",1,1,1,1 +"access_survey_type_user","survey.type user","model_survey_type","base.group_tool_user",1,1,1,1 +"access_survey_manager","survey","model_survey","base.group_tool_manager",1,0,0,0 "access_survey_system","survey","model_survey","base.group_system",1,0,0,0 -"access_survey_user","survey","model_survey","base.group_survey_user",1,1,1,1 -"access_survey_page_manager","survey.page manager","model_survey_page","base.group_survey_manager",1,0,0,0 +"access_survey_user","survey","model_survey","base.group_tool_user",1,1,1,1 +"access_survey_page_manager","survey.page manager","model_survey_page","base.group_tool_manager",1,0,0,0 "access_survey_page_system","survey.page system","model_survey_page","base.group_system",1,0,0,0 -"access_survey_page_user","survey.page user","model_survey_page","base.group_survey_user",1,1,1,1 -"access_survey_question_manager","survey.question manager","model_survey_question","base.group_survey_manager",1,1,1,1 -"access_survey_question_user","survey.question user","model_survey_question","base.group_survey_user",1,1,1,1 -"access_survey_answer_manager","survey.answer manager","model_survey_answer","base.group_survey_manager",1,1,1,1 -"access_survey_answer_user","survey.answer user","model_survey_answer","base.group_survey_user",1,1,1,1 -"access_survey_response_manager","survey.response manager","model_survey_response","base.group_survey_manager",1,1,1,1 -"access_survey_response_user","survey.response user","model_survey_response","base.group_survey_user",1,1,1,1 -"access_survey_response_answer_manager","survey.response.answer manager","model_survey_response_answer","base.group_survey_manager",1,1,1,1 -"access_survey_response_answer_user","survey.response.answer user","model_survey_response_answer","base.group_survey_user",1,1,1,1 -"access_survey_history_user","survey.history.user","model_survey_history","base.group_survey_user",1,1,1,1 -"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_survey_manager",1,1,1,1 -"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_survey_user",1,0,0,0 -"access_survey_request_manager","survey.request manager","model_survey_request","base.group_survey_manager",1,0,0,0 -"access_survey_request_user","survey.request user","model_survey_request","base.group_survey_user",1,1,1,1 +"access_survey_page_user","survey.page user","model_survey_page","base.group_tool_user",1,1,1,1 +"access_survey_question_manager","survey.question manager","model_survey_question","base.group_tool_manager",1,1,1,1 +"access_survey_question_user","survey.question user","model_survey_question","base.group_tool_user",1,1,1,1 +"access_survey_answer_manager","survey.answer manager","model_survey_answer","base.group_tool_manager",1,1,1,1 +"access_survey_answer_user","survey.answer user","model_survey_answer","base.group_tool_user",1,1,1,1 +"access_survey_response_manager","survey.response manager","model_survey_response","base.group_tool_manager",1,1,1,1 +"access_survey_response_user","survey.response user","model_survey_response","base.group_tool_user",1,1,1,1 +"access_survey_response_answer_manager","survey.response.answer manager","model_survey_response_answer","base.group_tool_manager",1,1,1,1 +"access_survey_response_answer_user","survey.response.answer user","model_survey_response_answer","base.group_tool_user",1,1,1,1 +"access_survey_history_user","survey.history.user","model_survey_history","base.group_tool_user",1,1,1,1 +"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_tool_manager",1,1,1,1 +"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,0,0,0 +"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,0,0,0 +"access_survey_request_user","survey.request user","model_survey_request","base.group_tool_user",1,1,1,1 "access_survey_request_system","survey.request system","model_survey_request","base.group_system",1,0,0,0 -"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_survey_manager",1,1,1,1 -"access_survey_tbl_column_heading_user","survey.tbl.column.heading user","model_survey_tbl_column_heading","base.group_survey_user",1,1,1,1 -"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_survey_manager",1,1,1,1 -"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_survey_user",1,1,1,1 +"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_tool_manager",1,1,1,1 +"access_survey_tbl_column_heading_user","survey.tbl.column.heading user","model_survey_tbl_column_heading","base.group_tool_user",1,1,1,1 +"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_tool_manager",1,1,1,1 +"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_tool_user",1,1,1,1 "access_survey_type","survey.type","model_survey_type","base.group_hr_manager",1,1,1,1 "access_survey","survey","model_survey","base.group_hr_manager",1,1,1,1 "access_survey_history_manager","survey.history","model_survey_history","base.group_hr_manager",1,1,1,1 @@ -38,7 +38,7 @@ "access_survey_response_answer","survey.response.answer","model_survey_response_answer","base.group_hr_manager",1,1,1,1 "access_survey_res_users","res.users","base.model_res_users","base.group_hr_manager",1,1,1,1 "access_survey_request","survey.request","model_survey_request","base.group_hr_manager",1,1,1,1 -"access_survey_history_survey_manager","survey.history manager","model_survey_history","base.group_survey_manager",1,0,0,0 +"access_survey_history_survey_manager","survey.history manager","model_survey_history","base.group_tool_manager",1,0,0,0 "access_survey_type_system","survey.type system","model_survey_type","base.group_system",1,0,0,0 "access_survey_question_system","survey.question system","model_survey_question","base.group_system",1,0,0,0 "access_survey_history_system","survey.history.system","model_survey_history","base.group_system",1,0,0,0 diff --git a/addons/survey/security/survey_security.xml b/addons/survey/security/survey_security.xml index 8c50d72496c..7172fdf615e 100644 --- a/addons/survey/security/survey_security.xml +++ b/addons/survey/security/survey_security.xml @@ -11,10 +11,10 @@ Human Resources / User - + Tools / Manager - + Tools / User diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index f45eab0bf9d..890d674a408 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -2,15 +2,15 @@ - + + groups="base.group_tool_manager,base.group_tool_user,base.group_system" sequence="2"/> - + + id="base.menu_lunch_reporting" sequence="6"/>