'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the event alarm information without removing it."),
'categ_ids': fields.many2many('calendar.event.type', 'meeting_category_rel', 'event_id', 'type_id', 'Tags'),
'attendee_ids': fields.one2many('calendar.attendee', 'event_id', 'Attendees', ondelete='cascade'),
- 'partner_ids': fields.many2many('res.partner', string='Invitations', states={'done': [('readonly', True)]}),
- 'alarm_ids': fields.many2many('calendar.alarm', string='Reminders', ondelete="restrict"),
-
+ 'partner_ids': fields.many2many('res.partner', 'calendar_event_res_partner_rel', string='Attendees', states={'done': [('readonly', True)]}),
+ 'alarm_ids': fields.many2many('calendar.alarm', 'calendar_alarm_calendar_event_rel', string='Reminders', ondelete="restrict"),
}
+
+ def _get_default_partners(self, cr, uid, ctx=None):
+ ret = [self.pool['res.users'].browse(cr, uid, uid, context=ctx).partner_id.id]
+ active_id = ctx.get('active_id')
+ if ctx.get('active_model') == 'res.partner' and active_id:
+ if active_id not in ret:
+ ret.append(active_id)
+ return ret
+
_defaults = {
'end_type': 'count',
'count': 1,
<br />
<t t-esc="widget.pos.company.name"/><br />
Phone: <t t-esc="widget.pos.company.phone || ''"/><br />
- User: <t t-esc="widget.pos.user.name"/><br />
+ User: <t t-esc="widget.pos.cashier.name"/><br />
- Shop: <t t-esc="widget.pos.shop.name"/><br />
<br />
<t t-if="widget.pos.config.receipt_header">
<div style='text-align:center'>
<data noupdate="1">
<!--Email template -->
<record id="email_template_edi_purchase" model="email.template">
- <field name="name">Purchase Order - Send by mail</field>
+ <field name="name">RFQ - Send by Email</field>
- <field name="email_from">${object.validator.email or ''}</field>
- <field name="subject">${object.company_id.name} Order (Ref ${object.name or 'n/a' })</field>
+ <field name="email_from">${(object.validator.email or '')|safe}</field>
+ <field name="subject">${object.company_id.name|safe} Order (Ref ${object.name or 'n/a' })</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="model_id" ref="purchase.model_purchase_order"/>
<field name="auto_delete" eval="True"/>
ctx = {'lang': lang}
product = self.pool.get('product.product').browse(cr, uid, [prod_id], context=ctx)[0]
- uos_id = product.uos_id and product.uos_id.id or False
+ uos_id = product.uos_id and product.uos_id.id or False
result = {
+ 'name': product.partner_ref,
'product_uom': product.uom_id.id,
'product_uos': uos_id,
- 'product_qty': 1.00,
- 'product_uos_qty' : self.pool.get('stock.move').onchange_quantity(cr, uid, ids, prod_id, 1.00, product.uom_id.id, uos_id)['value']['product_uos_qty'],
- 'prodlot_id' : False,
+ 'product_uom_qty': 1.00,
+ 'product_uos_qty': self.pool.get('stock.move').onchange_quantity(cr, uid, ids, prod_id, 1.00, product.uom_id.id, uos_id)['value']['product_uos_qty'],
}
- if not ids:
- result['name'] = product.partner_ref
if loc_id:
result['location_id'] = loc_id
if loc_dest_id:
and main_object.website_meta_keywords or website_meta_keywords"/>
<title><t t-esc="title"/></title>
- <!-- Load stylesheets before scripts to avoid blocking -->
- <link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
-
- <t t-call="website.theme"/>
-
- <script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
- <script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
- <script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
- <script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
- <script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
- <script type="text/javascript">
- // Bootstrap and jQuery UI conflicts
- $.fn.bstooltip = $.fn.tooltip;
- $.fn.bsbutton = $.fn.button;
- </script>
-
- <script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
- <script type="text/javascript" src="/web/static/src/js/openerpframework.js"></script>
-
- <script type="text/javascript" src="/website/static/src/js/website.js"></script>
+ <t t-set="languages" t-value="website.get_languages()"/>
+ <t t-if="request.website_multilang">
+ <t t-foreach="languages" t-as="lg">
+ <t t-set="force_lang" t-value="lg[0] if lg[0] != website.default_lang_code else None"/>
+ <link rel="alternate" t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=force_lang)" t-att-hreflang="lg[0].replace('_', '-').lower()" />
+ </t>
+ </t>
- <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
- <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
+ <t t-call-assets="web.assets_common"/>
+ <t t-call-assets="website.assets_frontend"/>
<t t-raw="head or ''" name='layout_head'/>
- <t t-if="website.google_analytics_key">
- <script>
-
+ <t t-if="website.google_analytics_key">
+ <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','_gaw');
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
- _gaw('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
- _gaw('send','pageview');
+ ga('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
+ ga('send','pageview');
</script>
-
</t>
</head>
<body>