summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2023-01-04 11:04:01 +0700
committerstephanchrst <stephanchrst@gmail.com>2023-01-04 11:04:01 +0700
commit2bc877dcbe21138451a65aa00f75f2ca240b0e4a (patch)
tree7ce762a7f9aa7df11f667215db9227dd2cfdff2e
parent69c476bba84a7cb2b33e8b45bc1ea7d140333b2f (diff)
add window website channel and website content
-rwxr-xr-xindoteknik_custom/__manifest__.py2
-rwxr-xr-xindoteknik_custom/models/__init__.py1
-rw-r--r--indoteknik_custom/models/website_content.py34
-rwxr-xr-xindoteknik_custom/security/ir.model.access.csv4
-rw-r--r--indoteknik_custom/views/website_content.xml65
-rw-r--r--indoteknik_custom/views/website_content_channel.xml58
6 files changed, 163 insertions, 1 deletions
diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py
index cf034f91..137cfb1f 100755
--- a/indoteknik_custom/__manifest__.py
+++ b/indoteknik_custom/__manifest__.py
@@ -52,6 +52,8 @@
'views/purchase_outstanding.xml',
'views/sales_outstanding.xml',
'views/customer_review.xml',
+ 'views/website_content_channel.xml',
+ 'views/website_content.xml',
'report/report.xml',
'report/report_banner_banner.xml',
'report/report_banner_banner2.xml',
diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py
index 1190e7d0..d7d3e03c 100755
--- a/indoteknik_custom/models/__init__.py
+++ b/indoteknik_custom/models/__init__.py
@@ -40,3 +40,4 @@ from . import product_spec
from . import purchase_outstanding
from . import sales_outstanding
from . import customer_review
+from . import website_content
diff --git a/indoteknik_custom/models/website_content.py b/indoteknik_custom/models/website_content.py
new file mode 100644
index 00000000..e94076f8
--- /dev/null
+++ b/indoteknik_custom/models/website_content.py
@@ -0,0 +1,34 @@
+from odoo import fields, models, api
+import logging
+
+_logger = logging.getLogger(__name__)
+
+
+class WebsiteContent(models.Model):
+ _name = 'website.content'
+
+ sequence = fields.Integer(string='Sequence')
+ slide_type = fields.Selection([
+ ('document', 'Document'),
+ ('infographic', 'Infographic'),
+ ('presentation', 'Presentation'),
+ ('video', 'Video')
+ ])
+ name = fields.Char(string='Name')
+ url = fields.Char(string='URL')
+ channel_id = fields.Many2one('website.content.channel', string='Channel')
+ status = fields.Selection([
+ ('tayang', 'Tayang'),
+ ('tidak_tayang', 'Tidak Tayang')
+ ], string='Status')
+
+
+class WebsiteContentChannel(models.Model):
+ _name = 'website.content.channel'
+
+ name = fields.Char(string='Name')
+ description_html = fields.Html('Description', sanitize_attributes=False, sanitize_form=False)
+ visibility = fields.Selection([
+ ('public', 'Public'),
+ ('internal', 'Internal')
+ ])
diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv
index c6d6cb4e..2f70d737 100755
--- a/indoteknik_custom/security/ir.model.access.csv
+++ b/indoteknik_custom/security/ir.model.access.csv
@@ -21,4 +21,6 @@ access_website_categories_homepage,access.website.categories.homepage,model_webs
access_sales_target,access.sales.target,model_sales_target,,1,1,1,1
access_purchase_outstanding,access.purchase.outstanding,model_purchase_outstanding,,1,1,1,1
access_sales_outstanding,access.sales.outstanding,model_sales_outstanding,,1,1,1,1
-access_customer_review,access.customer.review,model_customer_review,,1,1,1,1 \ No newline at end of file
+access_customer_review,access.customer.review,model_customer_review,,1,1,1,1
+access_website_content_channel,access.website.content.channel,model_website_content_channel,,1,1,1,1
+access_website_content,access.website.content,model_website_content,,1,1,1,1 \ No newline at end of file
diff --git a/indoteknik_custom/views/website_content.xml b/indoteknik_custom/views/website_content.xml
new file mode 100644
index 00000000..e071134d
--- /dev/null
+++ b/indoteknik_custom/views/website_content.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+ <record id="website_content_tree" model="ir.ui.view">
+ <field name="name">website.content.tree</field>
+ <field name="model">website.content</field>
+ <field name="arch" type="xml">
+ <tree>
+ <field name="channel_id"/>
+ <field name="sequence"/>
+ <field name="slide_type"/>
+ <field name="name"/>
+ <field name="url"/>
+ <field name="status"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="website_content_form" model="ir.ui.view">
+ <field name="name">website.content.form</field>
+ <field name="model">website.content</field>
+ <field name="arch" type="xml">
+ <form>
+ <sheet>
+ <group>
+ <group>
+ <field name="channel_id"/>
+ <field name="sequence"/>
+ <field name="slide_type"/>
+ <field name="name"/>
+ <field name="url"/>
+ <field name="status"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="view_website_content_filter" model="ir.ui.view">
+ <field name="name">website.content.list.select</field>
+ <field name="model">website.content</field>
+ <field name="priority" eval="15"/>
+ <field name="arch" type="xml">
+ <search string="Search Content">
+ <field name="name"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="website_content_action" model="ir.actions.act_window">
+ <field name="name">Website Content</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">website.content</field>
+ <field name="search_view_id" ref="view_website_content_filter"/>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem
+ id="menu_website_content"
+ name="Website Content"
+ parent="website_sale.menu_orders"
+ sequence="3"
+ action="website_content_action"
+ />
+</odoo> \ No newline at end of file
diff --git a/indoteknik_custom/views/website_content_channel.xml b/indoteknik_custom/views/website_content_channel.xml
new file mode 100644
index 00000000..d1bc23fc
--- /dev/null
+++ b/indoteknik_custom/views/website_content_channel.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+ <record id="website_content_channel_tree" model="ir.ui.view">
+ <field name="name">website.content.channel.tree</field>
+ <field name="model">website.content.channel</field>
+ <field name="arch" type="xml">
+ <tree>
+ <field name="name"/>
+ <field name="visibility"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="website_content_channel_form" model="ir.ui.view">
+ <field name="name">website.content.channel.form</field>
+ <field name="model">website.content.channel</field>
+ <field name="arch" type="xml">
+ <form>
+ <sheet>
+ <group>
+ <group>
+ <field name="name"/>
+ <field name="description_html"/>
+ <field name="visibility"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="view_website_content_channel_filter" model="ir.ui.view">
+ <field name="name">website.content.channel.list.select</field>
+ <field name="model">website.content.channel</field>
+ <field name="priority" eval="15"/>
+ <field name="arch" type="xml">
+ <search string="Search Channel">
+ <field name="name"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="website_content_channel_action" model="ir.actions.act_window">
+ <field name="name">Website Content Channel</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">website.content.channel</field>
+ <field name="search_view_id" ref="view_website_content_channel_filter"/>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem
+ id="menu_website_content_channel"
+ name="Website Content Channel"
+ parent="website_sale.menu_orders"
+ sequence="2"
+ action="website_content_channel_action"
+ />
+</odoo> \ No newline at end of file