diff --git a/advance_signup_page/README.rst b/advance_signup_page/README.rst new file mode 100644 index 000000000..9402c1156 --- /dev/null +++ b/advance_signup_page/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Advance Signup Page +==================== +The user can create the Sign-Up page for their Odoo website using the Odoo Advance Sign Up tool. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Affero General Public License, Version 3 (AGPL v3) +( https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developers: (V17): Ammu Raj ,Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/advance_signup_page/__init__.py b/advance_signup_page/__init__.py new file mode 100644 index 000000000..6b198c971 --- /dev/null +++ b/advance_signup_page/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import controllers +from . import models diff --git a/advance_signup_page/__manifest__.py b/advance_signup_page/__manifest__.py new file mode 100644 index 000000000..5e11c78ab --- /dev/null +++ b/advance_signup_page/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': "Advance Signup Page", + 'version': '17.0.1.0.0', + 'category': 'Website', + 'summary': "The user can design a more creative and distinctive sign-up page" + "for their Odoo website by using Odoo Advance Sign Up", + 'description': "The user may create the Sign-Up page for their Odoo website" + "using the Odoo Advance Sign Up tool. Various dynamic fields" + "can be added by the Odoo admin as needed to the signup" + "form.The website page for signup, login, and password reset" + "can have custom background picture selected by the Odoo" + "admin. Admins may also add content to the login, register," + "and reset password pages from the Odoo backend.", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['website', 'auth_signup'], + 'data': [ + 'security/ir.model.access.csv', + 'views/signup_configuration_views.xml', + 'views/signup_fields_views.xml', + 'views/auth_signup_templates.xml' + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/advance_signup_page/controllers/__init__.py b/advance_signup_page/controllers/__init__.py new file mode 100644 index 000000000..5e297c220 --- /dev/null +++ b/advance_signup_page/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import auth_signup diff --git a/advance_signup_page/controllers/auth_signup.py b/advance_signup_page/controllers/auth_signup.py new file mode 100644 index 000000000..17cc036eb --- /dev/null +++ b/advance_signup_page/controllers/auth_signup.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +import logging +from werkzeug.urls import url_encode +from odoo import http, _ +from odoo.exceptions import UserError +from odoo.http import request +from odoo.addons.auth_signup.controllers.main import AuthSignupHome +from odoo.addons.auth_signup.models.res_users import SignupError +from odoo.addons.web.controllers.home import ensure_db + +_logger = logging.getLogger(__name__) + + +class AuthSignupHome(AuthSignupHome): + """Custom AuthSignupHome Controller for Handling Signup.This custom + AuthSignupHome controller extends the default Odoo 'AuthSignupHome' + controller to handle signup functionality.It provides methods for web + login and signup, including additional configuration fields.""" + @http.route() + def web_login(self, *args, **kw): + """ Perform web login.""" + ensure_db() + response = super().web_login(*args, **kw) + response.qcontext.update(self.get_auth_signup_config()) + if request.session.uid: + if request.httprequest.method == 'GET' and request.params.get( + 'redirect'): + # Redirect if already logged in and redirect param is present + return request.redirect(request.params.get('redirect')) + # Add message for non-internal user account without redirect + # if account was just created + if response.location == '/web/login_successful' and kw.get( + 'confirm_password'): + return request.redirect_query('/web/login_successful', + query={'account_created': True}) + return response + + @http.route('/web/signup', type='http', auth='public', website=True, + sitemap=False) + def web_auth_signup(self, *args, **kw): + """Overridden the controller function to add the configuration into + the qcontext""" + qcontext = self.get_auth_signup_qcontext() + configuration = request.env['signup.configuration'].sudo(). \ + search([('website_id', '=', request.website.id)], limit=1) + for key in kw: + qcontext[key] = kw[key] + if configuration: + qcontext.update({ + 'configuration': configuration + }) + if 'error' not in qcontext and request.httprequest.method == 'POST': + try: + self.do_signup(qcontext) + # Send an account creation confirmation email + user = request.env['res.users'] + user_sudo = user.sudo().search( + user._get_login_domain(qcontext.get('login')), + order=user._get_login_order(), limit=1 + ) + template = request.env.ref( + 'auth_signup.mail_template_user_signup_account_created', + raise_if_not_found=False) + if user_sudo and template: + template.sudo().send_mail(user_sudo.id, force_send=True) + return self.web_login(*args, **kw) + except UserError as e: + qcontext['error'] = e.args[0] + except (SignupError, AssertionError) as e: + if request.env["res.users"].sudo().search( + [("login", "=", qcontext.get("login"))]): + qcontext["error"] = _( + "Another user is already registered using this email " + "address.") + else: + _logger.error("%s", e) + qcontext['error'] = _("Could not create a new account.") + elif 'signup_email' in qcontext: + user = request.env['res.users'].sudo().search( + [('email', '=', qcontext.get('signup_email')), + ('state', '!=', 'new')], limit=1) + if user: + return request.redirect('/web/login?%s' % url_encode( + {'login': user.login, 'redirect': '/web'})) + response = request.render('auth_signup.signup', qcontext) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response + + def _prepare_signup_values(self, qcontext): + """Updated the values with newly added fields""" + keys = ['login', 'name', 'password'] + configuration = request.env['signup.configuration'] \ + .sudo().search([], limit=1) + for field in configuration.signup_field_ids: + keys.append(field.field_id.name) + values = {key: qcontext.get(key) for key in keys} + if not values: + raise UserError(_("The form was not properly filled in.")) + if values.get('password') != qcontext.get('confirm_password'): + raise UserError(_("Passwords do not match; please retype them.")) + supported_lang_codes = [code for code, _ in + request.env['res.lang'].sudo().get_installed()] + lang = request.context.get('lang', '') + if lang in supported_lang_codes: + values['lang'] = lang + return values + + @http.route('/web/signup', type='http', auth="public", website=True, + sitemap=False) + def website_signup(self): + """Perform website signup.""" + values = {} + configuration_signup = request.env[ + 'configuration.signup'].sudo().search([], limit=1) + if configuration_signup.is_show_terms_conditions: + values[ + 'terms_and_conditions'] = configuration_signup \ + .terms_and_conditions + return request.render( + "advance_signup_portal.advance_signup_portal.fields", values) diff --git a/advance_signup_page/doc/RELEASE_NOTES.md b/advance_signup_page/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..df7517f0b --- /dev/null +++ b/advance_signup_page/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 03.04.2024 +#### Version 17.0.1.0.0 +#### ADD + - Initial Commit for Advance Signup Page diff --git a/advance_signup_page/models/__init__.py b/advance_signup_page/models/__init__.py new file mode 100644 index 000000000..5a007ee45 --- /dev/null +++ b/advance_signup_page/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import signup_configuration +from . import signup_field diff --git a/advance_signup_page/models/signup_configuration.py b/advance_signup_page/models/signup_configuration.py new file mode 100644 index 000000000..995580879 --- /dev/null +++ b/advance_signup_page/models/signup_configuration.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class SignupConfiguration(models.Model): + """Model for Signup Configuration.This class represents the Signup + Configuration model for the Odoo website.It is used to configure the + signup page, including defining fields, content,and other settings.""" + _name = 'signup.configuration' + _description = 'Signup Configuration' + _sql_constraints = [('website_id', 'unique(website_id)', + 'A record for this website is already exist')] + + name = fields.Char(string='Name', copy=False, required=True, + help='The name of the signup configuration.') + website_id = fields.Many2one(comodel_name='website', + string='Website', required=True, + help='The website associated with the signup' + ' configuration.') + is_active = fields.Boolean(string='Active', default=True, + help='Specifies if the signup configuration is ' + 'active or not.') + signup_field_ids = fields.One2many(comodel_name='signup.field', + inverse_name='configuration_id', + string='Signup Fields', + help='The fields associated with the ' + 'signup configuration.') + signup_page_content = fields.Html(string='Signup Page Content', + help='The content of the signup page.') + login_page_content = fields.Html(string='Login Page Content', + help='The content of the login page.') + reset_password_content = fields.Html(string='Reset Password Content', + help='The content of the reset' + ' password page.') + background_image = fields.Binary(string='Background Image', + help='The background image for the ' + 'signup page.') + is_show_terms_conditions = fields.Boolean( + string='Show Terms and Condition in Signup Page', + help='Specifies if the terms and conditions ' + 'should be shown on the signup page.') + terms_and_conditions = fields.Html(string='Terms and Conditions', + help='The terms and conditions' + ' text for the signup page.') diff --git a/advance_signup_page/models/signup_field.py b/advance_signup_page/models/signup_field.py new file mode 100644 index 000000000..60603f13d --- /dev/null +++ b/advance_signup_page/models/signup_field.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class SignupFields(models.Model): + """ Model for Signup Fields.This class represents the Signup Fields model + for the Odoo website. It is used to define and manage the fields that + users can sign up with.""" + _name = 'signup.field' + _description = 'Signup Fields for Website' + + field_id = fields.Many2one(comodel_name='ir.model.fields', + string='Signup Field', + domain=[('model_id.model', '=', 'res.users'), + ('ttype', 'in', ['char', 'integer', + 'float', 'text', 'date', + 'datetime', + 'binary', 'boolean'])], + help='The field associated with the ' + 'signup field.') + name = fields.Char(string='Field Label', + related='field_id.field_description', + help='The label of the signup field.') + placeholder = fields.Char(string='Placeholder', + help='The placeholder text for the ' + 'signup field.') + help_description = fields.Text(string='Help', + help='Additional help or description ' + 'for the signup field.') + field_type = fields.Char(string='Field Type', + readonly=True, + help='The type of the signup field.') + number_of_cols = fields.Selection(selection=[('2', '2'), ('3', '3'), + ('4', '4'), ('6', '6'), + ('12', '12')], + string='Number of Columns', + help='The number of columns for the ' + 'signup field layout.') + is_required = fields.Boolean(string='Is Required', + help='Specifies if the signup field is ' + 'required.') + configuration_id = fields.Many2one(comodel_name='signup.configuration', + help='The signup configuration ' + 'associated with the signup field') + + @api.model_create_multi + def create(self, vals_list): + """Create records for the SignupFields model.""" + field_ids = [vals['field_id'] for vals in vals_list if + 'field_id' in vals] + field_types = self.env['ir.model.fields'].browse(field_ids).mapped( + 'ttype') + for vals in vals_list: + if 'field_id' in vals: + vals['field_type'] = field_types[ + field_ids.index(vals['field_id'])] + records = super(SignupFields, self).create( + [vals for vals in vals_list if 'field_id' in vals]) + return records + + def write(self, vals): + """Override the function to update the field type while saving the + record""" + if 'field_id' in vals: + vals['field_type'] = self.env['ir.model.fields'].browse( + vals['field_id']).ttype + return super(SignupFields, self).write(vals) diff --git a/advance_signup_page/security/ir.model.access.csv b/advance_signup_page/security/ir.model.access.csv new file mode 100644 index 000000000..90b9346d5 --- /dev/null +++ b/advance_signup_page/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_signup_configuration_user,access.signup.configuration.user,model_signup_configuration,base.group_user,1,1,1,1 +access_signup_field_user,access.signup.field.user,model_signup_field,base.group_user,1,1,1,1 diff --git a/advance_signup_page/static/description/assets/icons/capture (1).png b/advance_signup_page/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/capture (1).png differ diff --git a/advance_signup_page/static/description/assets/icons/check.png b/advance_signup_page/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/check.png differ diff --git a/advance_signup_page/static/description/assets/icons/chevron.png b/advance_signup_page/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/chevron.png differ diff --git a/advance_signup_page/static/description/assets/icons/cogs.png b/advance_signup_page/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/cogs.png differ diff --git a/advance_signup_page/static/description/assets/icons/consultation.png b/advance_signup_page/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/consultation.png differ diff --git a/advance_signup_page/static/description/assets/icons/ecom-black.png b/advance_signup_page/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/ecom-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/education-black.png b/advance_signup_page/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/education-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/hotel-black.png b/advance_signup_page/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/hotel-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/img.png b/advance_signup_page/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/img.png differ diff --git a/advance_signup_page/static/description/assets/icons/license.png b/advance_signup_page/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/license.png differ diff --git a/advance_signup_page/static/description/assets/icons/lifebuoy.png b/advance_signup_page/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/lifebuoy.png differ diff --git a/advance_signup_page/static/description/assets/icons/manufacturing-black.png b/advance_signup_page/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/manufacturing-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/photo-capture.png b/advance_signup_page/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/photo-capture.png differ diff --git a/advance_signup_page/static/description/assets/icons/pos-black.png b/advance_signup_page/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/pos-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/puzzle.png b/advance_signup_page/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/puzzle.png differ diff --git a/advance_signup_page/static/description/assets/icons/restaurant-black.png b/advance_signup_page/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/restaurant-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/service-black.png b/advance_signup_page/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/service-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/trading-black.png b/advance_signup_page/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/trading-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/training.png b/advance_signup_page/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/training.png differ diff --git a/advance_signup_page/static/description/assets/icons/update.png b/advance_signup_page/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/update.png differ diff --git a/advance_signup_page/static/description/assets/icons/user.png b/advance_signup_page/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/user.png differ diff --git a/advance_signup_page/static/description/assets/icons/wrench.png b/advance_signup_page/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/wrench.png differ diff --git a/advance_signup_page/static/description/assets/misc/Cybrosys R.png b/advance_signup_page/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/advance_signup_page/static/description/assets/misc/Cybrosys R.png differ diff --git a/advance_signup_page/static/description/assets/misc/email.svg b/advance_signup_page/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/phone.svg b/advance_signup_page/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/advance_signup_page/static/description/assets/misc/star (1) 2.svg b/advance_signup_page/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/support (1) 1.svg b/advance_signup_page/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/support-email.svg b/advance_signup_page/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/tick-mark.svg b/advance_signup_page/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/whatsapp 1.svg b/advance_signup_page/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/misc/whatsapp.svg b/advance_signup_page/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/advance_signup_page/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/modules/1.png b/advance_signup_page/static/description/assets/modules/1.png new file mode 100644 index 000000000..ba1058c42 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/1.png differ diff --git a/advance_signup_page/static/description/assets/modules/2.png b/advance_signup_page/static/description/assets/modules/2.png new file mode 100644 index 000000000..6949185dd Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/2.png differ diff --git a/advance_signup_page/static/description/assets/modules/3.png b/advance_signup_page/static/description/assets/modules/3.png new file mode 100644 index 000000000..4e506f79b Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/3.png differ diff --git a/advance_signup_page/static/description/assets/modules/4.png b/advance_signup_page/static/description/assets/modules/4.png new file mode 100644 index 000000000..e78427938 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/4.png differ diff --git a/advance_signup_page/static/description/assets/modules/5.png b/advance_signup_page/static/description/assets/modules/5.png new file mode 100755 index 000000000..272ec20f9 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/5.png differ diff --git a/advance_signup_page/static/description/assets/modules/6.png b/advance_signup_page/static/description/assets/modules/6.png new file mode 100644 index 000000000..7d5c3154f Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/6.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/1.png b/advance_signup_page/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..d58fcfc3e Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/1.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/2.png b/advance_signup_page/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..53a0e161b Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/2.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/3.png b/advance_signup_page/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..1dee18743 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/3.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/4.png b/advance_signup_page/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..fd17de1d1 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/4.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/5.png b/advance_signup_page/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..e7429fb1b Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/5.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/6.png b/advance_signup_page/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..ef3e91211 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/6.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/7.png b/advance_signup_page/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..3a75a6428 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/7.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/8.png b/advance_signup_page/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..217a237d5 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/8.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/hero.gif b/advance_signup_page/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..d0b36782d Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/hero.gif differ diff --git a/advance_signup_page/static/description/banner.png b/advance_signup_page/static/description/banner.png new file mode 100644 index 000000000..a4dafbad9 Binary files /dev/null and b/advance_signup_page/static/description/banner.png differ diff --git a/advance_signup_page/static/description/icon.png b/advance_signup_page/static/description/icon.png new file mode 100644 index 000000000..acece4d83 Binary files /dev/null and b/advance_signup_page/static/description/icon.png differ diff --git a/advance_signup_page/static/description/index.html b/advance_signup_page/static/description/index.html new file mode 100644 index 000000000..1097084da --- /dev/null +++ b/advance_signup_page/static/description/index.html @@ -0,0 +1,646 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+
+
+
+

+ Advance Signup Page

+

+ Using Odoo Advance Sign Up, The User Can Generate a Creative and Unique Sign-Up Page. +

+
+ +
+
+
+
+
+

Key Highlights +

+
+
+
+
+
+ +
+
+

Community, Enterprise & SH Support

+

Available in Odoo 17.0 Community, Enterprise & SH. +

+
+
+
+
+
+
+ +
+
+

Advance Signup Facilities

+

Advance Signup Facilitates the User to Design the Sign-Up Page for Odoo Website +

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

Various Dynamic Fields in the Signup Form

+

The Odoo Admin can Add Various Dynamic Fields in the Signup Form as per the Requirements. +

+
+
+
+
+
+
+ +
+
+

Custom Background Image for the Signup/Login/Reset Password Website Page

+

The Odoo Admin can Set a Custom Background Image for the Signup/Login/Reset Password Website Page. +

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

+ From Website Configuration -> Choose Signup Configuration.

+
+
+
+
+
+
+ +
+
+

+ Admin can Add any Dynamic Field in the Signup Page.

+
+
+
+
+
+
+ +
+
+

+ Manage Content Settings of the Signup Page.

+
+
+
+
+
+
+ +
+
+

+ Manage Background Settings of the Signup Page.

+
+
+
+
+
+
+ +
+
+

+ Manage Other Settings of the Signup Page.

+
+
+
+
+
+
+ +
+
+

+ After Saving the Changes, You Can Go to the Website Frontend and can Notice the Difference in Login Page.

+
+
+
+
+
+
+ +
+
+

+ Signup Page.

+
+
+
+
+
+
+ +
+
+

+ Reset Password Page.

+
+
+
+
+
+
+
    +
  • + Advance Signup Facilitates the User to Design the Sign-Up Page for Odoo Website. +
  • +
  • + Custom Background Image for the Signup/Login/Reset Password Website Page. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:05 April 2024 +
+

+ Initial Commit for Chatter Attachments as ZIP

+
+
+
+
+
+
+
+

Related Products

+
+
+ +
+
+

Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo Licensing Consultancy

+
+
+
+
+
+
+

Our Industries

+ +
+
+
+
+
+
+ +

Trading

+

Easily procure and sell your products

+
+
+
+
+ +

POS

+

Easy configuration and convivial experience

+
+
+
+
+ +

Education

+

A platform for educational management

+
+
+
+
+ +

Manufacturing

+

Plan, track and schedule your operations

+
+
+
+
+ +

E-commerce & Website

+

Mobile friendly, awe-inspiring product pages

+
+
+
+
+ +

Service Management

+

Keep track of services and invoice

+
+
+
+
+ +

Restaurant

+

Run your bar or restaurant methodically

+
+
+
+
+ +

Hotel Management

+

An all-inclusive hotel management application

+
+
+
+
+
+
+

Support

+
+
+
+
+
+
+
+ +
+ Need + Help? +

Got questions or need help? Get in touch.

+
odoo@cybrosys.com +
+
+
+
+
+
+
+
+ +
+ WhatsApp +

Say hi to us on WhatsApp!

+
+91 + 99456767686
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/advance_signup_page/views/auth_signup_templates.xml b/advance_signup_page/views/auth_signup_templates.xml new file mode 100644 index 000000000..d64f1335f --- /dev/null +++ b/advance_signup_page/views/auth_signup_templates.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/views/signup_configuration_views.xml b/advance_signup_page/views/signup_configuration_views.xml new file mode 100644 index 000000000..516e48188 --- /dev/null +++ b/advance_signup_page/views/signup_configuration_views.xml @@ -0,0 +1,82 @@ + + + + + signup.configuration.view.tree + signup.configuration + + + + + + + + + + signup.configuration.view.form + signup.configuration + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + Signup Configuration + signup.configuration + tree,form + + + +
diff --git a/advance_signup_page/views/signup_fields_views.xml b/advance_signup_page/views/signup_fields_views.xml new file mode 100644 index 000000000..5aac4ebf6 --- /dev/null +++ b/advance_signup_page/views/signup_fields_views.xml @@ -0,0 +1,45 @@ + + + + + signup.field.view.tree + signup.field + + + + + + + + + + + + signup.field.view.form + signup.field + +
+ + + + + + + + + + + + + + + + + +
+
+
+