diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index da58c54cd73..b6477a75735 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -272,7 +272,7 @@ icon="terp-partner" type="action" context="{'model' : 'calendar.event', 'attendee_field':'attendee_ids'}" colspan="2"/> + nolabel="1" widget="one2many" mode="tree"> diff --git a/addons/base_status/base_stage.py b/addons/base_status/base_stage.py index cc6dda19cdf..0c3bac20da9 100644 --- a/addons/base_status/base_stage.py +++ b/addons/base_status/base_stage.py @@ -19,7 +19,7 @@ # ############################################################################## -from osv import fields +from osv import fields, osv from tools.translate import _ class base_stage(object): diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml index 5f94e3d738f..156aab613a0 100644 --- a/addons/crm/crm_meeting_menu.xml +++ b/addons/crm/crm_meeting_menu.xml @@ -7,15 +7,8 @@ res_model="crm.meeting" view_mode="calendar,tree,form,gantt" context="{'search_default_partner_id': active_id, 'default_duration': 4.0}" - domain="[('partner_id', '=', active_id)]" /> - - Schedule a Meeting - {'default_partner_id': active_id} - - - calendar diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index 85e9864115a..646bd1136c4 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -101,7 +101,7 @@ attrs="{'readonly': [('state', '=', 'done')]}" context="{'model' : 'crm.meeting', 'attendee_field':'attendee_ids'}" colspan="2"/> + nolabel="1" widget="one2many" mode="tree"> diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 2a004b32d3e..d692315c74f 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -67,7 +67,7 @@ - + diff --git a/addons/edi/models/edi.py b/addons/edi/models/edi.py index 383d8c7aaba..dadfeb81209 100644 --- a/addons/edi/models/edi.py +++ b/addons/edi/models/edi.py @@ -520,7 +520,8 @@ class EDIMixin(object): 'datas': result, 'datas_fname': file_name, 'res_model': self._name, - 'res_id': record.id}, + 'res_id': record.id, + 'type': 'binary'}, context=context) def _edi_import_attachments(self, cr, uid, record_id, edi_document, context=None): diff --git a/addons/portal/wizard/share_wizard.py b/addons/portal/wizard/share_wizard.py index b2ed8703421..d642be7b698 100644 --- a/addons/portal/wizard/share_wizard.py +++ b/addons/portal/wizard/share_wizard.py @@ -116,7 +116,7 @@ class share_wizard_portal(osv.osv_memory): # In both cases, we call super() to create the share group, but when # sharing with existing groups, we will later delete it, and copy its # access rights and rules to the selected groups. - group_id = super(share_wizard_portal,self)._create_share_users_group(cr, uid, wizard_data, context=context) + super_result = super(share_wizard_portal,self)._create_share_users_group(cr, uid, wizard_data, context=context) # For sharing with existing groups, we don't create a share group, instead we'll # alter the rules of the groups so they can see the shared data @@ -139,10 +139,10 @@ class share_wizard_portal(osv.osv_memory): wizard_data.write({'result_line_ids': [(0,0,new_line)]}) elif wizard_data.user_ids: - # must take care of existing users, by adding them to the new group, which is group_ids[0], + # must take care of existing users, by adding them to the new group, which is super_result[0], # and adding the shortcut selected_user_ids = [x.id for x in wizard_data.user_ids] - self.pool.get('res.users').write(cr, UID_ROOT, selected_user_ids, {'groups_id': [(4,group_id)]}) + self.pool.get('res.users').write(cr, UID_ROOT, selected_user_ids, {'groups_id': [(4, super_result[0])]}) self._setup_action_and_shortcut(cr, uid, wizard_data, selected_user_ids, make_home=False, context=context) # populate the result lines for existing users too for user in wizard_data.user_ids: @@ -150,7 +150,7 @@ class share_wizard_portal(osv.osv_memory): 'newly_created': False} wizard_data.write({'result_line_ids': [(0,0,new_line)]}) - return group_id + return super_result def copy_share_group_access_and_delete(self, cr, wizard_data, share_group_id, context=None): # In the case of sharing with existing groups, the strategy is to copy diff --git a/addons/project_gtd/project_gtd.py b/addons/project_gtd/project_gtd.py index bb61617c9f7..c4e485876d8 100644 --- a/addons/project_gtd/project_gtd.py +++ b/addons/project_gtd/project_gtd.py @@ -116,7 +116,7 @@ class project_task(osv.osv): search_extended += '''\n''' search_extended +='''''' - res['arch'] = res['arch'].replace('', search_extended) + res['arch'] = tools.ustr(res['arch']).replace('', search_extended) return res diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 31b169d3c0f..565710f5664 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -168,7 +168,7 @@ class project_work(osv.osv): vals_line['name'] = '%s: %s' % (tools.ustr(task.task_id.name), tools.ustr(vals['name']) or '/') if 'user_id' in vals: vals_line['user_id'] = vals['user_id'] - result = self.get_user_related_details(cr, uid, vals['user_id']) + result = self.get_user_related_details(cr, uid, vals.get('user_id', task.user_id.id)) for fld in ('product_id', 'general_account_id', 'journal_id', 'product_uom_id'): if result.get(fld, False): vals_line[fld] = result[fld] diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py index 9484b87652e..823d8d6ab07 100644 --- a/addons/sale_crm/wizard/crm_make_sale.py +++ b/addons/sale_crm/wizard/crm_make_sale.py @@ -107,7 +107,6 @@ class crm_make_sale(osv.osv_memory): new_ids.append(new_id) message = _("Opportunity has been converted to the quotation %s.") % (sale_order.name) case.message_append_note(body=message) - if make.close: case_obj.case_close(cr, uid, data) if not new_ids: diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index 274570e9169..55d43453775 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -668,7 +668,8 @@ class share_wizard(osv.osv_memory): """Creates the appropriate share group and share users, and populates result_line_ids of wizard_data with one line for each user. - :return: the new group id (to which the shared access should be granted) + :return: a tuple composed of the new group id (to which the shared access should be granted), + the ids of the new share users that have been created and the ids of the existing share users """ group_id = self._create_share_group(cr, uid, wizard_data, context=context) # First create any missing user, based on the email addresses provided @@ -739,7 +740,7 @@ class share_wizard(osv.osv_memory): all_relations = obj0 + obj1 + obj2 self._link_or_copy_current_user_rules(cr, current_user, group_id, all_relations, context=context) # B. - main_domain = wizard_data.domain if wizard_data.domain != '[]' else DOMAIN_ALL + main_domain = wizard_data.domain if wizard_data.domain != '[]' else str(DOMAIN_ALL) self._create_or_combine_sharing_rule(cr, current_user, wizard_data, group_id, model_id=model.id, domain=main_domain, restrict=True, context=context) diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index b5015d0950b..fccc8990106 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -40,7 +40,7 @@ - +