Browse Source

Initial Commit

pull/11/merge
SHEREEF PT 8 years ago
parent
commit
3a8c1566f5
  1. 22
      pos_category_wise_receipt/README.rst
  2. 22
      pos_category_wise_receipt/__init__.py
  3. 44
      pos_category_wise_receipt/__openerp__.py
  4. BIN
      pos_category_wise_receipt/static/description/banner.jpg
  5. BIN
      pos_category_wise_receipt/static/description/cybro_logo.png
  6. BIN
      pos_category_wise_receipt/static/description/icon.png
  7. 48
      pos_category_wise_receipt/static/description/index.html
  8. BIN
      pos_category_wise_receipt/static/description/pic1.png
  9. BIN
      pos_category_wise_receipt/static/description/pic2.png
  10. 5
      pos_category_wise_receipt/static/src/css/pos_category.css
  11. 58
      pos_category_wise_receipt/static/src/js/pos_category_wise_receipt.js
  12. 123
      pos_category_wise_receipt/static/src/xml/pos_category_wise_receipt.xml
  13. 15
      pos_category_wise_receipt/views/pos_category_wise_receipt_view.xml

22
pos_category_wise_receipt/README.rst

@ -0,0 +1,22 @@
============================
POS Category wise receipt v8
============================
This module aims to print category wise receipt for point of sale.
Features
========
* The receipt shows category wise product and Subtotal of each category.
Installation
============
Just select it from available modules to install it, there is no need to extra installations.
Configuration
=============
Nothing to configure.
Credits
=======
Developer: Anusha @ cybrosys
Guidance: Nilmar Shereef @ cybrosys, shereef@cybrosys.in

22
pos_category_wise_receipt/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>).
# Author: Nilmar Shereef(<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/>.
#
##############################################################################

44
pos_category_wise_receipt/__openerp__.py

@ -0,0 +1,44 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
# Copyright (C) 2009-TODAY Cybrosys Technologies(<http://www.cybrosys.com>).
# Author: Nilmar Shereef(<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 Category Wise Receipt",
'summary': """This module print category wise POS receipt.""",
'author': "Cybrosys Techno Solutions",
'website': "http://www.cybrosys.com",
'category': 'Point of Sale',
'version': '0.2',
'depends': [
'base',
'point_of_sale',
],
'data': [
'views/pos_category_wise_receipt_view.xml',
],
'qweb': [
'static/src/xml/pos_category_wise_receipt.xml',
],
'images': ['static/description/banner.jpg'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
}

BIN
pos_category_wise_receipt/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
pos_category_wise_receipt/static/description/cybro_logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
pos_category_wise_receipt/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

48
pos_category_wise_receipt/static/description/index.html

@ -0,0 +1,48 @@
<section class="oe_container">
<div class="oe_row oe_spaced">
<h2 class="oe_slogan">POS Category wise receipt</h2>
<h4 class="oe_slogan">Cybrosys Technologies , www.cybrosys.com</h4>
</div>
</section>
<section class="oe_container">
<div class="oe_row oe_spaced">
<p class='oe_mt32'>
&#x261B; Choose your product randomly
</p>
<div class="oe_span12">
<div class="oe_row_img oe_centered">
<img class="oe_picture oe_screenshot" src="pic1.png">
</div>
</div>
</div>
</section>
<section class="oe_container oe_dark">
<div class="oe_row oe_padded">
<p class='oe_mt32'>
&#x261B;Product category wise receipt
</p>
<div class="oe_span12">
<div class="oe_row_img oe_centered">
<img class="oe_picture oe_screenshot" src="pic2.png">
</div>
</div>
</div>
</section>
<section class="oe_container oe_dark">
<h2 class="oe_slogan" style="margin-top:20px;" >Need Any Help?</h2>
<div class="oe_slogan" style="margin-top:10px !important;">
<a class="btn btn-primary btn-lg mt8"
style="color: #FFFFFF !important;" href="http://www.cybrosys.com"><i
class="fa fa-envelope"></i> Email </a> <a
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;"
href="http://www.cybrosys.com/contact/"><i
class="fa fa-phone"></i> Contact Us </a> <a
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;"
href="http://www.cybrosys.com/odoo-customization-and-installation/"><i
class="fa fa-check-square"></i> Request Customization </a>
</div>
<img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block">
</section>

BIN
pos_category_wise_receipt/static/description/pic1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
pos_category_wise_receipt/static/description/pic2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

5
pos_category_wise_receipt/static/src/css/pos_category.css

@ -0,0 +1,5 @@
.pos_underline {
text-decoration: underline;
}

58
pos_category_wise_receipt/static/src/js/pos_category_wise_receipt.js

@ -0,0 +1,58 @@
openerp.pos_category_wise_receipt = function(instance){
var module = instance.point_of_sale;
var OrderlineParent = module.Orderline;
var orderline_id = 1;
console.log("12");
module.Orderline = module.Orderline.extend({
initialize: function(attr,options){
this.pos = options.pos;
this.order = options.order;
this.product = options.product;
this.price = options.product.price;
this.set_quantity(1);
this.discount = 0;
this.discountStr = '0';
this.type = 'unit';
this.selected = false;
this.count = true;
this.category_selected=true;
this.id = orderline_id++;
},
get_category: function(){
var product = this.product.pos_categ_id[1];
return (product ? this.product.pos_categ_id[1] : undefined) || 'UnCategorised Product';
},
get_category_id: function(){
return this.product.pos_categ_id[0];
},
// selects or deselects this orderline
set_selected: function(selected){
this.selected = selected;
},
set_selected_product: function(selected){
this.count = selected;
this.trigger('change',this);
},
set_selected_category: function(selected){
this.category_selected = selected;
this.trigger('change',this);
},
is_selected_product: function(){
return this.count;
},
is_selected_category: function(){
return this.category_selected;
},
});
}

123
pos_category_wise_receipt/static/src/xml/pos_category_wise_receipt.xml

@ -0,0 +1,123 @@
<templates>
<t t-extend="PosTicket">
<t t-jquery="div.pos-sale-ticket" t-operation="replace">
<div class="pos-sale-ticket">
<div class="pos-center-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
Date.CultureInfo.formatPatterns.longTime)"/> <t t-esc="order.get('name')"/></div>
<br />
<t t-esc="widget.pos.company.name"/><br />
Phone: <t t-esc="widget.pos.company.phone || ''"/><br />
User: <t t-esc="widget.pos.cashier ? widget.pos.cashier.name : widget.pos.user.name"/><br />
Shop: <t t-esc="widget.pos.shop.name"/><br />
<br />
<t t-if="widget.pos.config.receipt_header">
<div style='text-align:center'>
<t t-esc="widget.pos.config.receipt_header" />
</div>
<br />
</t>
<t t-foreach="orderlines" t-as="l">
<t t-if="l.is_selected_product">
<t t-set="sum" t-value="0"></t>
<t t-foreach="orderlines" t-as="orderline">
<t t-if="orderline.is_selected_product()">
<table>
<tr>
<t t-if="l.get_category_id()==orderline.get_category_id()">
<t t-set="sum" t-value="sum + orderline.get_display_price()"/>
<p>
<t t-if="l.is_selected_category()">
<h3 class="pos_underline"><t t-esc="l.get_category()"/></h3>
<t t-esc="l.set_selected_category(false)"></t>
</t>
</p>
<tr>
<td>
<t t-esc="orderline.get_product().display_name"/>
<t t-if="orderline.get_discount() > 0">
<div class="pos-disc-font">
With a <t t-esc="orderline.get_discount()"/>% discount
</div>
</t>
</td>
<td class="pos-right-align">
<t t-esc="orderline.get_quantity_str_with_unit()"/>
</td>
<td class="pos-right-align">
<t t-esc="widget.format_currency(orderline.get_display_price())"/>
</td>
</tr>
<t t-esc="orderline.set_selected_product(false)"/>
<t t-esc="l.set_selected(true)"/>
</t>
</tr>
</table>
</t>
</t>
<t t-if="l.is_selected()">
<table>
<tr>
<td class="pos-right-align pos_underline">
<t t-esc="widget.format_currency(sum)"/>
</td>
</tr>
</table>
</t>
</t>
</t>
<br />
<table>
<tr>
<td>Subtotal:</td>
<td class="pos-right-align">
<t t-esc="widget.format_currency(order.getTotalTaxExcluded())"/>
</td>
</tr>
<t t-foreach="order.getTaxDetails()" t-as="taxdetail">
<tr>
<td><t t-esc="taxdetail.name" /></td>
<td class="pos-right-align">
<t t-esc="widget.format_currency(taxdetail.amount)" />
</td>
</tr>
</t>
<tr>
<td>Discount:</td>
<td class="pos-right-align">
<t t-esc="widget.format_currency(order.getDiscountTotal())"/>
</td>
</tr>
<tr class="emph">
<td>Total:</td>
<td class="pos-right-align pos_underline">
<t t-esc="widget.format_currency(order.getTotalTaxIncluded())"/>
</td>
</tr>
</table>
<br />
<table>
<tr t-foreach="paymentlines" t-as="line">
<td>
<t t-esc="line.name"/>
</td>
<td class="pos-right-align">
<t t-esc="widget.format_currency(line.get_amount())"/>
</td>
</tr>
</table>
<br />
<table>
<tr><td>Change:</td><td class="pos-right-align">
<t t-esc="widget.format_currency(order.getChange())"/>
</td></tr>
</table>
<t t-if="widget.pos.config.receipt_footer">
<br />
<div style='text-align:center'>
<t t-esc="widget.pos.config.receipt_footer" />
</div>
</t>
</div>
</t>
</t>
</templates>

15
pos_category_wise_receipt/views/pos_category_wise_receipt_view.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="assets_backend" name="point_of_sale assets" inherit_id="point_of_sale.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_category_wise_receipt/static/src/js/pos_category_wise_receipt.js"/>
</xpath>
</template>
<template id="index" inherit_id='point_of_sale.index' name="Restaurant Index">&lt;!DOCTYPE html&gt;
<xpath expr="//link[@id='pos-stylesheet']" position="after">
<link rel="stylesheet" href="/pos_category_wise_receipt/static/src/css/pos_category.css" />
</xpath>
</template>
</data>
</openerp>
Loading…
Cancel
Save