[IMP] website: server action in front-end: improved demo data, a mini posting mechanism

bzr revid: tde@openerp.com-20140205141515-z0yfu11iufq0qqdk
This commit is contained in:
Thibault Delavallée
2014-02-05 15:15:15 +01:00
parent 89d053111f
commit 9487dafd12
+38 -45
View File
@@ -20,7 +20,7 @@
Some demo data for front-end server action generating templates
-->
<template id="template_partner_detail_demo" name="Partner Details Template (Server Action Demo)">
<template id="template_partner_post" name="Partner Post and Thanks (Website Server Action Demo)">
<t t-call="website.layout">
<t t-set="additional_title">Partner Detail</t>
<div id="wrap">
@@ -29,50 +29,25 @@
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Our Members Directory</h1>
<h3 class="text-muted text-center">Find a business partner</h3>
<h2>Thank you for posting a message !</h2>
</div>
</div>
</div>
</section>
</div>
<div class="container">
<div class="row" t-if="partner">
<h2 t-field="partner.name"/>
<div class="col-md-2 mt32">
<img t-att-src="'/website/image?model=res.partner&amp;field=image_medium&amp;id=%s' % partner.id"/>
</div>
<address class="col-md-6 mt32">
<table style="margin: auto;" class="well">
<colgroup>
<col width="100"/>
<col/>
</colgroup>
<tbody>
<t t-set="address" t-value="'&lt;br/&gt;'.join(partner.name_get()[0][1].split('\n')[1:])"/>
<tr><th class="texttop">Address</th><td t-raw="address"/></tr>
<tr><th>Website</th><td><span t-field="partner.website"/></td></tr>
<tr><th>Phone</th><td><span t-field="partner.phone"/></td></tr>
<tr><th>Tel</th><td><span t-field="partner.mobile"/></td></tr>
<tr><th>Fax</th><td><span t-field="partner.fax"/></td></tr>
<tr><th>Email</th><td><span t-field="partner.email"/></td></tr>
</tbody>
</table>
</address>
</div>
</div>
</div>
</t>
</template>
<record id="action_partner_detail_demo" model="ir.actions.server">
<record id="action_partner_post" model="ir.actions.server">
<field name="name">Website Partner Detail Demo</field>
<field name="condition">True</field>
<field name="website_published" eval="True"/>
<field name="model_id" ref="base.model_res_partner"/>
<field name="code">
partner_id, partner = False, None
post_partner_id = context.get('post', {}).get('partner_id')
post_partner_id = request.params.get('partner_id')
post_body = request.params.get('body')
if post_partner_id:
try:
post_partner_id = int(post_partner_id)
@@ -81,18 +56,18 @@ if post_partner_id:
if post_partner_id:
partner_ids = pool['res.partner'].search(cr, uid, [('id', '=', post_partner_id)], context=context)
partner_id = partner_ids and partner_ids[0] or False
if partner_id:
partner = pool['res.partner'].browse(cr, uid, partner_id, context=context)
if partner_id and post_body:
partner = pool['res.partner'].message_post(cr, uid, partner_id, body=post_body, subtype='mail.mt_comment', context=context)
values = {
'partner': partner,
}
template = request.website.render("website.template_partner_detail_demo", values)
response = request.website.render("website.template_partner_post", values)
</field>
<field name="state">code</field>
<field name="type">ir.actions.server</field>
</record>
<template id="template_partner_demo" name="Partner Template (Server Action Demo)">
<template id="template_partner_comment" name="Partner Comment (Website Server Action Demo)">
<t t-call="website.layout">
<t t-set="additional_title">Partners</t>
<div id="wrap">
@@ -101,27 +76,45 @@ template = request.website.render("website.template_partner_detail_demo", values
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Our Members Directory</h1>
<h3 class="text-muted text-center">Find a business partner</h3>
<h1 class="text-center">Send a Message to our Partners</h1>
<h3 class="text-muted text-center">Discuss and Comments</h3>
</div>
</div>
</div>
</section>
</div>
<div class="container">
<t t-foreach="partners" t-as="partner">
<div class="row">
<a t-att-href="'/website/action/website.action_partner_detail_demo?partner_id=%d' % partner.id">
<span t-field="partner.name"/>
</a>
</div>
</t>
<div class="row">
<form class="form-horizontal" action="/website/action/website.action_partner_post" method="post">
<div class="form-group">
<label class="col-sm-2 control-label">Recipient</label>
<div class="col-sm-10">
<select t-if="partners" name="partner_id" class="form-control">
<t t-foreach="partners" t-as="partner"><option t-att-value="partner.id" t-esc="partner.name"/></t>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea name="body" rows="10" class="form-control"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default btn-primary">
Send <span class="fa fa-long-arrow-right"/>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</t>
</template>
<record id="action_partner_demo" model="ir.actions.server">
<record id="action_partner_comment" model="ir.actions.server">
<field name="name">Website Partners Demo</field>
<field name="condition">True</field>
<field name="website_published" eval="True"/>
@@ -132,7 +125,7 @@ partners = pool['res.partner'].browse(cr, uid, partner_ids, context=context)
values = {
'partners': partners,
}
template = request.website.render("website.template_partner_demo", values)
response = request.website.render("website.template_partner_comment", values)
</field>
<field name="state">code</field>
<field name="type">ir.actions.server</field>