commit 9846c8717f0aa22e8834d339768179fd2e21e803 Author: SHEREEF PT Date: Wed Nov 1 12:29:12 2017 +0530 [ADD] Replacing Missed Data diff --git a/access_restriction_by_ip/README.rst b/access_restriction_by_ip/README.rst new file mode 100644 index 000000000..ff9a2b61f --- /dev/null +++ b/access_restriction_by_ip/README.rst @@ -0,0 +1,17 @@ +Access Restriction By IP V11 +============================ + +This module will restrict users access to his account from the specified IP only. If user access his +account from non-specified IP, login will be restricted and a warning message will be displayed in +login page. + +If no IP is specified for a user, then there will not be restriction by IP. He can access from any IP. + + +Credits +======= +Cybrosys Techno Solutions + +Author +------ +* Niyas Raphy diff --git a/access_restriction_by_ip/__init__.py b/access_restriction_by_ip/__init__.py new file mode 100644 index 000000000..f2c9590e3 --- /dev/null +++ b/access_restriction_by_ip/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import controllers +import models + + diff --git a/access_restriction_by_ip/__manifest__.py b/access_restriction_by_ip/__manifest__.py new file mode 100644 index 000000000..a4dba3eae --- /dev/null +++ b/access_restriction_by_ip/__manifest__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +{ + 'name': 'Access Restriction By IP', + 'summary': """User Can Access His Account Only From Specified IP Address""", + 'version': '11.0.1.0.0', + 'description': """User Can Access His Account Only From Specified IP Address""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'category': 'Tools', + 'depends': ['base', 'mail'], + 'license': 'AGPL-3', + 'data': [ + 'views/allowed_ips_view.xml', + ], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, +} + diff --git a/access_restriction_by_ip/controllers/__init__.py b/access_restriction_by_ip/controllers/__init__.py new file mode 100644 index 000000000..d62672370 --- /dev/null +++ b/access_restriction_by_ip/controllers/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import main + diff --git a/access_restriction_by_ip/controllers/main.py b/access_restriction_by_ip/controllers/main.py new file mode 100644 index 000000000..e8a62f848 --- /dev/null +++ b/access_restriction_by_ip/controllers/main.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +from odoo.addons.web.controllers import main +from odoo.http import request +from odoo.exceptions import Warning +import odoo +import odoo.modules.registry +from odoo.tools.translate import _ +from odoo import http + + +class Home(main.Home): + + @http.route('/web/login', type='http', auth="public") + def web_login(self, redirect=None, **kw): + main.ensure_db() + request.params['login_success'] = False + if request.httprequest.method == 'GET' and redirect and request.session.uid: + return http.redirect_with_hash(redirect) + + if not request.uid: + request.uid = odoo.SUPERUSER_ID + + values = request.params.copy() + try: + values['databases'] = http.db_list() + except odoo.exceptions.AccessDenied: + values['databases'] = None + if request.httprequest.method == 'POST': + old_uid = request.uid + ip_address = request.httprequest.environ['REMOTE_ADDR'] + if request.params['login']: + user_rec = request.env['res.users'].sudo().search([('login', '=', request.params['login'])]) + if user_rec.allowed_ips: + ip_list = [] + for rec in user_rec.allowed_ips: + ip_list.append(rec.ip_address) + if ip_address in ip_list: + uid = request.session.authenticate(request.session.db, request.params['login'], request.params['password']) + if uid is not False: + request.params['login_success'] = True + if not redirect: + redirect = '/web' + return http.redirect_with_hash(redirect) + request.uid = old_uid + values['error'] = _("Wrong login/password") + request.uid = old_uid + values['error'] = _("Not allowed to login from this IP") + else: + uid = request.session.authenticate(request.session.db, request.params['login'], + request.params['password']) + if uid is not False: + request.params['login_success'] = True + if not redirect: + redirect = '/web' + return http.redirect_with_hash(redirect) + request.uid = old_uid + values['error'] = _("Wrong login/password") + + return request.render('web.login', values) diff --git a/access_restriction_by_ip/models/__init__.py b/access_restriction_by_ip/models/__init__.py new file mode 100644 index 000000000..d8abd2496 --- /dev/null +++ b/access_restriction_by_ip/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import allowed_ips + + diff --git a/access_restriction_by_ip/models/allowed_ips.py b/access_restriction_by_ip/models/allowed_ips.py new file mode 100644 index 000000000..e5dff635d --- /dev/null +++ b/access_restriction_by_ip/models/allowed_ips.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +from odoo import models, fields + + +class ResUsersInherit(models.Model): + _inherit = 'res.users' + + allowed_ips = fields.One2many('allowed.ips', 'users_ip', string='IP') + + +class AllowedIPs(models.Model): + _name = 'allowed.ips' + + users_ip = fields.Many2one('res.users', string='IP') + ip_address = fields.Char(string='Allowed IP') diff --git a/access_restriction_by_ip/static/description/access_non_set_ip.png b/access_restriction_by_ip/static/description/access_non_set_ip.png new file mode 100644 index 000000000..1b8f41526 Binary files /dev/null and b/access_restriction_by_ip/static/description/access_non_set_ip.png differ diff --git a/access_restriction_by_ip/static/description/banner.jpg b/access_restriction_by_ip/static/description/banner.jpg new file mode 100644 index 000000000..f5bbd4859 Binary files /dev/null and b/access_restriction_by_ip/static/description/banner.jpg differ diff --git a/access_restriction_by_ip/static/description/cybro_logo.png b/access_restriction_by_ip/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/access_restriction_by_ip/static/description/cybro_logo.png differ diff --git a/access_restriction_by_ip/static/description/icon.png b/access_restriction_by_ip/static/description/icon.png new file mode 100644 index 000000000..401fd1ed3 Binary files /dev/null and b/access_restriction_by_ip/static/description/icon.png differ diff --git a/access_restriction_by_ip/static/description/index.html b/access_restriction_by_ip/static/description/index.html new file mode 100644 index 000000000..9f03c006e --- /dev/null +++ b/access_restriction_by_ip/static/description/index.html @@ -0,0 +1,69 @@ +
+
+

Access Restriction By IP

+

User can access his account only from specified IP's

+

Cybrosys Technologies

+
+

This module will restrict the users access to his account from specified IP address only

+
+
+

Features:

+
    +
  •    Administrator can set a IP or a group of IP address for each users
  • +
  •    Users can access their account only from the specified IP's
  • +
  •    Accessing system from a non-specified IP will restrict the user login
  • +
  •    A warning message will be displayed
  • +
  •    If no IP is set to user means there is no any restriction by IP
  • +
  •    IP Address for each users can be set from users form view
  • +
+
+
+
+ +
+
+

Setting IP address for User

+
+

Setting IP address for user from users form view

+

User will be able to access his account only from this IP's

+
+ +
+
+

User accessing his account

+
+

On accessing account from a non specified IP

+
+ +
+

Warning message will be displayed

+
+
+
+ + +
+

Need Any Help?

+ +
diff --git a/access_restriction_by_ip/static/description/index.html~ b/access_restriction_by_ip/static/description/index.html~ new file mode 100644 index 000000000..7f747cbbb --- /dev/null +++ b/access_restriction_by_ip/static/description/index.html~ @@ -0,0 +1,82 @@ +
+
+

Birthday Notification By E-mail

+

This module will wish the employees on their birthday

+ +

Author : Cybrosys Techno Solutions , www.cybrosys.com

+
+

Features:

+
    +
  •    Adds a cron job to invoke email
  • +
  •    Adds an email template
  • +
+
+
+
+ +
+
+
+

Overview

+

+ HR departments need not worry to wish their employees for their Birthday. In this module we have included the feature to send an email Birthday notification to the employee. +

+
+
+
+ +
+
+

Employee Form

+
+

+ ☛ Give Date of Birth for employee.
+ ☛ Give work email.
+

+
+ +
+
+
+
+ +
+
+

Email Template

+
+

+ ☛ The cron job will invoke the email
+ ☛ Email template is very simple
+

+
+ +
+
+
+
+ +
+

Need Any Help?

+ +
diff --git a/access_restriction_by_ip/static/description/user_set_ip.png b/access_restriction_by_ip/static/description/user_set_ip.png new file mode 100644 index 000000000..e6f03f8d1 Binary files /dev/null and b/access_restriction_by_ip/static/description/user_set_ip.png differ diff --git a/access_restriction_by_ip/views/allowed_ips_view.xml b/access_restriction_by_ip/views/allowed_ips_view.xml new file mode 100644 index 000000000..3b7f244d4 --- /dev/null +++ b/access_restriction_by_ip/views/allowed_ips_view.xml @@ -0,0 +1,21 @@ + + + + + res.users + res.users + + + + + + + + + + + + + + + diff --git a/hide_cost_price/README.rst b/hide_cost_price/README.rst new file mode 100644 index 000000000..65d39dfd8 --- /dev/null +++ b/hide_cost_price/README.rst @@ -0,0 +1,13 @@ +Hide Product Cost Price v11 +=========================== +The cost price of the product will be only visible for the users added in the group "view cost price". +If user is not there in the group, the cost price of the product will remain invisible for the user. +By default administrator will be added to this group + +Credits +======= +Cybrosys Techno Solutions + +Author +------ +* Niyas Raphy diff --git a/hide_cost_price/__init__.py b/hide_cost_price/__init__.py new file mode 100644 index 000000000..b01e120da --- /dev/null +++ b/hide_cost_price/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## diff --git a/hide_cost_price/__manifest__.py b/hide_cost_price/__manifest__.py new file mode 100644 index 000000000..9e5c12ad1 --- /dev/null +++ b/hide_cost_price/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +{ + 'name': 'Hide Product Cost Price', + 'summary': """Product Cost Price Will be Visible Only for Specified Group""", + 'version': '11.0.1.0.0', + 'description': """Product cost price will be visible only for specified group""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'category': 'Sales', + 'depends': ['base', 'purchase'], + 'license': 'AGPL-3', + 'data': [ + 'security/view_cost_price.xml', + 'views/hide_product_cost.xml' + ], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, + +} diff --git a/hide_cost_price/__manifest__.py~ b/hide_cost_price/__manifest__.py~ new file mode 100644 index 000000000..cba482d02 --- /dev/null +++ b/hide_cost_price/__manifest__.py~ @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +{ + 'name': 'Hide Product Cost Price', + 'summary': """Product Cost Price Will be Visible Only for Specified Users in the Group""", + 'version': '10.0.1.0.0', + 'description': """Product cost price will be visible only users in group""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'category': 'Sales', + 'depends': ['base', 'purchase'], + 'license': 'AGPL-3', + 'data': [ + 'security/view_cost_price.xml', + 'views/hide_product_cost.xml' + ], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, + +} diff --git a/hide_cost_price/security/view_cost_price.xml b/hide_cost_price/security/view_cost_price.xml new file mode 100644 index 000000000..2c6f33666 --- /dev/null +++ b/hide_cost_price/security/view_cost_price.xml @@ -0,0 +1,9 @@ + + + + + View Cost Price + + + + \ No newline at end of file diff --git a/hide_cost_price/static/description/banner.jpg b/hide_cost_price/static/description/banner.jpg new file mode 100644 index 000000000..27b4163a3 Binary files /dev/null and b/hide_cost_price/static/description/banner.jpg differ diff --git a/hide_cost_price/static/description/cybro_logo.png b/hide_cost_price/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/hide_cost_price/static/description/cybro_logo.png differ diff --git a/hide_cost_price/static/description/icon.png b/hide_cost_price/static/description/icon.png new file mode 100644 index 000000000..fbd832ad0 Binary files /dev/null and b/hide_cost_price/static/description/icon.png differ diff --git a/hide_cost_price/static/description/index.html b/hide_cost_price/static/description/index.html new file mode 100644 index 000000000..622c16803 --- /dev/null +++ b/hide_cost_price/static/description/index.html @@ -0,0 +1,75 @@ +
+
+

Hide Product Cost Price

+

Cost price will be visible only for selected users

+

Cybrosys Technologies

+
+

This module will create a new group and the users added in this group can only view the + cost price of the product

+
+
+

Features:

+
    +
  •    Cost price visibility restricted
  • +
  •    Visible only for the users in the group
  • +
  •    By default administrator will be added to this group
  • +
+
+
+
+ +
+
+

Working

+
+

Adding user to the View Cost Price group

+

User will see the product cost price only if he is added in this group

+
+ +
+
+ +
+

Product View for users not in the Group

+
+

Product form view without cost price

+
+ + + +
+

Product tree view without cost price

+
+ +
+
+
+
+
+ + +
+

Need Any Help?

+ +
diff --git a/hide_cost_price/static/description/index.html~ b/hide_cost_price/static/description/index.html~ new file mode 100644 index 000000000..7f747cbbb --- /dev/null +++ b/hide_cost_price/static/description/index.html~ @@ -0,0 +1,82 @@ +
+
+

Birthday Notification By E-mail

+

This module will wish the employees on their birthday

+ +

Author : Cybrosys Techno Solutions , www.cybrosys.com

+
+

Features:

+
    +
  •    Adds a cron job to invoke email
  • +
  •    Adds an email template
  • +
+
+
+
+ +
+
+
+

Overview

+

+ HR departments need not worry to wish their employees for their Birthday. In this module we have included the feature to send an email Birthday notification to the employee. +

+
+
+
+ +
+
+

Employee Form

+
+

+ ☛ Give Date of Birth for employee.
+ ☛ Give work email.
+

+
+ +
+
+
+
+ +
+
+

Email Template

+
+

+ ☛ The cron job will invoke the email
+ ☛ Email template is very simple
+

+
+ +
+
+
+
+ +
+

Need Any Help?

+ +
diff --git a/hide_cost_price/static/description/product_form_view.png b/hide_cost_price/static/description/product_form_view.png new file mode 100644 index 000000000..f9be7a8ab Binary files /dev/null and b/hide_cost_price/static/description/product_form_view.png differ diff --git a/hide_cost_price/static/description/product_tree_view.png b/hide_cost_price/static/description/product_tree_view.png new file mode 100644 index 000000000..31881c6fe Binary files /dev/null and b/hide_cost_price/static/description/product_tree_view.png differ diff --git a/hide_cost_price/static/description/user_adding_group.png b/hide_cost_price/static/description/user_adding_group.png new file mode 100644 index 000000000..29bfab572 Binary files /dev/null and b/hide_cost_price/static/description/user_adding_group.png differ diff --git a/hide_cost_price/views/hide_product_cost.xml b/hide_cost_price/views/hide_product_cost.xml new file mode 100644 index 000000000..2e8129852 --- /dev/null +++ b/hide_cost_price/views/hide_product_cost.xml @@ -0,0 +1,29 @@ + + + + + product.template.cost + product.template + + + + hide_cost_price.view_cost_price + + + hide_cost_price.view_cost_price + + + + + + product.template.cost + product.template + + + + hide_cost_price.view_cost_price + + + + + diff --git a/pos_ticket/README.rst b/pos_ticket/README.rst new file mode 100644 index 000000000..f948209f1 --- /dev/null +++ b/pos_ticket/README.rst @@ -0,0 +1,14 @@ +POS Ticket v11 +============== + +This module will add company logo & company info in POS receipt. Also it will print the customer name +in the receipt if the customer is selected. +Default POS logo will be replaced by the company logo in POS status bar + +Credits +======= +Cybrosys Techno Solutions + +Author +------ +* Niyas Raphy diff --git a/pos_ticket/README.rst~ b/pos_ticket/README.rst~ new file mode 100644 index 000000000..32a7c5344 --- /dev/null +++ b/pos_ticket/README.rst~ @@ -0,0 +1,11 @@ +POS Ticket +========== + + This module will add company logo & info in POS receipt + +Credits +======= +Cybrosys Techno Solutions +Author +------ +* Cybrosys Techno Solutions diff --git a/pos_ticket/__init__.py b/pos_ticket/__init__.py new file mode 100644 index 000000000..07cd23865 --- /dev/null +++ b/pos_ticket/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## diff --git a/pos_ticket/__manifest__.py b/pos_ticket/__manifest__.py new file mode 100644 index 000000000..b9f7aec77 --- /dev/null +++ b/pos_ticket/__manifest__.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +{ + 'name': 'Company Logo In POS Receipt', + 'summary': """Add Company Logo ,Info & Customer name to POS Ticket""", + 'version': '11.0.1.0', + 'description': """Add Company Logo , Info & Customer name to POS Ticket""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'category': 'Point Of Sale', + 'depends': ['base', 'point_of_sale'], + 'license': 'AGPL-3', + 'data': [], + 'qweb': ['static/src/xml/pos_ticket_view.xml'], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, + +} diff --git a/pos_ticket/__manifest__.py~ b/pos_ticket/__manifest__.py~ new file mode 100644 index 000000000..25d0bbe93 --- /dev/null +++ b/pos_ticket/__manifest__.py~ @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions() +# 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 . +# +############################################################################## +{ + 'name': 'Company Logo In POS Receipt', + 'summary': """Add Company Logo & Info to POS Ticket""", + 'version': '10.0.1.0.0', + 'description': """Add company logo and info to pos ticket""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'category': 'Point Of Sale', + 'depends': ['base', 'point_of_sale'], + 'license': 'AGPL-3', + 'data': [], + 'qweb': ['static/src/xml/pos_ticket_view.xml'], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, + +} diff --git a/pos_ticket/static/description/banner.jpg b/pos_ticket/static/description/banner.jpg new file mode 100644 index 000000000..aad3880ad Binary files /dev/null and b/pos_ticket/static/description/banner.jpg differ diff --git a/pos_ticket/static/description/cybro_logo.png b/pos_ticket/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/pos_ticket/static/description/cybro_logo.png differ diff --git a/pos_ticket/static/description/icon.png b/pos_ticket/static/description/icon.png new file mode 100644 index 000000000..ff378ada1 Binary files /dev/null and b/pos_ticket/static/description/icon.png differ diff --git a/pos_ticket/static/description/index.html b/pos_ticket/static/description/index.html new file mode 100644 index 000000000..ea586fd25 --- /dev/null +++ b/pos_ticket/static/description/index.html @@ -0,0 +1,78 @@ +
+
+

Company Logo In POS Receipt

+

Company logo and info will be displayed in POS receipt

+

Cybrosys Technologies

+
+
+ +
+
+
+

Receipt Details

+
+

+ Currently in Odoo POS receipt there is no company logo. + This module adds the company logo to the POS receipt so that the users will get more information about + the company from the receipt. Also replace the default POS logo in the Status bar with Company logo +

+
+ +
+ +
+
+

Receipt

+
+ +
+
+ +
+
+ +
+
+
+ +
+
+

POS Logo

+
+ +
+
+ +
+
+ +
+
+
+ + +
+

Need Any Help?

+ +
diff --git a/pos_ticket/static/description/new_pos_logo.png b/pos_ticket/static/description/new_pos_logo.png new file mode 100644 index 000000000..5549b56eb Binary files /dev/null and b/pos_ticket/static/description/new_pos_logo.png differ diff --git a/pos_ticket/static/description/new_receipt_pos.png b/pos_ticket/static/description/new_receipt_pos.png new file mode 100644 index 000000000..e785f4c7b Binary files /dev/null and b/pos_ticket/static/description/new_receipt_pos.png differ diff --git a/pos_ticket/static/description/old_pos_logo.png b/pos_ticket/static/description/old_pos_logo.png new file mode 100644 index 000000000..85a5a50f2 Binary files /dev/null and b/pos_ticket/static/description/old_pos_logo.png differ diff --git a/pos_ticket/static/description/old_receipt.png b/pos_ticket/static/description/old_receipt.png new file mode 100644 index 000000000..99ede150b Binary files /dev/null and b/pos_ticket/static/description/old_receipt.png differ diff --git a/pos_ticket/static/src/xml/pos_ticket_view.xml b/pos_ticket/static/src/xml/pos_ticket_view.xml new file mode 100644 index 000000000..ec297157e --- /dev/null +++ b/pos_ticket/static/src/xml/pos_ticket_view.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + +
+
+
+ + Customer:
+
+ Cashier:
+ + Phone:
+
+ + +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +
NameQtyPriceValue
+ + +
+ With a % discount +
+
+
+ + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Subtotal: + +
+ +
Discount: + +
Total: + +
+
+ + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + + + + + + + +
Change: + + + +
+
+
+
+
\ No newline at end of file diff --git a/user_login_alert/README.rst b/user_login_alert/README.rst new file mode 100644 index 000000000..a10dc3527 --- /dev/null +++ b/user_login_alert/README.rst @@ -0,0 +1,26 @@ +User Login Alert v11 +==================== + +This module will help to send the notification to users on successful login to his account. + + +Working +======= +if user is continuously using the same system the user will be notified only once. If he changes + the browser or the OS from same system he will receive the mail. +If user logged from another system and if he come back to his original system, for the first time +he will receive the email +Configuration +============= +For the working of this module, the outgoing mail configuration has to be configured . The Email will be send +to Users related partners Email ID. If the Email ID for the related partner of the user is not given, +then the notification mail will not send. + +Also install the "httpagentparser" python package, sudo pip install httpagentparser + +Credits +======= +Cybrosys Techno Solutions +Author +------ +* Cybrosys Techno Solutions diff --git a/user_login_alert/__init__.py b/user_login_alert/__init__.py new file mode 100644 index 000000000..a4f070906 --- /dev/null +++ b/user_login_alert/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import controllers +import models + diff --git a/user_login_alert/__manifest__.py b/user_login_alert/__manifest__.py new file mode 100644 index 000000000..18ae58ae4 --- /dev/null +++ b/user_login_alert/__manifest__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +{ + 'name': 'User Login Alert', + 'summary': """Secure your Odoo account by alerts at right time. If any successful login to your + account happens, an alert mail will be send to you with the browser and IP details.""", + 'version': '11.0.1.0.0', + 'description': """Secure your Odoo account by alerts at right time. If any successful login to your + account happens, an alert mail will be send to you with the browser and IP details.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'category': 'Tools', + 'depends': ['base', 'mail'], + 'license': 'AGPL-3', + 'data': [ + 'security/notification_group.xml', + 'views/logged_details_view.xml', + ], + 'images': ['static/description/banner.jpg'], + 'demo': [], + 'installable': True, + 'auto_install': False, + 'external_dependencies': { + 'python': ['httpagentparser'], + }, + + +} + diff --git a/user_login_alert/__manifest__.py~ b/user_login_alert/__manifest__.py~ new file mode 100644 index 000000000..839a3d54b --- /dev/null +++ b/user_login_alert/__manifest__.py~ @@ -0,0 +1,18 @@ +{ + 'name': 'Login Notification', + 'summary': """Send login notification E-mail to user""", + 'version': '10.0.1.0.0', + 'description': """Send login notification E-mail to user""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'category': 'Tools', + 'depends': ['base', 'web'], + 'license': 'AGPL-3', + 'data': [ + ], + 'demo': [], + 'installable': True, + 'auto_install': False, + +} \ No newline at end of file diff --git a/user_login_alert/controllers/__init__.py b/user_login_alert/controllers/__init__.py new file mode 100644 index 000000000..58987f200 --- /dev/null +++ b/user_login_alert/controllers/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import main diff --git a/user_login_alert/controllers/main.py b/user_login_alert/controllers/main.py new file mode 100644 index 000000000..bc256da01 --- /dev/null +++ b/user_login_alert/controllers/main.py @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import httpagentparser +from time import gmtime, strftime +from odoo.addons.web.controllers import main +from odoo.http import request +from odoo.exceptions import Warning +import odoo +import odoo.modules.registry +from odoo.tools.translate import _ +from odoo import http + + +class Home(main.Home): + + @http.route('/web/login', type='http', auth="public") + def web_login(self, redirect=None, **kw): + main.ensure_db() + request.params['login_success'] = False + if request.httprequest.method == 'GET' and redirect and request.session.uid: + return http.redirect_with_hash(redirect) + + if not request.uid: + request.uid = odoo.SUPERUSER_ID + + values = request.params.copy() + try: + values['databases'] = http.db_list() + except odoo.exceptions.AccessDenied: + values['databases'] = None + if request.httprequest.method == 'POST': + old_uid = request.uid + uid = request.session.authenticate(request.session.db, request.params['login'], request.params['password']) + if uid is not False: + user_rec = request.env['res.users'].sudo().search([('id', '=', uid)]) + if user_rec.partner_id.email and user_rec.has_group('user_login_alert.receive_login_notification'): + send_mail = 0 + agent = request.httprequest.environ.get('HTTP_USER_AGENT') + agent_details = httpagentparser.detect(agent) + user_os = agent_details['os']['name'] + browser_name = agent_details['browser']['name'] + ip_address = request.httprequest.environ['REMOTE_ADDR'] + if user_rec.last_logged_ip and user_rec.last_logged_browser and user_rec.last_logged_os: + if user_rec.last_logged_ip != ip_address or user_rec.last_logged_browser != browser_name or user_rec.last_logged_os != user_os: + send_mail = 1 + user_rec.last_logged_ip = ip_address + user_rec.last_logged_browser = browser_name + user_rec.last_logged_os = user_os + else: + send_mail = 0 + else: + send_mail = 1 + user_rec.last_logged_ip = ip_address + user_rec.last_logged_browser = browser_name + user_rec.last_logged_os = user_os + if send_mail == 1: + email_to = user_rec.partner_id.email + current_date_time = strftime("%Y-%m-%d %H:%M:%S", gmtime()) + message_body = 'Hi ' + user_rec.name + ' , Your account has been ' \ + 'accessed successfully. The details of the ' \ + 'system from which the account is accessed ...,' + message_body += '' + message_body += '' \ + '' \ + ''\ + '' \ + '' \ + ''\ + '' \ + '' \ + '' + message_body += '
' + 'OS' + '' + user_os + '
' + 'Browser' + '' + browser_name + '
' + 'IP Address' + '' + ip_address + '
' + message_body += 'Thank you' + template_obj = request.env['mail.mail'] + template_data = { + 'subject': 'Login Alert : ' + current_date_time, + 'body_html': message_body, + 'email_from': request.env.user.company_id.email, + 'email_to': email_to + } + template_id = template_obj.create(template_data) + template_obj.send(template_id) + request.params['login_success'] = True + if not redirect: + redirect = '/web' + return http.redirect_with_hash(redirect) + request.uid = old_uid + values['error'] = _("Wrong login/password") + return request.render('web.login', values) diff --git a/user_login_alert/models/__init__.py b/user_login_alert/models/__init__.py new file mode 100644 index 000000000..03078d885 --- /dev/null +++ b/user_login_alert/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +import logged_details + diff --git a/user_login_alert/models/logged_details.py b/user_login_alert/models/logged_details.py new file mode 100644 index 000000000..1f3bb6461 --- /dev/null +++ b/user_login_alert/models/logged_details.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Niyas Raphy() +# 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 . +# +############################################################################## +from odoo import models, fields + + +class ResUsersInherit(models.Model): + _inherit = 'res.users' + + last_logged_ip = fields.Char(string='IP') + last_logged_browser = fields.Char(string='Browser') + last_logged_os = fields.Char(string='OS') diff --git a/user_login_alert/security/notification_group.xml b/user_login_alert/security/notification_group.xml new file mode 100644 index 000000000..5867cb807 --- /dev/null +++ b/user_login_alert/security/notification_group.xml @@ -0,0 +1,8 @@ + + + + + Receive Login Notification + + + \ No newline at end of file diff --git a/user_login_alert/static/description/banner.jpg b/user_login_alert/static/description/banner.jpg new file mode 100644 index 000000000..91c8a6fa3 Binary files /dev/null and b/user_login_alert/static/description/banner.jpg differ diff --git a/user_login_alert/static/description/cybro_logo.png b/user_login_alert/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/user_login_alert/static/description/cybro_logo.png differ diff --git a/user_login_alert/static/description/icon.png b/user_login_alert/static/description/icon.png new file mode 100644 index 000000000..f5418fd92 Binary files /dev/null and b/user_login_alert/static/description/icon.png differ diff --git a/user_login_alert/static/description/index.html b/user_login_alert/static/description/index.html new file mode 100644 index 000000000..491abedb3 --- /dev/null +++ b/user_login_alert/static/description/index.html @@ -0,0 +1,86 @@ +
+
+

User Login Alert

+

User will be notified on Successful login

+

Cybrosys Technologies

+
+

This module will send a notification email to the users email. The notification email contains the IP + of the system, browser name and OS from which the account is accessed.

+
+
+

Features:

+
    +
  •    Email notification on Log in
  • +
  •    Details of the system that accessed the account
  • +
  •    IP, OS and browser as well as log in time will be there in the notification email
  • +
  •    User will receive notification only if user exist in group receive login notification
  • +
+
+
+
+ +
+
+

Notification E-Mail

+
+

Adding user to the login notification group

+

user will receive notification only if he is added in this group

+
+ +
+
+ +
+

User received e-mail on successful login

+
+ +
+
+
+
+ +
+
+

Working

+
+
    +
  •    If the user is logging in from the same system, user will be only notified for the first time
  • +
  •    If the user changes the browser or OS from the same system, the notification email will be received
  • +
  •    if user logged in from a new system , notification mail will send.
  • +
  •    Users IP, OS ad browser details will be stored in User form.
  • +
  •    Logging in from above IP ,browser and OS user wont be notified
  • +
  •    This will get updated based on users latest login
  • +
  •    This will details be visible only in developer mode
  • +
+
+
+
+ + + + +
+

Need Any Help?

+ +
diff --git a/user_login_alert/static/description/index.html~ b/user_login_alert/static/description/index.html~ new file mode 100644 index 000000000..7f747cbbb --- /dev/null +++ b/user_login_alert/static/description/index.html~ @@ -0,0 +1,82 @@ +
+
+

Birthday Notification By E-mail

+

This module will wish the employees on their birthday

+ +

Author : Cybrosys Techno Solutions , www.cybrosys.com

+
+

Features:

+
    +
  •    Adds a cron job to invoke email
  • +
  •    Adds an email template
  • +
+
+
+
+ +
+
+
+

Overview

+

+ HR departments need not worry to wish their employees for their Birthday. In this module we have included the feature to send an email Birthday notification to the employee. +

+
+
+
+ +
+
+

Employee Form

+
+

+ ☛ Give Date of Birth for employee.
+ ☛ Give work email.
+

+
+ +
+
+
+
+ +
+
+

Email Template

+
+

+ ☛ The cron job will invoke the email
+ ☛ Email template is very simple
+

+
+ +
+
+
+
+ +
+

Need Any Help?

+ +
diff --git a/user_login_alert/static/description/notified_email.png b/user_login_alert/static/description/notified_email.png new file mode 100644 index 000000000..f4a6c8284 Binary files /dev/null and b/user_login_alert/static/description/notified_email.png differ diff --git a/user_login_alert/static/description/tick_to_receive.png b/user_login_alert/static/description/tick_to_receive.png new file mode 100644 index 000000000..8afb7253e Binary files /dev/null and b/user_login_alert/static/description/tick_to_receive.png differ diff --git a/user_login_alert/views/logged_details_view.xml b/user_login_alert/views/logged_details_view.xml new file mode 100644 index 000000000..cf8b3c27a --- /dev/null +++ b/user_login_alert/views/logged_details_view.xml @@ -0,0 +1,25 @@ + + + + + res.users + res.users + + + + + + + + + + + + + + + + + + +