[ADD] added new Moderator group, it will be applied to all users whave 1000 karma...
authorTurkesh Patel (Open ERP) <tpa@tinyerp.com>
Fri, 18 Apr 2014 06:39:37 +0000 (12:09 +0530)
committerTurkesh Patel (Open ERP) <tpa@tinyerp.com>
Fri, 18 Apr 2014 06:39:37 +0000 (12:09 +0530)
bzr revid: tpa@tinyerp.com-20140418063937-h5r81v2zyei2p8cs

addons/website_doc/__openerp__.py
addons/website_doc/data/cron.xml [new file with mode: 0644]
addons/website_doc/models/__init__.py
addons/website_doc/models/res_users.py [new file with mode: 0644]
addons/website_doc/security/doc_security.xml [new file with mode: 0644]
addons/website_doc/views/doc.xml
addons/website_doc/views/website_doc.xml

index 8bf980b..ce4168e 100644 (file)
@@ -33,9 +33,11 @@ Documentation based on question and pertinent answers of Forum
     ],
     'data': [
         'data/doc_data.xml',
+        'data/cron.xml',
         'views/doc.xml',
         'views/website_doc.xml',
         'security/ir.model.access.csv',
+        'security/doc_security.xml',
     ],
     'qweb': [
         'static/src/xml/*.xml'
diff --git a/addons/website_doc/data/cron.xml b/addons/website_doc/data/cron.xml
new file mode 100644 (file)
index 0000000..13afba8
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+    <data>
+        <record forcecreate="True" id="ir_cron_check_challenge" model="ir.cron">
+            <field name="name">Run Moderator Checker</field>
+            <field name="interval_number">1</field>
+            <field name="interval_type">days</field>
+            <field name="numbercall">-1</field>
+            <field name="doall" eval="False" />
+            <field name="model">res.users</field>
+            <field name="function">_cron_moderator_access_update</field>
+            <field name="args">()</field>
+        </record>
+    </data>
+</openerp>
\ No newline at end of file
index 30f5c61..9abb82c 100644 (file)
@@ -1,3 +1,4 @@
 # -*- coding: utf-8 -*-
 
 import doc
+import res_users
diff --git a/addons/website_doc/models/res_users.py b/addons/website_doc/models/res_users.py
new file mode 100644 (file)
index 0000000..aefc3fb
--- /dev/null
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+
+from openerp.osv import osv, fields
+
+
+class Users(osv.Model):
+    _inherit = 'res.users'
+
+    def _cron_moderator_access_update(self, cr, uid, context=None, ids=False):
+        """Daily cron check.
+
+        - apply Moderation group for users who have more than 1000 karma.
+        """
+        modrator_group = self.pool['ir.model.data'].get_object(cr, uid, "website_doc", "group_documentaion_moderator", context=context)
+        applicable_user_ids = self.search(cr, uid, [ ('karma', '>=', 1000), ('groups_id', '!=', modrator_group.id)], context=context)
+        users = [(4, user) for user in applicable_user_ids]
+        self.pool['res.groups'].write(cr, uid, [modrator_group.id], {'users': users}, context=context)
+        return True
diff --git a/addons/website_doc/security/doc_security.xml b/addons/website_doc/security/doc_security.xml
new file mode 100644 (file)
index 0000000..7dde0d9
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data noupdate="1">
+
+    <record id="group_documentaion_moderator" model="res.groups">
+        <field name="name">Documentaion Moderator</field>
+        <field name="category_id" ref="base.module_category_website"/>
+        <field name="comment">the user will have access to add Table of content on questions to manage documentation.</field>
+        <field name="users" eval="[(4, ref('base.user_root'))]"/>
+    </record>
+
+    <record id="base.group_website_publisher" model="res.groups">
+        <field name="implied_ids" eval="[(4, ref('group_documentaion_moderator'))]"/>
+    </record>
+
+</data>
+</openerp>
index 0eb6e18..f544e55 100644 (file)
@@ -47,7 +47,7 @@
             <field name="view_mode">tree,form</field>
         </record>
 
-        <menuitem id="menu_documentation" parent="website_forum.menu_website_forum" name="Documentation" action="action_documentation_toc" sequence="20"/>
+        <menuitem id="menu_documentation" parent="website_forum.menu_website_forum" groups="website_doc.group_documentaion_moderator" name="Documentation" action="action_documentation_toc" sequence="20"/>
 
         <record id="action_documentation_toc_hierarchy" model="ir.actions.act_window">
             <field name="name">Documentation Hierarchy</field>
@@ -58,7 +58,7 @@
             <field name="view_id" ref="view_documentation_toc_hierarchy"/>
         </record>
 
-        <menuitem id="menu_documentation_hierarchy" parent="website_forum.menu_website_forum" name="Documentation Hierarchy" action="action_documentation_toc_hierarchy" sequence="25"/>
+        <menuitem id="menu_documentation_hierarchy" parent="website_forum.menu_website_forum" groups="website_doc.group_documentaion_moderator" name="Documentation Hierarchy" action="action_documentation_toc_hierarchy" sequence="25"/>
 
     </data>
 </openerp>
index 6d5d6d2..1e6fe9f 100644 (file)
@@ -71,7 +71,7 @@
         <script type="text/javascript" src="/website_doc/static/src/js/website_doc.js"/>
     </xpath>
     <xpath expr="//div[@id='about_forum']" position="before">
-        <div t-if="header.get('question_data')">
+        <div t-if="header.get('question_data')" groups="website_doc.group_documentaion_moderator">
             <div class="panel panel-default">
                 <div class="panel-heading" id="about_forum">
                     <h3 class="panel-title">Documentation</h3>