@ -0,0 +1,20 @@ | 
				
			|||||
 | 
					POS Claims v9 | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					This application allows you to track your customers/vendors pos claims and grievances. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Installation | 
				
			||||
 | 
					============ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Just select it from available modules to install it, there is no need to extra installations. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Configuration | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Nothing to configure. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Credits | 
				
			||||
 | 
					======= | 
				
			||||
 | 
					Developers: Jesni Banu & Saritha | 
				
			||||
 | 
					Guidance: Nilmar Shereef @ cybrosys, shereef@cybrosys.in | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Cybrosys Technologies (<http://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					from . import models | 
				
			||||
@ -0,0 +1,40 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Cybrosys Technologies (<http://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': "POS Claims", | 
				
			||||
 | 
					    'version': '9.0.1.0.0', | 
				
			||||
 | 
					    'summary': """Manage your customer claims""", | 
				
			||||
 | 
					    'description': """ This application allows you to manage your customers claims.""", | 
				
			||||
 | 
					    'category': 'Point of sale', | 
				
			||||
 | 
					    'author': "Cybrosys Techno Solutions", | 
				
			||||
 | 
					    'website': "http://www.cybrosys.com", | 
				
			||||
 | 
					    'company': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'depends': ['base', 'point_of_sale'], | 
				
			||||
 | 
					    'data': ['views/pos_claims_views.xml', 'views/pos_claims_popup.xml', 'views/pos_claim_sequence.xml'], | 
				
			||||
 | 
					    'qweb': ['static/src/xml/pos_claim.xml'], | 
				
			||||
 | 
					    'images': ['static/description/banner.jpg'], | 
				
			||||
 | 
					    'license': 'AGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto_install': False, | 
				
			||||
 | 
					    'application': False, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,24 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Cybrosys Technologies (<http://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					from . import pos_claim | 
				
			||||
@ -0,0 +1,165 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					#    Copyright (C) 2017-TODAY Cybrosys Technologies(<http://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Cybrosys Technologies (<http://www.cybrosys.com>) | 
				
			||||
 | 
					#    you can modify it under the terms of the GNU LESSER | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    It is forbidden to publish, distribute, sublicense, or sell copies | 
				
			||||
 | 
					#    of the Software or modified copies of the Software. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    This program is distributed in the hope that it will be useful, | 
				
			||||
 | 
					#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			||||
 | 
					#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			||||
 | 
					#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					############################################################################## | 
				
			||||
 | 
					from openerp import SUPERUSER_ID | 
				
			||||
 | 
					from openerp import models, fields, api, _ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class PosClaims(models.Model): | 
				
			||||
 | 
					    _name = 'pos.claims' | 
				
			||||
 | 
					    _description = "Claim" | 
				
			||||
 | 
					    _inherit = ['mail.thread'] | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    name = fields.Many2one('pos.order', string='Claim Order', required=True) | 
				
			||||
 | 
					    ref_name = fields.Char(string="Claim Ticket", readonly=True, default=lambda self: _('New')) | 
				
			||||
 | 
					    claim_product = fields.Many2one('pos.order.line', string="Product", | 
				
			||||
 | 
					                                    domain="[('order_id', '=',name)]", required=True) | 
				
			||||
 | 
					    claim_qty = fields.Integer(string="Quantity") | 
				
			||||
 | 
					    claim_date = fields.Datetime(string='Claim Date', default=fields.Datetime.now, required=True) | 
				
			||||
 | 
					    session_id = fields.Many2one('pos.session', string='Session', related='name.session_id') | 
				
			||||
 | 
					    user_id = fields.Many2one('res.users', string="Assigned Person") | 
				
			||||
 | 
					    priority = fields.Selection([('0', 'Low'), ('1', 'Normal'), ('2', 'High')], 'Priority') | 
				
			||||
 | 
					    partner_id = fields.Many2one('res.partner', string='Partner', required=1) | 
				
			||||
 | 
					    partner_phone = fields.Char(string='Phone') | 
				
			||||
 | 
					    partner_email = fields.Char(string='Email', related='partner_id.email') | 
				
			||||
 | 
					    description = fields.Text(string='Description') | 
				
			||||
 | 
					    user_fault = fields.Char(string='Trouble Responsible') | 
				
			||||
 | 
					    cate_id = fields.Selection([('0', 'Factual Claims'), ('1', 'Value Claims'), ('2', 'Policy Claim')], 'Category Id', | 
				
			||||
 | 
					                               ) | 
				
			||||
 | 
					    date_action_next = fields.Datetime(string='Next Action Date') | 
				
			||||
 | 
					    action_next = fields.Char(string='Next Action') | 
				
			||||
 | 
					    resolution = fields.Text(string='Resolution') | 
				
			||||
 | 
					    cause = fields.Text(string='Root Cause') | 
				
			||||
 | 
					    type_action = fields.Selection([('correction', 'Corrective Action'), | 
				
			||||
 | 
					                                    ('prevention', 'Preventive Action')], 'Action Type') | 
				
			||||
 | 
					    date_closed = fields.Datetime('Closed') | 
				
			||||
 | 
					    state = fields.Selection([ | 
				
			||||
 | 
					        ('new', 'New'), | 
				
			||||
 | 
					        ('assigned', 'Assigned'), | 
				
			||||
 | 
					        ('feedback', 'Feedback'), | 
				
			||||
 | 
					        ('paid', 'Paid'), | 
				
			||||
 | 
					        ('settle', 'Settled'), | 
				
			||||
 | 
					        ('reject', 'Rejected'), | 
				
			||||
 | 
					    ], default='new') | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    def create_from_ui(self, cr, uid, claim, context=None): | 
				
			||||
 | 
					        """ create claims from the point of sale ui. """ | 
				
			||||
 | 
					        claim_id = self.create(cr, uid, claim, context=context) | 
				
			||||
 | 
					        return claim_id | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def create(self, vals): | 
				
			||||
 | 
					        if vals.get('ref_name', 'New') == 'New': | 
				
			||||
 | 
					            vals['ref_name'] = self.env['ir.sequence'].next_by_code('pos.claims') or 'New' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        if vals.get('user_id'): | 
				
			||||
 | 
					            vals['state'] = 'assigned' | 
				
			||||
 | 
					        result = super(PosClaims, self).create(vals) | 
				
			||||
 | 
					        result.claim_ticket() | 
				
			||||
 | 
					        return result | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def write(self, vals): | 
				
			||||
 | 
					        if vals.get('user_id'): | 
				
			||||
 | 
					            vals['state'] = 'assigned' | 
				
			||||
 | 
					        result = super(PosClaims, self).write(vals) | 
				
			||||
 | 
					        return result | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def action_settle(self): | 
				
			||||
 | 
					        self.state = 'settle' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def action_reject(self): | 
				
			||||
 | 
					        self.state = 'reject' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.one | 
				
			||||
 | 
					    def claim_ticket(self): | 
				
			||||
 | 
					        su_id = self.env['res.partner'].browse(SUPERUSER_ID) | 
				
			||||
 | 
					        self.ensure_one() | 
				
			||||
 | 
					        ir_model_data = self.env['ir.model.data'] | 
				
			||||
 | 
					        try: | 
				
			||||
 | 
					            template_id = ir_model_data.get_object_reference('pos_claims', 'email_template_edi_pos_ticket')[1] | 
				
			||||
 | 
					        except ValueError: | 
				
			||||
 | 
					            template_id = False | 
				
			||||
 | 
					        email_template_obj = self.env['mail.template'].browse(template_id) | 
				
			||||
 | 
					        if template_id: | 
				
			||||
 | 
					            values = email_template_obj.generate_email(self.id, fields=None) | 
				
			||||
 | 
					            values['email_from'] = su_id.email | 
				
			||||
 | 
					            values['email_to'] = self.partner_id.email | 
				
			||||
 | 
					            values['res_id'] = False | 
				
			||||
 | 
					            mail_mail_obj = self.env['mail.mail'] | 
				
			||||
 | 
					            msg_id = mail_mail_obj.create(values) | 
				
			||||
 | 
					            if msg_id: | 
				
			||||
 | 
					                msg_id.send() | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def action_sent(self): | 
				
			||||
 | 
					        self.ensure_one() | 
				
			||||
 | 
					        ir_model_data = self.env['ir.model.data'] | 
				
			||||
 | 
					        try: | 
				
			||||
 | 
					            template_id = ir_model_data.get_object_reference('pos_claims', 'email_template_edi_pos_claims')[1] | 
				
			||||
 | 
					        except ValueError: | 
				
			||||
 | 
					            template_id = False | 
				
			||||
 | 
					        try: | 
				
			||||
 | 
					            compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1] | 
				
			||||
 | 
					        except ValueError: | 
				
			||||
 | 
					            compose_form_id = False | 
				
			||||
 | 
					        ctx = dict() | 
				
			||||
 | 
					        ctx.update({ | 
				
			||||
 | 
					            'default_model': 'pos.claims', | 
				
			||||
 | 
					            'default_res_id': self.ids[0], | 
				
			||||
 | 
					            'default_use_template': bool(template_id), | 
				
			||||
 | 
					            'default_template_id': template_id, | 
				
			||||
 | 
					            'default_composition_mode': 'comment', | 
				
			||||
 | 
					        }) | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'type': 'ir.actions.act_window', | 
				
			||||
 | 
					            'view_type': 'form', | 
				
			||||
 | 
					            'view_mode': 'form', | 
				
			||||
 | 
					            'res_model': 'mail.compose.message', | 
				
			||||
 | 
					            'views': [(compose_form_id, 'form')], | 
				
			||||
 | 
					            'view_id': compose_form_id, | 
				
			||||
 | 
					            'target': 'new', | 
				
			||||
 | 
					            'context': ctx, | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class MailComposeMessage(models.TransientModel): | 
				
			||||
 | 
					    _inherit = 'mail.compose.message' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.multi | 
				
			||||
 | 
					    def send_mail(self, auto_commit=False): | 
				
			||||
 | 
					        if self._context.get('default_model') == 'pos.claims' and self._context.get('default_res_id'): | 
				
			||||
 | 
					            order = self.env['pos.claims'].browse([self._context['default_res_id']]) | 
				
			||||
 | 
					            if order.state == 'assigned': | 
				
			||||
 | 
					                order.state = 'feedback' | 
				
			||||
 | 
					            order.sent = True | 
				
			||||
 | 
					            self = self.with_context(mail_post_autofollow=True) | 
				
			||||
 | 
					        return super(MailComposeMessage, self).send_mail(auto_commit=auto_commit) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
| 
		 After Width: | Height: | Size: 128 KiB  | 
| 
		 After Width: | Height: | Size: 20 KiB  | 
| 
		 After Width: | Height: | Size: 91 KiB  | 
| 
		 After Width: | Height: | Size: 91 KiB  | 
| 
		 After Width: | Height: | Size: 102 KiB  | 
| 
		 After Width: | Height: | Size: 17 KiB  | 
@ -0,0 +1,114 @@ | 
				
			|||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <h2 class="oe_slogan">POS Claims</h2> | 
				
			||||
 | 
					        <h3 class="oe_slogan">Manage Customer Claims</h3> | 
				
			||||
 | 
					        <h4 class="oe_slogan">Cybrosys Technologies , www.cybrosys.com</h4> | 
				
			||||
 | 
					        <div> | 
				
			||||
 | 
					            <h4><p>Features:</p></h4> | 
				
			||||
 | 
					            <ul> | 
				
			||||
 | 
					                <div class="col-md-6"> | 
				
			||||
 | 
					                ☀Easily create claims from POS interface.<br> | 
				
			||||
 | 
					                ☀ Automatic stage changes for assignment of claims.<br> | 
				
			||||
 | 
					                ☀ Email Notification.<br> | 
				
			||||
 | 
					                ☀ Calender view.<br> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					            </ul> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <div class="oe_span12"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					            	<img src="pos_claims.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="oe_span12"> | 
				
			||||
 | 
					            <p class='oe_mt32'><center> | 
				
			||||
 | 
					                This application allows you to manage your customers claims. | 
				
			||||
 | 
					            </center></p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <h3 class="oe_slogan">Create Claims</h3> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					            	<img src="interface_pos.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					        <p class='oe_mt32'> | 
				
			||||
 | 
					            Create claims easily from pos interface.Ticket is generated automatically and | 
				
			||||
 | 
					            it is send to corresponding user on creation of claims. | 
				
			||||
 | 
					        </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_space"> | 
				
			||||
 | 
					        <h3 class="oe_slogan"> Automatic Stage Change</h3> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					        <p class='oe_mt32'> | 
				
			||||
 | 
					                On assigning claim to responsible user,state of claim is changed. | 
				
			||||
 | 
					        </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img src="claim_state_change.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <h3 class="oe_slogan">Email Notification</h3> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					            	<img src="email.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					        <p class='oe_mt32'> | 
				
			||||
 | 
					         An email is sent to corresponding customer | 
				
			||||
 | 
					        </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container oe_dark"> | 
				
			||||
 | 
					    <div class="oe_row oe_space"> | 
				
			||||
 | 
					        <h3 class="oe_slogan"> Calender view</h3> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					        <p class='oe_mt32'> | 
				
			||||
 | 
					        You can see all your next action on calender view | 
				
			||||
 | 
					        </p> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="oe_span6"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					                <img src="calender.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<section class="oe_container"> | 
				
			||||
 | 
					    <div class="oe_row oe_spaced"> | 
				
			||||
 | 
					        <h3 class="oe_slogan">View your claims</h3> | 
				
			||||
 | 
					        <div class="oe_span12"> | 
				
			||||
 | 
					            <div class="oe_demo oe_picture oe_screenshot"> | 
				
			||||
 | 
					            	<img src="claim.png"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</section> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
| 
		 After Width: | Height: | Size: 127 KiB  | 
| 
		 After Width: | Height: | Size: 83 KiB  | 
| 
		 After Width: | Height: | Size: 142 KiB  | 
@ -0,0 +1,184 @@ | 
				
			|||||
 | 
					odoo.define('point_of_sale.pos_claims', function (require) { | 
				
			||||
 | 
					"use strict"; | 
				
			||||
 | 
					var chrome = require('point_of_sale.chrome'); | 
				
			||||
 | 
					var db = require('point_of_sale.DB'); | 
				
			||||
 | 
					var gui = require('point_of_sale.gui'); | 
				
			||||
 | 
					var models = require('point_of_sale.models'); | 
				
			||||
 | 
					var Model = require('web.DataModel'); | 
				
			||||
 | 
					var popup = require('point_of_sale.popups'); | 
				
			||||
 | 
					var Model = require('web.DataModel'); | 
				
			||||
 | 
					var core = require('web.core'); | 
				
			||||
 | 
					var QWeb = core.qweb; | 
				
			||||
 | 
					var _t = core._t; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					models.load_models({ | 
				
			||||
 | 
					    model: 'pos.order', | 
				
			||||
 | 
					    fields: ['name', 'lines', 'partner_id'], | 
				
			||||
 | 
					    loaded: function(self,claim_orders){ | 
				
			||||
 | 
					        self.order = []; | 
				
			||||
 | 
					        for (var i = 0; i < claim_orders.length; i++) { | 
				
			||||
 | 
					            self.order[i] = claim_orders[i]; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					}); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					models.load_models({ | 
				
			||||
 | 
					    model: 'res.partner', | 
				
			||||
 | 
					    fields: ['name', 'id', 'email'], | 
				
			||||
 | 
					    loaded: function(self,claim_customers){ | 
				
			||||
 | 
					        self.customer = []; | 
				
			||||
 | 
					        for (var i = 0; i < claim_customers.length; i++) { | 
				
			||||
 | 
					            self.customer[i] = claim_customers[i]; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					}); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					models.load_models({ | 
				
			||||
 | 
					    model: 'pos.order.line', | 
				
			||||
 | 
					    fields: ['product_id','qty'], | 
				
			||||
 | 
					    loaded: function(self,claim_products){ | 
				
			||||
 | 
					    self.order_line = []; | 
				
			||||
 | 
					    for (var i = 0; i < claim_products.length; i++) { | 
				
			||||
 | 
					        self.order_line[i] = claim_products[i]; | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					}); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					chrome.Chrome.include({ | 
				
			||||
 | 
					    events: { | 
				
			||||
 | 
					            "click .pos-claims": "on_click_pos_claims", | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					    renderElement: function(){ | 
				
			||||
 | 
					        var self = this; | 
				
			||||
 | 
					        return this._super(); | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					     on_click_pos_claims: function () { | 
				
			||||
 | 
					        var list =[]; | 
				
			||||
 | 
					        var list1 =[]; | 
				
			||||
 | 
					        for (var i = 0; i < this.pos.order.length; i++) { | 
				
			||||
 | 
					            var orders = this.pos.order[i]; | 
				
			||||
 | 
					            if (orders.name){ | 
				
			||||
 | 
					                list.push({ | 
				
			||||
 | 
					                    'label': orders.name, | 
				
			||||
 | 
					                    'id':orders.id, | 
				
			||||
 | 
					                    }); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					         for (var i = 0; i < this.pos.customer.length; i++) { | 
				
			||||
 | 
					            var customers = this.pos.customer[i]; | 
				
			||||
 | 
					            if (customers.name){ | 
				
			||||
 | 
					                list1.push({ | 
				
			||||
 | 
					                    'label': customers.name, | 
				
			||||
 | 
					                    'id':customers.id, | 
				
			||||
 | 
					                    }); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        this.gui.show_popup('pos_claim',{orders:list, customers:list1}); | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					}); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					var PosClaimWidget = popup.extend({ | 
				
			||||
 | 
					    template:'PosClaimWidget', | 
				
			||||
 | 
					    events : { | 
				
			||||
 | 
					            'click .selected_order': 'on_click_select_order', | 
				
			||||
 | 
					            'click .selected_customer': 'on_click_select_customer', | 
				
			||||
 | 
					            'click .button.confirm': 'click_confirm', | 
				
			||||
 | 
					            'click .button.cancel':  'click_cancel', | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					    show : function(options){ | 
				
			||||
 | 
					        options = options || []; | 
				
			||||
 | 
					        var self = this; | 
				
			||||
 | 
					        this._super(options); | 
				
			||||
 | 
					        this.orders = options.orders || []; | 
				
			||||
 | 
					        this.customers = options.customers || []; | 
				
			||||
 | 
					        this.product = options.product || []; | 
				
			||||
 | 
					        this.renderElement(); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    on_click_select_order:function(){ | 
				
			||||
 | 
					    var selected_order = $('.selected_order').val(); | 
				
			||||
 | 
					    for (var i = 0; i < this.pos.order.length; i++) { | 
				
			||||
 | 
					        if (this.pos.order[i].id==selected_order){ | 
				
			||||
 | 
					            var orders = this.pos.order[i]; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					    if (orders) { | 
				
			||||
 | 
					        var x = document.getElementsByClassName('selected_customer'); | 
				
			||||
 | 
					        x[0].selectedIndex = orders.partner_id[0]; | 
				
			||||
 | 
					        if (orders.partner_id) | 
				
			||||
 | 
					        { | 
				
			||||
 | 
					            for (var i = 0; i < this.pos.customer.length; i++) { | 
				
			||||
 | 
					            if (this.pos.customer[i].id==orders.partner_id[0]){ | 
				
			||||
 | 
					                var customers = this.pos.customer[i]; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            if (customers) | 
				
			||||
 | 
					            { | 
				
			||||
 | 
					                var x = document.getElementsByClassName('select_email'); | 
				
			||||
 | 
					                x[0].value = customers.email; | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					    var product = []; | 
				
			||||
 | 
					        if (orders) | 
				
			||||
 | 
					        { | 
				
			||||
 | 
					            for (var i = 0; i < this.pos.order_line.length; i++){ | 
				
			||||
 | 
					            for (var j = 0; j < orders.lines.length; j++){ | 
				
			||||
 | 
					                if (this.pos.order_line[i].id == orders.lines[j]){ | 
				
			||||
 | 
					                var product_line = this.pos.order_line[i]; | 
				
			||||
 | 
					                if (product_line.product_id){ | 
				
			||||
 | 
					                    product.push({ | 
				
			||||
 | 
					                        'label': product_line.product_id[1], | 
				
			||||
 | 
					                        'id':product_line.id, | 
				
			||||
 | 
					                        }); | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					         } | 
				
			||||
 | 
					            this.$('.selected_product').html(QWeb.render('PosClaimProductWidget',{product:product})); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    on_click_select_customer:function() { | 
				
			||||
 | 
					        var selected_customer = $('.selected_customer').val(); | 
				
			||||
 | 
					        for (var i = 0; i < this.pos.customer.length; i++) { | 
				
			||||
 | 
					        if (this.pos.customer[i].id==selected_customer){ | 
				
			||||
 | 
					            var customers = this.pos.customer[i]; | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					        if (customers) | 
				
			||||
 | 
					        { | 
				
			||||
 | 
					            var x = document.getElementsByClassName('select_email'); | 
				
			||||
 | 
					            x[0].value = customers.email; | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					     | 
				
			||||
 | 
					   click_confirm: function(){ | 
				
			||||
 | 
					        var self   = this; | 
				
			||||
 | 
					        var fields = {}; | 
				
			||||
 | 
					        this.$('.popup .detail').each(function(idx,el){ | 
				
			||||
 | 
					        fields[el.name] = el.value; | 
				
			||||
 | 
					        }); | 
				
			||||
 | 
					        if (fields.partner_id && fields.claim_product) { | 
				
			||||
 | 
					            new Model('pos.claims').call('create_from_ui', [fields]); | 
				
			||||
 | 
					            this.gui.close_popup(); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					       else{ | 
				
			||||
 | 
					            alert('You need to specify the Product and Customer') | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					   click_cancel: function(){ | 
				
			||||
 | 
					        this.gui.close_popup(); | 
				
			||||
 | 
					        if (this.options.cancel) { | 
				
			||||
 | 
					            this.options.cancel.call(this); | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					   renderElement: function(){ | 
				
			||||
 | 
					        var self = this; | 
				
			||||
 | 
					        return this._super(); | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					}); | 
				
			||||
 | 
					gui.define_popup({name:'pos_claim', widget: PosClaimWidget}); | 
				
			||||
 | 
					}); | 
				
			||||
@ -0,0 +1,105 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<template id="template" xml:space="preserve"> | 
				
			||||
 | 
					<t t-extend="Chrome"> | 
				
			||||
 | 
					    <t t-jquery="div.pos-rightheader" t-operation="append"> | 
				
			||||
 | 
					        <div class="oe_status"> | 
				
			||||
 | 
					            <a title="Claims" href="#"> | 
				
			||||
 | 
					                <i class="fa fa-exclamation-triangle pos-claims"/> | 
				
			||||
 | 
					            </a> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</t> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<t t-name="PosClaimWidget"> | 
				
			||||
 | 
					    <div class="modal-dialog"> | 
				
			||||
 | 
					        <div class="popup popup-pos_claim"> | 
				
			||||
 | 
					            <p class="title"> | 
				
			||||
 | 
					                <a >Pos Claims</a> | 
				
			||||
 | 
					            </p> | 
				
			||||
 | 
					            <div style="text-align: left !important;padding-left: 70px;padding-top: 7px;border: solid;"> | 
				
			||||
 | 
					                <table> | 
				
			||||
 | 
					                    <tr> | 
				
			||||
 | 
					                        <td> | 
				
			||||
 | 
					                            <label>Select Order:</label> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                        <td style="padding-left: 21px;"> | 
				
			||||
 | 
					                            <select class="selected_order detail" name="name"> | 
				
			||||
 | 
					                                <option/> | 
				
			||||
 | 
					                                <t t-foreach="widget.orders || []" t-as="orders"> | 
				
			||||
 | 
					                                <option t-att-value="orders.id" t-attf-class="select_order"> | 
				
			||||
 | 
					                                    <t t-esc="orders.label" /> | 
				
			||||
 | 
					                                </option> | 
				
			||||
 | 
					                                </t> | 
				
			||||
 | 
					                            </select> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                    </tr> | 
				
			||||
 | 
					                    <tr> | 
				
			||||
 | 
					                        <td> | 
				
			||||
 | 
					                            <label>Customer:</label> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                        <td style="padding-left: 21px;"> | 
				
			||||
 | 
					                             <select class="selected_customer detail" name="partner_id"> | 
				
			||||
 | 
					                                <option/> | 
				
			||||
 | 
					                                <t t-foreach="widget.customers || []" t-as="customers"> | 
				
			||||
 | 
					                                <option t-att-value="customers.id" t-attf-class="select_customer"> | 
				
			||||
 | 
					                                    <t t-esc="customers.label" /> | 
				
			||||
 | 
					                                </option> | 
				
			||||
 | 
					                                </t> | 
				
			||||
 | 
					                             </select> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                    </tr> | 
				
			||||
 | 
					                    <tr> | 
				
			||||
 | 
					                        <td> | 
				
			||||
 | 
					                            <label>Email:</label> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                        <td style="padding-left: 21px;"> | 
				
			||||
 | 
					                            <input type='text'  class="select_email detail" name="partner_email"/> | 
				
			||||
 | 
					                        </td> | 
				
			||||
 | 
					                    </tr> | 
				
			||||
 | 
					                </table> | 
				
			||||
 | 
					                <div class="selected_product" style="align:left;"> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="selected_quantity" style="align:left;"> | 
				
			||||
 | 
					                 </div> | 
				
			||||
 | 
					                 <div class="footer centered"> | 
				
			||||
 | 
					                    <div class="button cancel"> | 
				
			||||
 | 
					                        Cancel | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="button confirm"> | 
				
			||||
 | 
					                        Ok | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                 </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</t> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<t t-name="PosClaimProductWidget"> | 
				
			||||
 | 
					    <table> | 
				
			||||
 | 
					        <tr> | 
				
			||||
 | 
					            <td> | 
				
			||||
 | 
					                <label>Select Product:</label> | 
				
			||||
 | 
					            </td> | 
				
			||||
 | 
					            <td> | 
				
			||||
 | 
					                <select class="select_product detail" name="claim_product"> | 
				
			||||
 | 
					                    <option/> | 
				
			||||
 | 
					                    <t t-foreach="product || []" t-as="products"> | 
				
			||||
 | 
					                    <option t-att-value="products.id" t-attf-class="select_pdt"> | 
				
			||||
 | 
					                        <t t-esc="products.label" /> | 
				
			||||
 | 
					                    </option> | 
				
			||||
 | 
					                    </t> | 
				
			||||
 | 
					                </select> | 
				
			||||
 | 
					            </td> | 
				
			||||
 | 
					        </tr> | 
				
			||||
 | 
					        <tr> | 
				
			||||
 | 
					            <td> | 
				
			||||
 | 
					            <label>Description :</label> | 
				
			||||
 | 
					            </td> | 
				
			||||
 | 
					            <td> | 
				
			||||
 | 
					                <input type='text'  class="select_description detail" name="description"/> | 
				
			||||
 | 
					            </td> | 
				
			||||
 | 
					        </tr> | 
				
			||||
 | 
					    </table> | 
				
			||||
 | 
					</t> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					</template> | 
				
			||||
@ -0,0 +1,13 @@ | 
				
			|||||
 | 
					<?xml version="1.0"?> | 
				
			||||
 | 
					<openerp> | 
				
			||||
 | 
					    <data> | 
				
			||||
 | 
					        <record model="ir.sequence" id="seq_pos_claim"> | 
				
			||||
 | 
					            <field name="name">POS Claims</field> | 
				
			||||
 | 
					            <field name="code">pos.claims</field> | 
				
			||||
 | 
					            <field name="prefix">Ticket/</field> | 
				
			||||
 | 
					            <field name="number_next">001</field> | 
				
			||||
 | 
					            <field name="number_increment">1</field> | 
				
			||||
 | 
					            <field name="padding">3</field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||
@ -0,0 +1,10 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<openerp> | 
				
			||||
 | 
					    <data> | 
				
			||||
 | 
					        <template id="pos_claims" inherit_id="point_of_sale.assets"> | 
				
			||||
 | 
					            <xpath expr="." position="inside"> | 
				
			||||
 | 
					                <script type="text/javascript" src="/pos_claims/static/src/js/pos_claim.js"/> | 
				
			||||
 | 
					            </xpath> | 
				
			||||
 | 
					        </template> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||
@ -0,0 +1,218 @@ | 
				
			|||||
 | 
					<?xml version="1.0"?> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<openerp> | 
				
			||||
 | 
					    <data> | 
				
			||||
 | 
					        <!-- Form view of pos claim --> | 
				
			||||
 | 
					        <record id="pos_claim_category_form" model="ir.ui.view"> | 
				
			||||
 | 
					            <field name="name">Claims</field> | 
				
			||||
 | 
					            <field name="model">pos.claims</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <form string="ClaimS"> | 
				
			||||
 | 
					                    <header> | 
				
			||||
 | 
					                        <button name="action_sent" | 
				
			||||
 | 
					                                string="Send Mail" | 
				
			||||
 | 
					                                type="object" | 
				
			||||
 | 
					                                state="assigned" | 
				
			||||
 | 
					                                class="oe_highlight" | 
				
			||||
 | 
					                                context="{'send_rfq':True }" | 
				
			||||
 | 
					                                attrs = "{'invisible': [('state', 'in', ('new','settle','feedback','paid','reject'))]}" /> | 
				
			||||
 | 
					                        <button name="action_settle" | 
				
			||||
 | 
					                                string="Accept" | 
				
			||||
 | 
					                                type="object" | 
				
			||||
 | 
					                                state="feedback" | 
				
			||||
 | 
					                                class="oe_highlight" | 
				
			||||
 | 
					                                attrs = "{'invisible': [('state', 'in', ('new','settle','paid','reject','assigned'))]}"/> | 
				
			||||
 | 
					                        <button name="action_reject" | 
				
			||||
 | 
					                                string="Cancel" | 
				
			||||
 | 
					                                type="object" | 
				
			||||
 | 
					                                state="feedback" | 
				
			||||
 | 
					                                class="oe_highlight" | 
				
			||||
 | 
					                                attrs = "{'invisible': [('state', 'in', ('new','settle','paid','reject','assigned'))]}"/> | 
				
			||||
 | 
					                        <field name="state" | 
				
			||||
 | 
					                               widget="statusbar" | 
				
			||||
 | 
					                               statusbar_visible="new,assigned,feedback,settle,reject" clickable="1"/> | 
				
			||||
 | 
					                    </header> | 
				
			||||
 | 
					                    <sheet> | 
				
			||||
 | 
					                        <div class="oe_title"> | 
				
			||||
 | 
					                        <h1> | 
				
			||||
 | 
					                            <field name="ref_name" readonly="1"/> | 
				
			||||
 | 
					                        </h1> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                        <group> | 
				
			||||
 | 
					                            <group> | 
				
			||||
 | 
					                                <field name="name" style="width:40%%"  options="{'no_create': True}"/> | 
				
			||||
 | 
					                                <field name="claim_date"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                            <group colspan="4" col="4"> | 
				
			||||
 | 
					                                <field name="user_id"  style="width:70%%"/> | 
				
			||||
 | 
					                                <field name="priority" widget="priority"/> | 
				
			||||
 | 
					                            </group> | 
				
			||||
 | 
					                        </group> | 
				
			||||
 | 
					                        <notebook> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                            <page string="Claim Description"> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                        <separator colspan="2" string="Product Details"/> | 
				
			||||
 | 
					                                        <field name="claim_product" style="width:60%%"  options="{'no_create': True}"/> | 
				
			||||
 | 
					                                        <field name="claim_qty" style="width:60%%"/> | 
				
			||||
 | 
					                                        <field name="session_id"  style="width:60%%"/> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                        <separator colspan="2" string="Claim Reporter"/> | 
				
			||||
 | 
					                                        <field name="partner_id"/> | 
				
			||||
 | 
					                                        <field name="partner_phone"/> | 
				
			||||
 | 
					                                        <field name="partner_email"/> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                    <group> | 
				
			||||
 | 
					                                    </group> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <group colspan="2" col="2"> | 
				
			||||
 | 
					                                    <separator colspan="2" string="Responsibilities"/> | 
				
			||||
 | 
					                                    <field name="user_fault"/> | 
				
			||||
 | 
					                                    <field name="cate_id" style="width:25%%" options="{'no_create': True, 'no_open': True}"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <separator colspan="4" string="Claim/Action Description" groups="base.group_user"/> | 
				
			||||
 | 
					                                <field name="description" colspan="4" nolabel="1"/> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                            <page string="Follow Up" groups="base.group_user"> | 
				
			||||
 | 
					                                <group colspan="2" col="2"> | 
				
			||||
 | 
					                                    <separator colspan="2" string="Actions"/> | 
				
			||||
 | 
					                                    <field name="date_action_next"/> | 
				
			||||
 | 
					                                    <field name="action_next"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <group colspan="2" col="2"> | 
				
			||||
 | 
					                                    <separator colspan="2" string="Root Causes"/> | 
				
			||||
 | 
					                                    <field name="cause" colspan="2" nolabel="1"/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                                <group colspan="2" col="2"> | 
				
			||||
 | 
					                                    <separator colspan="2" string="Resolution Actions"/> | 
				
			||||
 | 
					                                    <field name="type_action" style="width:25%%"/> | 
				
			||||
 | 
					                                    <field name="resolution" colspan="2" nolabel="1" placeholder="Action Description..."/> | 
				
			||||
 | 
					                                </group> | 
				
			||||
 | 
					                            </page> | 
				
			||||
 | 
					                        </notebook> | 
				
			||||
 | 
					                    </sheet> | 
				
			||||
 | 
					                    <div class="oe_chatter"> | 
				
			||||
 | 
					                        <field name="message_follower_ids" widget="mail_followers"/> | 
				
			||||
 | 
					                        <field name="message_ids" widget="mail_thread"/> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </form> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!-- Tree view of pos claim --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record model="ir.ui.view" id="pos_case_claims_tree_view"> | 
				
			||||
 | 
					            <field name="name">Claims</field> | 
				
			||||
 | 
					            <field name="model">pos.claims</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <tree string="Claims"> | 
				
			||||
 | 
					                    <field name="ref_name" string="Ticket Number"/> | 
				
			||||
 | 
					                    <field name="name"/> | 
				
			||||
 | 
					                    <field name="claim_product"/> | 
				
			||||
 | 
					                    <field name="claim_qty"/> | 
				
			||||
 | 
					                    <field name="partner_id"/> | 
				
			||||
 | 
					                    <field name="session_id"/> | 
				
			||||
 | 
					                    <field name="claim_date"/> | 
				
			||||
 | 
					                    <field name="date_action_next"/> | 
				
			||||
 | 
					                    <field name="action_next"/> | 
				
			||||
 | 
					                    <field name="cate_id" string="Type"/> | 
				
			||||
 | 
					                    <field name="state"/> | 
				
			||||
 | 
					                </tree> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!-- Calender view of pos claim --> | 
				
			||||
 | 
					        <record model="ir.ui.view" id="pos_case_claims_calendar_view"> | 
				
			||||
 | 
					            <field name="name">Claims</field> | 
				
			||||
 | 
					            <field name="model">pos.claims</field> | 
				
			||||
 | 
					            <field name="arch" type="xml"> | 
				
			||||
 | 
					                <calendar string="Claims" date_start="date_action_next" color="user_id"> | 
				
			||||
 | 
					                    <field name="name"/> | 
				
			||||
 | 
					                </calendar> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record id="pos_claim_cate_action" model="ir.actions.act_window"> | 
				
			||||
 | 
					            <field name="name">Claims</field> | 
				
			||||
 | 
					            <field name="res_model">pos.claims</field> | 
				
			||||
 | 
					            <field name="view_mode">tree,form,calendar</field> | 
				
			||||
 | 
					            <field name="help" type="html"> | 
				
			||||
 | 
					                <p class="oe_view_nocontent_create"> | 
				
			||||
 | 
					                Click to create a claim category. | 
				
			||||
 | 
					                </p><p> | 
				
			||||
 | 
					                Create claim categories to better manage and classify your | 
				
			||||
 | 
					                claims. Some example of claims can be: preventive action, | 
				
			||||
 | 
					                corrective action. | 
				
			||||
 | 
					                </p> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <!--Email template --> | 
				
			||||
 | 
					        <record id="email_template_edi_pos_ticket" model="mail.template"> | 
				
			||||
 | 
					            <field name="name">Pos Ticket</field> | 
				
			||||
 | 
					            <field name="email_from">${(object.user_id.email)}</field> | 
				
			||||
 | 
					            <field name="email_to">${object.partner_id.id}</field> | 
				
			||||
 | 
					            <field name="partner_to">${object.partner_id.id}</field> | 
				
			||||
 | 
					            <field name="subject">Pos Ticket</field> | 
				
			||||
 | 
					            <field name="model_id" ref="pos_claims.model_pos_claims" /> | 
				
			||||
 | 
					            <field name="auto_delete" eval="True" /> | 
				
			||||
 | 
					            <field name="body_html"><![CDATA[ | 
				
			||||
 | 
					                <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; "> | 
				
			||||
 | 
					                    <p>Dear ${object.partner_id.name},</p> | 
				
			||||
 | 
					                     <p> | 
				
			||||
 | 
					                         Your claim is reported successfully and your ticket ${object.ref_name} is now on hold. | 
				
			||||
 | 
					                    </p> | 
				
			||||
 | 
					                    <p> | 
				
			||||
 | 
					                         We will be in contact with you in the coming days to make our best attempt in regaining your | 
				
			||||
 | 
					                         confidence in our company. | 
				
			||||
 | 
					                    </p> | 
				
			||||
 | 
					                    <p> | 
				
			||||
 | 
					                         Please accept our sincerest apology for any trouble or inconvenience we have caused you. | 
				
			||||
 | 
					                    </p> | 
				
			||||
 | 
					                    <p>Thank you,</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            ]]> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <record id="email_template_edi_pos_claims" model="mail.template"> | 
				
			||||
 | 
					            <field name="name">Pos Claims</field> | 
				
			||||
 | 
					                <field name="email_from">${(object.user_id.email}</field> | 
				
			||||
 | 
					                <field name="email_to">${object.partner_id.id}</field> | 
				
			||||
 | 
					                <field name="partner_to">${object.partner_id.id}</field> | 
				
			||||
 | 
					                <field name="subject">Pos Claims</field> | 
				
			||||
 | 
					                <field name="model_id" ref="pos_claims.model_pos_claims" /> | 
				
			||||
 | 
					                <field name="auto_delete" eval="True" /> | 
				
			||||
 | 
					                <field name="body_html"><![CDATA[ | 
				
			||||
 | 
					                    <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; "> | 
				
			||||
 | 
					                        <p>Dear ${object.partner_id.name},</p> | 
				
			||||
 | 
					                        <p> Thank you for taking the time to communicate to us why our {product / service } did not meet | 
				
			||||
 | 
					                        your expectations. We have every desire to address your needs and provide the best solution | 
				
			||||
 | 
					                        available to resolve your issue as soon as possible.</p> | 
				
			||||
 | 
					                        <p>  We  will be in contact with you in the coming days to make our best attempt in regaining your | 
				
			||||
 | 
					                        confidence in our company. In addition, we will further evaluate how we can prevent this problem | 
				
			||||
 | 
					                        from occurring again in the future.</p> | 
				
			||||
 | 
					                        <p>Please accept our sincerest apology for any trouble or inconvenience we have caused you. Again, | 
				
			||||
 | 
					                        we highly appreciate your feedback as it will assist us in becoming better at what we do. | 
				
			||||
 | 
					                        As with any business like ours, the greatest advertising we can have is word of mouth from a | 
				
			||||
 | 
					                        satisfied customer. It’s  our goal to retain you as a satisfied customer and will hope to | 
				
			||||
 | 
					                        serve you again in the future. | 
				
			||||
 | 
					                        <p>Thank you,</p> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                ]]> | 
				
			||||
 | 
					            </field> | 
				
			||||
 | 
					        </record> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <menuitem name="Pos Claims" id="menu_point_of_sale_claim" parent="point_of_sale.menu_point_root" sequence="22"/> | 
				
			||||
 | 
					        <menuitem name="Pos Claims" parent="menu_point_of_sale_claim" id="point_of_sale_claim" | 
				
			||||
 | 
					              action="pos_claim_cate_action" sequence="10" /> | 
				
			||||
 | 
					    </data> | 
				
			||||
 | 
					</openerp> | 
				
			||||