summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2012-12-09 00:03:09 +0100
committerAntony Lesuisse <al@openerp.com>2012-12-09 00:03:09 +0100
commitfb0ded57ffc36493ec4397aaa52eeb4dee1ffc2e (patch)
tree078b283e3ba733ef4d1ccb0c483028be958e25ac /addons
parenta6700e0e3fdd5b2552772f45c4bc7fe24c88b3d9 (diff)
parent045c04a3a282045cf76beabd8cd5931a9ef47112 (diff)
[MERGE] portal fixes groups, payments, shortcut
portal_stock has been removed from this merge, sale_order state is enough. bzr revid: al@openerp.com-20121208230309-2rajdsjfrb5ddlch
Diffstat (limited to 'addons')
-rw-r--r--addons/account/edi/invoice_action_data.xml2
-rw-r--r--addons/idea/idea_view.xml2
-rw-r--r--addons/lunch/lunch_view.xml2
-rw-r--r--addons/portal/acquirer.py20
-rw-r--r--addons/portal_claim/portal_claim_view.xml2
-rw-r--r--addons/portal_event/event_view.xml2
-rw-r--r--addons/portal_hr_employees/hr_employee_view.xml13
-rw-r--r--addons/portal_sale/portal_sale.py2
-rw-r--r--addons/portal_sale/portal_sale_data.xml2
-rw-r--r--addons/portal_sale/sale.py5
-rw-r--r--addons/sale/sale_view.xml2
-rw-r--r--addons/sale_stock/sale_stock_view.xml2
-rw-r--r--addons/subscription/subscription_view.xml2
-rw-r--r--addons/survey/survey_view.xml2
-rw-r--r--addons/web_shortcuts/static/src/js/web_shortcuts.js31
15 files changed, 60 insertions, 31 deletions
diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml
index b7ab56b446a..c4b0c8103f1 100644
--- a/addons/account/edi/invoice_action_data.xml
+++ b/addons/account/edi/invoice_action_data.xml
@@ -50,7 +50,7 @@
% endif
</p>
- % if object.company_id.paypal_account and object.type in ('out_invoice', 'in_refund'):
+ % if object.company_id.paypal_account and object.type in ('out_invoice'):
<%
comp_name = quote(object.company_id.name)
inv_number = quote(object.number)
diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml
index 015308c1d85..53734d53919 100644
--- a/addons/idea/idea_view.xml
+++ b/addons/idea/idea_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
<!-- Top menu item -->
- <menuitem name="Tools" id="base.menu_tools" sequence="120"/>
+ <menuitem name="Tools" id="base.menu_tools" sequence="120" groups="base.group_tool_user"/>
<!-- Idea Categories Search View-->
<record model="ir.ui.view" id="view_idea_category_search">
<field name="name">idea.category.search</field>
diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml
index 8953beef987..1b1c1365415 100644
--- a/addons/lunch/lunch_view.xml
+++ b/addons/lunch/lunch_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
<!-- Top menu item -->
- <menuitem id='menu_lunch' name='Lunch' sequence="100"/>
+ <menuitem id='menu_lunch' name='Lunch' sequence="100" groups="group_lunch_user"/>
<menuitem name="Lunch" parent="menu_lunch" id="menu_lunch_title" sequence="50" />
<menuitem name="Administrate Orders" parent="menu_lunch" id="menu_lunch_admin" sequence="51" groups="group_lunch_manager"/>
<menuitem name="Administrate Cash Moves" parent="menu_lunch" id="menu_lunch_cash" sequence="52" groups="group_lunch_manager"/>
diff --git a/addons/portal/acquirer.py b/addons/portal/acquirer.py
index 083a8c93d4f..9c18b597a1b 100644
--- a/addons/portal/acquirer.py
+++ b/addons/portal/acquirer.py
@@ -71,10 +71,18 @@ class acquirer(osv.Model):
return
def _wrap_payment_block(self, cr, uid, html_block, amount, currency, context=None):
- payment_header = _('Pay safely online')
- amount_str = float_repr(amount, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
- currency_str = currency.symbol or currency.name
- amount = u"%s %s" % ((currency_str, amount_str) if currency.position == 'before' else (amount_str, currency_str))
+ if not html_block:
+ link = '#action=account.action_account_config'
+ payment_header = _('You can finish the configuration in the <a href="%s">Bank&Cash settings</a>') % link
+ amount = _('No online payment acquirers configured')
+ group_ids = self.pool.get('res.users').browse(cr, uid, uid, context=context).groups_id
+ if any(group.is_portal for group in group_ids):
+ return ''
+ else:
+ payment_header = _('Pay safely online')
+ amount_str = float_repr(amount, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
+ currency_str = currency.symbol or currency.name
+ amount = u"%s %s" % ((currency_str, amount_str) if currency.position == 'before' else (amount_str, currency_str))
result = """<div class="payment_acquirers">
<div class="payment_header">
<div class="payment_amount">%s</div>
@@ -93,6 +101,8 @@ class acquirer(osv.Model):
return
html_forms = []
for this in self.browse(cr, uid, acquirer_ids):
- html_forms.append(this.render(object, reference, currency, amount, context=context, **kwargs))
+ content = this.render(object, reference, currency, amount, context=context, **kwargs)
+ if content:
+ html_forms.append(content)
html_block = '\n'.join(filter(None,html_forms))
return self._wrap_payment_block(cr, uid, html_block, amount, currency, context=context)
diff --git a/addons/portal_claim/portal_claim_view.xml b/addons/portal_claim/portal_claim_view.xml
index cd0e4941286..83c38b43b4e 100644
--- a/addons/portal_claim/portal_claim_view.xml
+++ b/addons/portal_claim/portal_claim_view.xml
@@ -8,7 +8,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="view_id" ref="crm_claim.crm_case_claims_tree_view"/>
- <field name="context">{"search_default_user_id":'', "stage_type":'claim', "portal":'True'}</field>
+ <field name="context">{"stage_type":'claim', "portal":'True'}</field>
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
<field name="target">current</field>
<field name="help" type="html">
diff --git a/addons/portal_event/event_view.xml b/addons/portal_event/event_view.xml
index 675bddbc42e..3dec56fa526 100644
--- a/addons/portal_event/event_view.xml
+++ b/addons/portal_event/event_view.xml
@@ -9,7 +9,7 @@
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
<xpath expr="//page[last()]" position="after">
- <page string="Portal Settings">
+ <page string="Portal Settings" groups="base.group_user">
<group>
<field name="visibility"/>
</group>
diff --git a/addons/portal_hr_employees/hr_employee_view.xml b/addons/portal_hr_employees/hr_employee_view.xml
index 4ffca098c55..0d8ca0676b6 100644
--- a/addons/portal_hr_employees/hr_employee_view.xml
+++ b/addons/portal_hr_employees/hr_employee_view.xml
@@ -32,10 +32,21 @@
</field>
</record>
+ <record model="ir.ui.view" id="portal_hr_kanban_view_employees">
+ <field name="name">HR - Employess Kanban</field>
+ <field name="model">hr.employee</field>
+ <field name="inherit_id" ref="hr.hr_kanban_view_employees"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@class='oe_employee_details']" position="inside">
+ <t t-if="record.public_info.raw_value"><field name="public_info"/></t>
+ </xpath>
+ </field>
+ </record>
+
<record id="action_team" model="ir.actions.act_window">
<field name="name">Meet the team</field>
<field name="res_model">hr.employee</field>
- <field name="view_id" ref="hr.hr_kanban_view_employees"/>
+ <field name="view_id" ref="portal_hr_kanban_view_employees"/>
<field name="view_mode">kanban</field>
<field name="view_type">form</field>
<field name="domain">[('visibility','!=','private')]</field>
diff --git a/addons/portal_sale/portal_sale.py b/addons/portal_sale/portal_sale.py
index 818da5e8784..7cda77ed9ea 100644
--- a/addons/portal_sale/portal_sale.py
+++ b/addons/portal_sale/portal_sale.py
@@ -67,7 +67,7 @@ class account_invoice(osv.Model):
result = dict.fromkeys(ids, False)
payment_acquirer = self.pool.get('portal.payment.acquirer')
for this in self.browse(cr, uid, ids, context=context):
- if this.state not in ('draft','done') and not this.reconciled:
+ if this.type == 'out_invoice' and this.state not in ('draft','done') and not this.reconciled:
result[this.id] = payment_acquirer.render_payment_block(cr, uid, this, this.number,
this.currency_id, this.residual, context=context)
return result
diff --git a/addons/portal_sale/portal_sale_data.xml b/addons/portal_sale/portal_sale_data.xml
index d70a2753b1e..f40897f6998 100644
--- a/addons/portal_sale/portal_sale_data.xml
+++ b/addons/portal_sale/portal_sale_data.xml
@@ -150,7 +150,7 @@
href="${signup_url}">View Invoice</a>
% endif
- % if object.company_id.paypal_account and object.type in ('out_invoice', 'in_refund'):
+ % if object.company_id.paypal_account and object.type in ('out_invoice'):
<%
comp_name = quote(object.company_id.name)
inv_number = quote(object.number)
diff --git a/addons/portal_sale/sale.py b/addons/portal_sale/sale.py
index aa8b6e57689..79fcbdef6fd 100644
--- a/addons/portal_sale/sale.py
+++ b/addons/portal_sale/sale.py
@@ -51,8 +51,13 @@ class mail_mail(osv.osv):
if mail.model == 'sale.order':
so_obj = self.pool.get('sale.order')
partner = so_obj.browse(cr, uid, mail.res_id, context=context)['partner_id']
+ # Add the customer in the SO as follower
if partner.id not in so_obj.browse(cr, uid, mail.res_id, context=context)['message_follower_ids']:
so_obj.message_subscribe(cr, uid, [mail.res_id], [partner.id], context=context)
+ # Add all recipients of the email as followers
+ for p in mail.partner_ids:
+ if p.id not in so_obj.browse(cr, uid, mail.res_id, context=context)['message_follower_ids']:
+ so_obj.message_subscribe(cr, uid, [mail.res_id], [p.id], context=context)
return super(mail_mail, self)._postprocess_sent_message(cr, uid, mail=mail, context=context)
mail_mail() \ No newline at end of file
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 0906084ad37..2c2fdd6991f 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -170,7 +170,7 @@
<page string="Order Lines">
<field name="order_line">
<form string="Sales Order Lines" version="7.0">
- <header>
+ <header groups="base.group_user">
<button name="%(action_view_sale_order_line_make_invoice)d" states="confirmed" string="Invoice" type="action" icon="terp-document-new"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors='{"exception":"red","cancel":"red"}'/>
</header>
diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml
index 4c38e198b60..bebb95f0088 100644
--- a/addons/sale_stock/sale_stock_view.xml
+++ b/addons/sale_stock/sale_stock_view.xml
@@ -40,7 +40,7 @@
<xpath expr="//button[@name='action_view_invoice']" position="after">
<field name="picking_ids" invisible="1"/>
<button name="action_view_delivery" string="View Delivery Order" type="object" class="oe_highlight"
- attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
+ attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}" groups="base.group_user"/>
</xpath>
<xpath expr="//button[@name='action_cancel']" position="after">
<button name="ship_cancel" states="shipping_except" string="Cancel"/>
diff --git a/addons/subscription/subscription_view.xml b/addons/subscription/subscription_view.xml
index bbc9c6f01c6..eb3700cfedc 100644
--- a/addons/subscription/subscription_view.xml
+++ b/addons/subscription/subscription_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
<!-- Top menu item -->
- <menuitem name="Tools" id="base.menu_tools" sequence="120"/>
+ <menuitem name="Tools" id="base.menu_tools" sequence="120" groups="base.group_tool_user"/>
<menuitem id="next_id_45" name="Recurring Events" parent="base.menu_tools" sequence="4"/>
<!-- Subscription Views -->
diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml
index 752c1ee41ac..22589244a53 100644
--- a/addons/survey/survey_view.xml
+++ b/addons/survey/survey_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
<!-- Top menu item -->
- <menuitem name="Tools" id="base.menu_tools" sequence="120"/>
+ <menuitem name="Tools" id="base.menu_tools" sequence="120" groups="base.group_tool_user"/>
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools" sequence="2" groups="base.group_tool_user,base.group_tool_manager,base.group_survey_user"/>
diff --git a/addons/web_shortcuts/static/src/js/web_shortcuts.js b/addons/web_shortcuts/static/src/js/web_shortcuts.js
index a2607e3749e..045bc5b5ae6 100644
--- a/addons/web_shortcuts/static/src/js/web_shortcuts.js
+++ b/addons/web_shortcuts/static/src/js/web_shortcuts.js
@@ -126,20 +126,23 @@ instance.web.ViewManagerAction.include({
$shortcut_toggle.hide();
return;
}
- $shortcut_toggle.toggleClass('oe_shortcuts_remove', shortcuts_menu.has(self.session.active_id));
- $shortcut_toggle.unbind("click").click(function() {
- if ($shortcut_toggle.hasClass("oe_shortcuts_remove")) {
- shortcuts_menu.trigger('remove', self.session.active_id);
- } else {
- shortcuts_menu.trigger('add', {
- 'user_id': self.session.uid,
- 'res_id': self.session.active_id,
- 'resource': 'ir.ui.menu',
- 'name': self.action.name
- });
- }
- $shortcut_toggle.toggleClass("oe_shortcuts_remove");
- });
+ // Anonymous users don't have user_menu
+ if (shortcuts_menu) {
+ $shortcut_toggle.toggleClass('oe_shortcuts_remove', shortcuts_menu.has(self.session.active_id));
+ $shortcut_toggle.unbind("click").click(function() {
+ if ($shortcut_toggle.hasClass("oe_shortcuts_remove")) {
+ shortcuts_menu.trigger('remove', self.session.active_id);
+ } else {
+ shortcuts_menu.trigger('add', {
+ 'user_id': self.session.uid,
+ 'res_id': self.session.active_id,
+ 'resource': 'ir.ui.menu',
+ 'name': self.action.name
+ });
+ }
+ $shortcut_toggle.toggleClass("oe_shortcuts_remove");
+ });
+ }
}
});