Browse Source

Sep 20 [FIX] : Bug Fixed 'website_seo_kit'

pull/278/head
AjmalCybro 2 years ago
parent
commit
eb88335cf8
  1. 6
      website_seo_kit/__manifest__.py
  2. 6
      website_seo_kit/doc/RELEASE_NOTES.md
  3. 30
      website_seo_kit/models/website_seo.py
  4. 4
      website_seo_kit/security/ir.model.access.csv
  5. 0
      website_seo_kit/security/ir_rule.xml
  6. 6
      website_seo_kit/views/seo_categ_view.xml
  7. 5
      website_seo_kit/views/seo_generator_view.xml

6
website_seo_kit/__manifest__.py

@ -21,8 +21,8 @@
############################################################################
{
'name': "Website SEO Kit",
'version': '16.0.1.0.0',
'summary': """website seo kit used for
'version': '16.0.1.1.0',
'summary': """Website seo kit used for
automatically generate meta titles, descriptions,
and keywords for each product and product category""",
'description': """This module help to generate seo content""",
@ -34,7 +34,7 @@
'images': ['static/description/banner.png'],
'depends': ['base', 'website', 'website_sale'],
'data': [
'security/security_rule.xml',
'security/ir_rule.xml',
'security/ir.model.access.csv',
'views/seo_categ_view.xml',
'views/seo_generator_view.xml',

6
website_seo_kit/doc/RELEASE_NOTES.md

@ -3,5 +3,9 @@
#### 17.02.2023
#### Version 16.0.1.0.0
#### ADD
- Initial commit for Website SEO Kit
#### 18.09.2023
#### Version 16.0.1.1.0
##### FIX
- Bug Fixed

30
website_seo_kit/models/website_seo.py

@ -23,7 +23,7 @@ from odoo import api, exceptions, fields, models
class WebsiteSeoAttribute(models.Model):
"""this module allows to user to give attributes"""
"""This module allows to user to give attributes"""
_name = 'website.seo.attributes'
_description = 'Website SEO'
@ -33,19 +33,21 @@ class WebsiteSeoAttribute(models.Model):
('description_sale', 'Product Description'),
('default_code', 'Internal Reference'),
('company_id', 'Company Name')],
help='Select Product')
help='Select Product', string="Product")
models = fields.Selection([('product', 'Product'),
('product_category', 'Product Category')],
string='Model', help='Choose your model')
tech_name = fields.Char(string='Technical name')
tech_name = fields.Char(string='Technical name', help="Technical Name")
category = fields.Selection([('name', 'Category Name'),
('parent_id', 'Category Parent Name'),
('category_description',
'Category Description')],
help='Select Product Category')
help='Select Product Category',
string="Select Product Category")
@api.constrains('name')
def _check_unique_name(self):
"""Check for unique name"""
for rec in self:
domain = [('name', '=', rec.name.lower())]
if self.search_count(domain) > 1:
@ -63,22 +65,18 @@ class GenerateSeo(models.Model):
('product_category', 'Product Category')],
string='SEO Meta Configuration For',
help='Select any these model', required=True)
meta_title_ids = fields.Many2many('website.seo.attributes',
'title', 'title_id', string='Meta Title',
help='Choose meta tittle', required=True)
meta_description_ids = fields.Many2many('website.seo.attributes',
'description', 'description_id',
string='Meta Description',
help='Choose meta description',
required=True)
attribute_separator = fields.Char(string="Multi Attribute Separator",
default="|", required=True)
company_id = fields.Many2one('res.company', string='Company',
default=lambda self: self.env.company)
meta_ids = fields.Many2many('website.seo.attributes', 'meta', 'meta_id',
string='Title !')
state = fields.Selection([
@ -100,7 +98,7 @@ class GenerateSeo(models.Model):
[('models', '=', 'product_category')])]
def action_save_seo_info(self):
"""save the seo content"""
"""Save the seo content"""
for rec in self.search([]):
if rec.id == self.id:
self.write({'state': 'activated'})
@ -127,7 +125,6 @@ class GenerateSeo(models.Model):
'website_meta_keywords': pro.name
})
meta_title.append(values)
if self.meta_description_ids:
products = self.env['product.template'].search_read(
[], fields=self.meta_description_ids.mapped('product'))
@ -158,7 +155,6 @@ class GenerateSeo(models.Model):
'sticky': False,
}
}
elif self.model_name == 'product_category':
if self.meta_title_ids:
products = self.env['product.public.category'].search_read(
@ -183,11 +179,10 @@ class GenerateSeo(models.Model):
'website_meta_keywords': pro.name
})
meta_categ_title.append(values)
if self.meta_description_ids:
products = self.env['product.public.category'].search_read(
[('is_auto_seo', '=', True)],
fields= self.meta_description_ids.mapped('category'))
fields=self.meta_description_ids.mapped('category'))
meta_categ_description = []
for product in products:
sep = self.attribute_separator
@ -199,12 +194,12 @@ class GenerateSeo(models.Model):
'string': string,
'id': product['id']
}
pro = self.env['product.public.category'].browse(values['id'])
pro = self.env[
'product.public.category'].browse(values['id'])
pro.write({
'website_meta_description': values['string'],
})
meta_categ_description.append(values)
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
@ -220,12 +215,11 @@ class GenerateSeo(models.Model):
class SeoPublicCategory(models.Model):
"""here user can include category by enabling is_auto_seo field"""
"""Here user can include category by enabling is_auto_seo field"""
_inherit = 'product.public.category'
is_auto_seo = fields.Boolean(string="Auto Update SEO",
help='enable for generate seo content '
'automatically for this category')
category_description = fields.Text(string='Description For This Category',
help='Description For This Category',
required=True)
help='Description For This Category')

4
website_seo_kit/security/ir.model.access.csv

@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_website_seo_attributes,model_website_seo_attributes,model_website_seo_attributes,website.group_website_designer,1,1,1,1
access_seo_generate,model_seo_generate,model_seo_generate,website.group_website_designer,1,1,1,1
access_website_seo_attributes,model.website.seo.attributes,model_website_seo_attributes,website.group_website_designer,1,1,1,1
access_seo_generate,model.seo.generate,model_seo_generate,website.group_website_designer,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_website_seo_attributes model_website_seo_attributes model.website.seo.attributes model_website_seo_attributes website.group_website_designer 1 1 1 1
3 access_seo_generate model_seo_generate model.seo.generate model_seo_generate website.group_website_designer 1 1 1 1

0
website_seo_kit/security/security_rule.xml → website_seo_kit/security/ir_rule.xml

6
website_seo_kit/views/seo_categ_view.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- inherited form iew of product.public.category-->
<record id="product_public_category_view_form" model="ir.ui.view">
<!--Inherited form iew of product.public.category-->
<record id="product_public_category_form_view" model="ir.ui.view">
<field name="name">product.public.category.view.form.inherit.website.seo.kit</field>
<field name="model">product.public.category</field>
<field name="inherit_id"
@ -23,7 +23,7 @@
</page>
<page string="Category Description" attrs="{'invisible': [('is_auto_seo','!=',True)]}">
<field name="category_description"
placeholder="Enter Category Description"/>
placeholder="Enter Category Description" required="True"/>
</page>
</notebook>
</xpath>

5
website_seo_kit/views/seo_generator_view.xml

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- View of generate seo menu -->
<!--View of generate seo menu -->
<record id="generate_seo_form_view" model="ir.ui.view">
<field name="name">seo.generate.view.form</field>
<field name="model">seo.generate</field>
@ -41,7 +41,7 @@
</form>
</field>
</record>
<!-- tree view of seo.generate model-->
<!-- Tree view of seo.generate model-->
<record id="generate_seo_tree_view" model="ir.ui.view">
<field name="name">seo.generate.view.tree</field>
<field name="model">seo.generate</field>
@ -56,7 +56,6 @@
</tree>
</field>
</record>
<!-- Action of generate seo menu -->
<record id="action_website_generate_seo" model="ir.actions.act_window">
<field name="name">Website SEO</field>

Loading…
Cancel
Save