[ADD] : modal(wizard) on decline button ,
[IMP]: typos and code bzr revid: aja@tinyerp.com-20131218125559-km8k9ug0izotlynh
This commit is contained in:
parent
1b7a51b9b9
commit
0ed13a4a00
|
@ -45,12 +45,20 @@ class sale_quote(http.Controller):
|
|||
user = user_pool.search(request.cr, SUPERUSER_ID, [('partner_id', '=', partner)])[0]
|
||||
return user
|
||||
|
||||
def get_message(self, order):
|
||||
total = 0
|
||||
for msg in order.message_ids:
|
||||
if msg.subtype_id.name in ['Sales Order Confirmed', 'Discussions']:
|
||||
total += 1
|
||||
return total
|
||||
|
||||
@website.route(["/quote/<model('sale.order'):order>/<token>"], type='http', auth="public")
|
||||
def view(self, order=None, token=None,**post):
|
||||
assert token == order.access_token, 'No token found'
|
||||
values = {}
|
||||
values.update({
|
||||
'quotation': order,
|
||||
'message': self.get_message(order)
|
||||
})
|
||||
return request.website.render('website_sale_quote.so_quotation', values)
|
||||
|
||||
|
@ -59,19 +67,20 @@ class sale_quote(http.Controller):
|
|||
request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'manual'})
|
||||
return request.redirect("/quote/%s/%s" % (order_id, self._get_token(order_id)))
|
||||
|
||||
@website.route(['/quote/<int:order_id>/decline'], type='http', auth="public")
|
||||
def decline(self, order_id=None, **post):
|
||||
request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'cancel'})
|
||||
return request.redirect("/quote/%s/%s" % (order_id, self._get_token(order_id)))
|
||||
def decline(self, order_id):
|
||||
return request.registry.get('sale.order').write(request.cr, SUPERUSER_ID, [order_id], {'state': 'cancel'})
|
||||
|
||||
@website.route(['/quote/<int:order_id>/post'], type='http', auth="public")
|
||||
def post(self, order_id=None, **post):
|
||||
if post.get('new_message'):
|
||||
request.session.body = post.get('new_message')
|
||||
if post.get('decline_message'):
|
||||
self.decline(order_id)
|
||||
request.session.body = post.get('decline_message')
|
||||
if 'body' in request.session and request.session.body:
|
||||
request.registry.get('sale.order').message_post(request.cr, self._get_partner_user(order_id), order_id,
|
||||
body=request.session.body,
|
||||
type='email',
|
||||
type='comment',
|
||||
subtype='mt_comment',
|
||||
)
|
||||
request.session.body = False
|
||||
|
@ -83,7 +92,7 @@ class sale_quote(http.Controller):
|
|||
return request.registry.get('sale.order.line').unlink(request.cr, SUPERUSER_ID, [int(line_id)], context=request.context)
|
||||
val = self._update_order_line(line_id=int(line_id), number=(remove and -1 or 1))
|
||||
order = request.registry.get('sale.order').browse(request.cr, SUPERUSER_ID, order_id)
|
||||
return [val, order.amount_total]
|
||||
return [str(val), str(order.amount_total)]
|
||||
|
||||
def _update_order_line(self, line_id, number):
|
||||
order_line_obj = request.registry.get('sale.order.line')
|
||||
|
|
|
@ -29,49 +29,40 @@
|
|||
</div>
|
||||
<sheet>
|
||||
<h1>
|
||||
<label string="Quotation Template"/>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<notebook>
|
||||
<page string="Quote Lines">
|
||||
<field name="quote_line">
|
||||
<form string="Sales Quote Template Lines" version="7.0">
|
||||
<group>
|
||||
<group>
|
||||
<field name="product_id" on_change="on_change_product_id(product_id)"/>
|
||||
<label for="product_uom_qty"/>
|
||||
<div>
|
||||
<field
|
||||
name="product_uom_qty" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="price_unit"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Description">
|
||||
<field name="name" />
|
||||
</page>
|
||||
<page string="Website Description">
|
||||
<field name="website_description" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Sales Quote Template Lines" editable="bottom">
|
||||
<field name="quote_line">
|
||||
<form string="Sales Quote Template Lines" version="7.0">
|
||||
<group>
|
||||
<group>
|
||||
<field name="product_id" on_change="on_change_product_id(product_id)"/>
|
||||
<field name="name"/>
|
||||
<field name="product_uom_qty"/>
|
||||
<label for="product_uom_qty"/>
|
||||
<div>
|
||||
<field
|
||||
name="product_uom_qty" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="price_unit"/>
|
||||
<field name="website_description" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Website Description">
|
||||
<field name="website_description"/>
|
||||
</page>
|
||||
<page string="Terms & Conditions">
|
||||
<field name="note" placeholder="Terms and conditions..."/>
|
||||
</page>
|
||||
</notebook>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Description">
|
||||
<field name="name" />
|
||||
</page>
|
||||
<page string="Website Description">
|
||||
<field name="website_description" />
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Sales Quote Template Lines" editable="bottom">
|
||||
<field name="product_id" on_change="on_change_product_id(product_id)"/>
|
||||
<field name="name"/>
|
||||
<field name="product_uom_qty"/>
|
||||
<field name="price_unit"/>
|
||||
<field name="website_description" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="website_description" invisible="1"/>
|
||||
<field name="note" placeholder="Terms and conditions..." nolable="1"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -87,7 +78,7 @@
|
|||
</field>
|
||||
</record>
|
||||
<record id="action_sale_quotation_template" model="ir.actions.act_window">
|
||||
<field name="name">Quote Template</field>
|
||||
<field name="name">Sales Template</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sale.quote.template</field>
|
||||
<field name="view_type">form</field>
|
||||
|
|
|
@ -5,7 +5,6 @@ $(document).ready(function () {
|
|||
var href = $link.attr("href");
|
||||
var order_id = $link.attr("href").match(/order_id=([0-9]+)/);
|
||||
var line_id = href.match(/update_line\/([0-9]+)/);
|
||||
console.log(line_id);
|
||||
openerp.jsonRpc("/quote/update_line/", 'call', {
|
||||
'line_id': line_id[1],
|
||||
'order_id': parseInt(order_id[1]),
|
||||
|
|
|
@ -165,7 +165,7 @@
|
|||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a type="submit" t-if="quotation.state != 'cancel'" t-href="/quote/#{ quotation.id }/decline">
|
||||
<a type="submit" t-if="quotation.state != 'cancel'" data-toggle="modal" data-target="#myModal">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-circle fa-stack-2x" style="color:#d9534f;"></i>
|
||||
<i class="fa fa-times fa-stack-1x fa-inverse"></i>
|
||||
|
@ -179,7 +179,7 @@
|
|||
<i class="fa fa-circle fa-stack-2x" style="color:#428bca;"></i>
|
||||
<i class="fa fa-comment fa-stack-1x fa-inverse"></i>
|
||||
</span>Discuss
|
||||
<sup class="label label-info"><t t-esc="len(quotation.message_ids)"/></sup>
|
||||
<sup class="label label-info"><t t-esc="message"/></sup>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -195,6 +195,7 @@
|
|||
<div class="panel-body">
|
||||
<ul class="list-group">
|
||||
<t t-foreach="quotation.message_ids" t-as="message">
|
||||
<t t-if="message.subtype_id.name == 'Sales Order Confirmed' or message.subtype_id.name == 'Discussions'" >
|
||||
<li class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-xs-2 col-md-1" t-if="message.author_id.image_small">
|
||||
|
@ -210,6 +211,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</t>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -223,6 +225,25 @@
|
|||
<t t-call="website_sale_quote.static_layout">
|
||||
<div class="col-xs-12 col-md-8 tab-content">
|
||||
<t t-call="website_sale_quote.quote_status"/>
|
||||
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
|
||||
<h4 class="modal-title" id="myModalLabel">Reason</h4>
|
||||
</div>
|
||||
<form id="post" accept-charset="UTF-8" method="POST" t-att-action="'/quote/%%s/post#post' %% (quotation.id)">
|
||||
<div class="modal-body">
|
||||
<textarea rows="3" id="decline_message" name="decline_message" placeholder="Your Comment....." class="form-control span7"> </textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
<button type="submit" t-att-id="quotation.id" class="btn btn-info">Post</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section id="introduction11" class="tab-pane active oe_section jumbotron" t-field="quotation.website_description">
|
||||
</section>
|
||||
<t t-foreach="quotation.order_line" t-as="line">
|
||||
|
@ -241,7 +262,7 @@
|
|||
<t t-foreach="quotation.order_line" t-as="line">
|
||||
<li><a t-att-href="'#%s'% line.id" data-toggle="tab"><i class="icon-chevron-right"></i><t t-raw="line.product_id.name_template"/> </a></li>
|
||||
</t>
|
||||
<li><a href="#quote" data-toggle="tab"><i class="icon-chevron-right"></i> Quotation</a></li>
|
||||
<li><a href="#quote" data-toggle="tab"><i class="icon-chevron-right"></i> Pricing</a></li>
|
||||
<li><a href="#terms" data-toggle="tab"><i class="icon-chevron-right"></i> Terms & Conditions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue