[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
This commit is contained in:
Antony Lesuisse 2012-12-09 00:03:09 +01:00
commit fb0ded57ff
15 changed files with 60 additions and 31 deletions

View File

@ -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)

View File

@ -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>

View File

@ -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"/>

View File

@ -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)

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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)

View File

@ -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()

View File

@ -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>

View File

@ -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"/>

View File

@ -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 -->

View File

@ -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"/>

View File

@ -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");
});
}
}
});