Merge lp:~openerp-dev/openobject-addons/trunk-imp-quote-builder-dka into lp:openobject-addons

Proposed by Paramjit Singh Sahota(OpenERP)
Status: Work in progress
Proposed branch: lp:~openerp-dev/openobject-addons/trunk-imp-quote-builder-dka
Merge into: lp:openobject-addons
Diff against target: 511 lines (+171/-161)
6 files modified
website_quote/data/website_quotation_data.xml (+1/-1)
website_quote/data/website_quotation_demo.xml (+80/-148)
website_quote/models/order.py (+26/-4)
website_quote/static/src/css/website_quotation.css (+7/-0)
website_quote/views/website_quotation.xml (+1/-1)
website_quote/views/website_quotation_backend.xml (+56/-7)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/trunk-imp-quote-builder-dka
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+217905@code.launchpad.net
To post a comment you must log in.
9382. By Paramjit Singh Sahota(OpenERP)

[MERGE] Merged lp:openobject-addons.

9383. By Paramjit Singh Sahota(OpenERP)

[MERGE]Merged lp:openobject-addons.

9384. By Paramjit Singh Sahota(OpenERP)

[FIX] Fixed the issue 'send the quote, the url refer to a signup, it shouldn't and it does not work in an incognito window'

9385. By Paramjit Singh Sahota(OpenERP)

[FIX] Fixed the issue:: mobile preview: the left menu overlapas the quote

9386. By Paramjit Singh Sahota(OpenERP)

[IMP] Improved code to have ' Promote products with a designed quotation template you send by email. ' added in nocontent of quotations when website_quote is installed.

9387. By Paramjit Singh Sahota(OpenERP)

[IMP] Improved code 'Create a quotaion, the template is setted by default'

9388. By Mahendra Barad(OpenERP)

[Merge]with trunk

9389. By Mahendra Barad(OpenERP)

[FIX]typo

Unmerged revisions

9389. By Mahendra Barad(OpenERP)

[FIX]typo

9388. By Mahendra Barad(OpenERP)

[Merge]with trunk

9387. By Paramjit Singh Sahota(OpenERP)

[IMP] Improved code 'Create a quotaion, the template is setted by default'

9386. By Paramjit Singh Sahota(OpenERP)

[IMP] Improved code to have ' Promote products with a designed quotation template you send by email. ' added in nocontent of quotations when website_quote is installed.

9385. By Paramjit Singh Sahota(OpenERP)

[FIX] Fixed the issue:: mobile preview: the left menu overlapas the quote

9384. By Paramjit Singh Sahota(OpenERP)

[FIX] Fixed the issue 'send the quote, the url refer to a signup, it shouldn't and it does not work in an incognito window'

9383. By Paramjit Singh Sahota(OpenERP)

[MERGE]Merged lp:openobject-addons.

9382. By Paramjit Singh Sahota(OpenERP)

[MERGE] Merged lp:openobject-addons.

9381. By Darshan Kalola(OpenERP)

[IMP]website_quote:added quote_viewed boolean field to set button highlight or set as gray.

9380. By Darshan Kalola(OpenERP)

[MERGE]sync with trunk.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'website_quote/data/website_quotation_data.xml'
2--- website_quote/data/website_quotation_data.xml 2014-01-25 23:25:25 +0000
3+++ website_quote/data/website_quotation_data.xml 2014-05-19 11:53:30 +0000
4@@ -5,7 +5,7 @@
5 Update Email template to send right quote url
6 -->
7
8- <record id="sale.email_template_edi_sale" model="email.template">
9+ <record id="portal_sale.email_template_edi_sale" model="email.template">
10 <field name="body_html"><![CDATA[
11 <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; ">
12
13
14=== modified file 'website_quote/data/website_quotation_demo.xml'
15--- website_quote/data/website_quotation_demo.xml 2014-01-25 23:08:47 +0000
16+++ website_quote/data/website_quotation_demo.xml 2014-05-19 11:53:30 +0000
17@@ -58,95 +58,70 @@
18 <field name="website_description" type="xml">
19
20 <section data-snippet-id="title">
21- <h1 class="page-header">Our Partnership Offer</h1>
22+ <h1 class="page-header">Our Customer Offer</h1>
23 </section>
24 <section data-snippet-id="text-block">
25 <div class="row">
26 <div class="col-md-12">
27 <p>
28- Our partnership offer includes all you need to
29- grow your business and deliver quality services
30- with the OpenERP Partner Program.
31+ Our partnership offer includes all you need to grow your business 
32+ and deliver quality services with the our Partner Program.
33 </p><p>
34- It includes <strong>discounts on OpenERP
35- Enterprise</strong>, technical and/or functional
36- <strong>trainings</strong>,
37- <strong>support</strong> services,
38- <strong>marketing documents</strong>, access to
39- the <strong>partner portal</strong>, rights to
40- <strong>use the trademark</strong>, sales support
41- from a <strong>dedicated account manager</strong>.
42- </p>
43- </div>
44- </div>
45- </section>
46-
47- <section data-snippet-id="pricing">
48- <div class="row mt32">
49- <div class="col-md-4">
50- <div class="panel panel-info">
51- <div class="panel-heading">
52- <h3 class="panel-title">A Valuable Product</h3>
53- </div>
54- <div class="panel-body">
55- <p>
56- Deliver <strong>strong value added services</strong> as you can
57- rely on a leading open source software, with
58- the support of the publisher.
59- <p></p>
60- <strong>Grow with your existing customer base</strong>
61- by continuously proposing new modules.
62- </p>
63- </div>
64- </div>
65- </div>
66- <div class="col-md-4">
67- <div class="panel panel-info">
68- <div class="panel-heading">
69- <h3 class="panel-title">A Strong Demand</h3>
70- </div>
71- <div class="panel-body">
72- <p>
73- Enjoy the traction of the <strong>fastest growing
74- management software</strong> in the world.
75- </p><p>
76- Benefit from the growing customer demand
77- and our OpenERP brand.
78- </p>
79- </div>
80- </div>
81- </div>
82- <div class="col-md-4">
83- <div class="panel panel-info">
84- <div class="panel-heading">
85- <h3 class="panel-title">High Margins</h3>
86- </div>
87- <div class="panel-body">
88- <p>
89- <strong>Get high billing rates</strong> as you deliver a
90- highly valuable software.
91- </p><p>
92- Grow by developing a <strong>recurring
93- revenue flow</strong> from OpenERP
94- Enterprise's commission system.
95- </p>
96- </div>
97- </div>
98- </div>
99- </div>
100- </section>
101-
102- <section data-snippet-id="text-block">
103- <h2>A Dedicated Account Manager</h2>
104- <p>
105- We will assign you a dedicated account manager, an
106- experienced sales person, to help you develop your
107- OpenERP business. The account manager helps you get
108- leads, close deals, gives you feedback and best
109- practices, delivers sales training and is your direct
110- point of contact for any request you may have.
111- </p>
112- </section>
113+ It includes <strong>discounts</strong>, technical and/or functional 
114+ <strong>trainings</strong>, <strong>support</strong> 
115+ services, <strong>marketing documents</strong>,
116+ access to the <strong>portal</strong>, sales support from a 
117+ <strong>dedicated account manager</strong>.
118+ </p>
119+ </div>
120+ </div>
121+ </section>
122+
123+ <section data-snippet-id="pricing1">
124+ <div class="panel panel-info">
125+ <div class="panel-heading">
126+ <h3 class="panel-title">A Valuable Product</h3>
127+ </div>
128+ <div class="panel-body">
129+ <p>
130+ Deliver <strong>strong value added services</strong> 
131+ as you can rely on a leading open source software, 
132+ with the support of the publisher.
133+ </p>
134+ </div>
135+ </div>
136+ </section>
137+ <section data-snippet-id="pricing2">
138+ <div class="panel panel-info">
139+ <div class="panel-heading">
140+ <h3 class="panel-title">A Strong Demand</h3>
141+ </div>
142+ <div class="panel-body">
143+ <p>
144+ Enjoy the traction of the <strong>fastest growing management</strong> 
145+ in the world.
146+ </p><p>
147+ Benefit from the growing customer demand and our brand.
148+ </p>
149+ </div>
150+ </div>
151+ </section>
152+ <section data-snippet-id="pricing3">
153+ <div class="panel panel-info">
154+ <div class="panel-heading">
155+ <h3 class="panel-title">High Margins</h3>
156+ </div>
157+ <div class="panel-body">
158+ <p>
159+ <strong>Get high billing rates</strong> 
160+ as you deliver a highly valuable product.
161+ </p><p>
162+ Grow by developing a <strong>recurring revenue flow</strong> 
163+ from the Enterprise's commission system.
164+ </p>
165+ </div>
166+ </div>
167+ </section>
168
169 <section data-snippet-id="text-block">
170 <div class="row">
171@@ -155,11 +130,10 @@
172 </div>
173 <div class="col-md-7">
174 <p>
175- For an extra fee, partners can get access to OpenERP's
176- core developers and functional experts. This can help
177- you succeed in delivering more complex or bigger
178- projects by getting the support of highly experienced
179- consultants on demand.
180+ For an extra fee, partners can get access to core R&amp;D team members 
181+ and experts. This can help you succeed in delivering more complex or 
182+ bigger projects by getting the support 
183+ of highly experienced consultants on demand.
184 </p>
185 </div>
186 <div class="col-md-5">
187@@ -175,12 +149,12 @@
188 </div>
189 <div class="col-md-7">
190 <p>
191- OpenERP promotes its partners through various ways:
192- publication on our website, official communication,
193- publication of your success stories, etc. As soon as
194- you become an OpenERP partner and have followed the
195- official trainings, you will be visible on the partner
196- directory listing.
197+ Our Team promotes its partners through various ways: 
198+ publication on our website, official communication, 
199+ publication of your success stories, etc. As soon as 
200+ you become a partner and have followed the official 
201+ trainings, you will be visible on the partner directory 
202+ listing.
203 </p>
204 </div>
205 <div class="col-md-5">
206@@ -196,12 +170,11 @@
207 </div>
208 <div class="col-md-7">
209 <p>
210- Every year, we redirect more than 100,000 customer
211- requests to our official partners. These are prospects
212- that filled a form on the OpenERP website and wanted to
213- use OpenERP. The right partner to fulfill the customer
214- request is selected based on the customer localization
215- (nearest partner) and the grade of the partner.
216+ Every year, we redirect more than 100,000 customer requests to our partners. 
217+ These are prospects that filled a form on the our website and wanted to use
218+ the product. The right partner to fulfill the customer request is selected
219+ based on the customer localization (nearest partner) and the grade of 
220+ the partner.
221 </p>
222 </div>
223 <div class="col-md-5">
224@@ -209,42 +182,6 @@
225 </div>
226 </div>
227 </section>
228-
229- <section data-snippet-id="text-block">
230- <h2>Benefit from the OpenERP branding</h2>
231- <p>
232- Every year, we redirect more than 100,000 customer
233- requests to our official partners. These are prospects
234- that filled a form on the OpenERP website and wanted to
235- use OpenERP. The right partner to fulfill the customer
236- request is selected based on the customer localization
237- (nearest partner) and the grade of the partner.
238- </p>
239- </section>
240-
241- <section class="mb32" data-snippet-id="text-block">
242- <h2>Test developments automatically</h2>
243- <div class="row">
244- <div class="col-md-5">
245- <img src="/website_quote/static/src/img/partner_sc_01.png" class="img shadow"/>
246- </div>
247- <div class="col-md-7">
248- <p class="mt23">
249- Save time in your implementation project by having your
250- developments tested automatically by our automated test
251- servers. At every code commit, you get a full OpenERP
252- instance that you can try out online. When this
253- instance is deployed, your code is automatically put
254- through our 2000+ automated unit tests.
255- </p><p>
256- Our automated testing server software is called Runbot,
257- and you can try it out here: http://runbot.openerp.com.
258- A dedicated runbot server is available for every
259- partner.
260- </p>
261- </div>
262- </div>
263- </section>
264 </field>
265 </record>
266
267@@ -258,27 +195,22 @@
268 <field name="discount">10.00</field>
269 <field name="website_description" type="html">
270 <section data-snippet-id="title">
271- <h1>Online Training + Certification</h1>
272+ <h1>Training + Certification</h1>
273 </section>
274 <section data-snippet-id="text-image">
275 <div class="row">
276 <div class="col-md-12 mb32">
277- <p>These courses feature the same high quality course content found in our traditional classroom trainings, supplemented with modular sessions and cloud-based labs. Many of our online learning courses also include dozens of recorded webinars and live sessions by our senior instructors. At the end of the training, you can pass the OpenERP Certification exam in one of the 5000+ Pearson VUE test centers worldwide.</p>
278- </div>
279- <div class="col-md-offset-1">
280- <h3>Your advantages</h3>
281- <ul>
282- <li>Modular approach applied to the learning method</li>
283- <li>New interactive learning experience</li>
284- <li>Lower training budget for the same quality courses</li>
285- <li>Better comfort to facilitate your learning process</li>
286- </ul>
287+ <p>
288+ These courses feature the same high quality course content found in our traditional classroom trainings, supplemented with
289+ modular sessions and cloud­based labs. Many of our online learning courses also include dozens of recorded webinars and live 
290+ sessions by our senior instructors. At the end of the training, you can pass the Certification exam.
291+ </p>
292 </div>
293 <div class="col-md-12">
294 <h2>Structure of the Training</h2>
295 </div>
296 <div class="col-md-5 col-md-offset-1 mt16 mb16">
297- <img class="img img-responsive" src="https://www.openerp.com/saas_master/static/site_new/img/layout/online_training.png"/>
298+ <img class="img img-responsive" src="https://www.odoo.com/saas_master/static/site_new/img/layout/online_training.png"/>
299 </div>
300 <div class="col-md-6 mt32">
301 <h4><strong>There are three components to the training</strong></h4>
302
303=== modified file 'website_quote/models/order.py'
304--- website_quote/models/order.py 2014-04-11 14:20:22 +0000
305+++ website_quote/models/order.py 2014-05-19 11:53:30 +0000
306@@ -32,7 +32,7 @@
307 _columns = {
308 'name': fields.char('Quotation Template', size=256, required=True),
309 'website_description': fields.html('Description', translate=True),
310- 'quote_line': fields.one2many('sale.quote.line', 'quote_id', 'Quote Template Lines'),
311+ 'quote_line': fields.one2many('sale.quote.line', 'quote_id', 'Quotation Template Lines'),
312 'note': fields.text('Terms and conditions'),
313 'options': fields.one2many('sale.quote.option', 'template_id', 'Optional Products Lines'),
314 'number_of_days': fields.integer('Quote Duration', help='Number of days for the validaty date computation of the quotation'),
315@@ -111,19 +111,38 @@
316
317 _columns = {
318 'access_token': fields.char('Security Token', size=256, required=True),
319- 'template_id': fields.many2one('sale.quote.template', 'Quote Template'),
320+ 'template_id': fields.many2one('sale.quote.template', 'Quotation Template'),
321 'website_description': fields.html('Description'),
322 'options' : fields.one2many('sale.order.option', 'order_id', 'Optional Products Lines'),
323 'validity_date': fields.date('Validity Date'),
324 'amount_undiscounted': fields.function(_get_total, string='Amount Before Discount', type="float",
325- digits_compute=dp.get_precision('Account'))
326+ digits_compute=dp.get_precision('Account')),
327+ 'quote_viewed': fields.boolean('Quotation Viewed'),
328 }
329+
330+ def _default_template(self, cr, uid, context=None):
331+ if context is None:
332+ context = {}
333+ if 'template_id' in context and context['template_id']:
334+ return context['template_id']
335+ model_obj = self.pool.get('ir.model.data')
336+ res = False
337+ try:
338+ res = model_obj.get_object_reference(cr, uid, 'website_quote', 'website_quote_template_1')[1]
339+ except ValueError:
340+ res = False
341+ return res
342+
343+
344 _defaults = {
345- 'access_token': lambda self, cr, uid, ctx={}: str(uuid.uuid4())
346+ 'access_token': lambda self, cr, uid, ctx={}: str(uuid.uuid4()),
347+ 'template_id': _default_template,
348+ 'quote_viewed': False
349 }
350
351 def open_quotation(self, cr, uid, quote_id, context=None):
352 quote = self.browse(cr, uid, quote_id[0], context=context)
353+ self.write(cr, uid, quote_id[0], {'quote_viewed': True}, context=context)
354 return {
355 'type': 'ir.actions.act_url',
356 'target': 'self',
357@@ -134,6 +153,9 @@
358 if not template_id:
359 return True
360
361+ if not partner:
362+ return True
363+
364 if context is None:
365 context = {}
366 context = dict(context, lang=self.pool.get('res.partner').browse(cr, uid, partner, context).lang)
367
368=== modified file 'website_quote/static/src/css/website_quotation.css'
369--- website_quote/static/src/css/website_quotation.css 2014-01-25 17:24:55 +0000
370+++ website_quote/static/src/css/website_quotation.css 2014-05-19 11:53:30 +0000
371@@ -5,6 +5,13 @@
372 border-radius: 5px;
373 }
374
375+/* mobile preview: the left menu overlapas the quote */
376+@media (max-width: 768px) {
377+ .bs-sidebar {
378+ position: absolute;
379+ }
380+}
381+
382 .bs-sidenav {
383 padding-top: 10px;
384 padding-bottom: 10px;
385
386=== modified file 'website_quote/views/website_quotation.xml'
387--- website_quote/views/website_quotation.xml 2014-01-28 20:50:17 +0000
388+++ website_quote/views/website_quotation.xml 2014-05-19 11:53:30 +0000
389@@ -242,7 +242,7 @@
390 <em t-esc="quotation.name"/>
391 <small t-field="quotation.state"/>
392 <div groups="base.group_website_publisher" t-ignore="true" class="pull-right css_editable_mode_hidden">
393- <a class="btn btn-info hidden-print" t-att-href="'/web#return_label=Website&amp;model=%s&amp;id=%s' % (quotation._name, quotation.id)">Update Quote</a>
394+ <a class="btn btn-info hidden-print" t-att-href="'/web#return_label=Website&amp;model=%s&amp;id=%s' % (quotation._name, quotation.id)">Update and Send the Quote</a>
395 </div>
396 </h1>
397
398
399=== modified file 'website_quote/views/website_quotation_backend.xml'
400--- website_quote/views/website_quotation_backend.xml 2014-01-25 22:10:59 +0000
401+++ website_quote/views/website_quotation_backend.xml 2014-05-19 11:53:30 +0000
402@@ -7,14 +7,36 @@
403 <field name="inherit_id" ref="sale.view_order_form"/>
404 <field name="arch" type="xml">
405 <xpath expr="//header/button[@name='invoice_corrected']" position="after">
406- <button name="open_quotation" string="View Quotation" type="object"
407- attrs="{'invisible': [('template_id','=',False)]}"/>
408+ <button name="open_quotation" string="View &amp; Design Quotation"
409+ type="object"
410+ class="oe_highlight"
411+ attrs="{'invisible': ['|',('template_id','=',False),('quote_viewed','=',True)]}"/>
412+ </xpath>
413+ <xpath expr="//header/button[@name='invoice_corrected']" position="after">
414+ <button name="open_quotation" string="View &amp; Design Quotation"
415+ type="object"
416+ attrs="{'invisible': ['|',('template_id','=',False),('quote_viewed','=',False)]}"/>
417+ </xpath>
418+ <xpath expr="//header/button[@name='action_quotation_send'][1]" position="replace">
419+ <button name="action_quotation_send" string="Send by Email" type="object"
420+ groups="base.group_user"
421+ attrs="{'invisible': ['|',('quote_viewed','=',True),('state','!=', 'draft')]}"/>
422+ <button name="action_quotation_send" string="Send by Email" type="object"
423+ groups="base.group_user"
424+ class="oe_highlight"
425+ attrs="{'invisible': ['|',('quote_viewed','=',False),('state','!=', 'draft')]}"/>
426+ </xpath>
427+ <xpath expr="//header/button[@name='print_quotation'][1]" position="replace">
428+ <button name="print_quotation" string="Print" type="object"
429+ states="draft"
430+ groups="base.group_user"/>
431 </xpath>
432 <xpath expr="//page[@string='Order Lines']" position="after">
433 <page string="Suggested Products">
434 <label string="Optional Products &amp; Services" for="options"/>
435+ <field name="quote_viewed" invisible="1"/>
436 <field name="options">
437- <tree string="Sales Quote Template Lines" editable="bottom">
438+ <tree string="Sales Quotation Template Lines" editable="bottom">
439 <field name="product_id" on_change="on_change_product_id(product_id)"/>
440 <field name="name"/>
441 <field name="quantity"/>
442@@ -59,7 +81,7 @@
443 <notebook>
444 <page string="Lines">
445 <field name="quote_line">
446- <form string="Sales Quote Template Lines" version="7.0">
447+ <form string="Sales Quotation Template Lines" version="7.0">
448 <group>
449 <group>
450 <field name="product_id" on_change="on_change_product_id(product_id)"/>
451@@ -84,7 +106,7 @@
452 </page>
453 </notebook>
454 </form>
455- <tree string="Sales Quote Template Lines" editable="bottom">
456+ <tree string="Sales Quotation Template Lines" editable="bottom">
457 <field name="product_id" on_change="on_change_product_id(product_id)"/>
458 <field name="name"/>
459 <field name="product_uom_qty"/>
460@@ -97,7 +119,7 @@
461 </page>
462 <page string="Suggested Products">
463 <field name="options">
464- <tree string="Sales Quote Template Lines" editable="bottom">
465+ <tree string="Sales Quotation Template Lines" editable="bottom">
466 <field name="product_id" on_change="on_change_product_id(product_id)"/>
467 <field name="name"/>
468 <field name="quantity"/>
469@@ -120,7 +142,7 @@
470 <field name="model">sale.quote.template</field>
471 <field name="type">tree</field>
472 <field name="arch" type="xml">
473- <tree string="Sale Quote Template">
474+ <tree string="Sale Quotation Template">
475 <field name="name"/>
476 </tree>
477 </field>
478@@ -131,6 +153,33 @@
479 <field name="res_model">sale.quote.template</field>
480 <field name="view_type">form</field>
481 <field name="view_mode">tree,form</field>
482+ <field name="help" type="html">
483+ <p class="oe_view_nocontent_create">
484+ Click here to create your template.
485+ </p><p>
486+ Use templates to create polished, professional quotes in minutes.
487+ Send these quotes by email and let your customer sign online.
488+ Use cross-selling and discounts to push and boost your sales.
489+ </p>
490+ </field>
491+ </record>
492+
493+ <record id="sale.action_quotations" model="ir.actions.act_window">
494+ <field name="help" type="html">
495+ <p class="oe_view_nocontent_create">
496+ Click to create a quotation, the first step of a new sale.
497+ </p><p>
498+ OpenERP will help you handle efficiently the complete sale flow:
499+ from the quotation to the sales order, the
500+ delivery, the invoicing and the payment collection.
501+ </p><p>
502+ Promote products with a designed quotation template you send by email.
503+ </p><p>
504+ The social feature helps you organize discussions on each sales
505+ order, and allow your customers to keep track of the evolution
506+ of the sales order.
507+ </p>
508+ </field>
509 </record>
510
511 <menuitem action="action_sale_quotation_template" id="menu_sale_quote_template" parent="base.menu_base_config" sequence="6" groups="base.group_sale_salesman,base.group_sale_manager"/>

Subscribers

People subscribed via source and target branches

to all changes: