diff --git a/document_page_approval/__init__.py b/document_page_approval/__init__.py
deleted file mode 100644
index d0594caf..00000000
--- a/document_page_approval/__init__.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2013 Savoir-faire Linux ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# 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 for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import document_page_approval
diff --git a/document_page_approval/__openerp__.py b/document_page_approval/__openerp__.py
deleted file mode 100644
index 75bbc31d..00000000
--- a/document_page_approval/__openerp__.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2013 Savoir-faire Linux ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# 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 for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-{
- 'name': 'Document Page Approval',
- 'version': '1.0',
- "author": "Savoir-faire Linux",
- "website": "http://www.savoirfairelinux.com",
- "license": "AGPL-3",
- 'category': 'Knowledge Management',
- 'description': """
-This module adds a workflow to approve page modification and show the approved version by default.
-
-Scenario
-========
-
-* Set a valid email address on the company settings.
-* Create a new page category and set an approver group. Make sure users belonging to that group
- have valid email addresses.
-* Create a new page and choose the previously created category.
-* A notification is sent to the group with a link to the page history to review.
-* Depending on the review, the page history is approved or not.
-* Users reading the page see the last approved version.
- """,
- 'depends': [
- 'document_page',
- 'email_template',
- ],
- 'data': [
- 'document_page_wkfl.xml',
- 'document_page_view.xml',
- 'security/document_page_security.xml',
- 'security/ir.model.access.csv',
- ],
- 'installable': True,
- 'auto_install': False,
- 'images': ['images/category.png', 'images/page_history_list.png', 'images/page_history.png'],
-}
diff --git a/document_page_approval/document_page_approval.py b/document_page_approval/document_page_approval.py
deleted file mode 100644
index 8feeabd9..00000000
--- a/document_page_approval/document_page_approval.py
+++ /dev/null
@@ -1,223 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2013 Savoir-faire Linux ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# 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 for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from datetime import datetime
-from openerp.osv import fields, orm
-from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
-
-
-class document_page_history_wkfl(orm.Model):
- _inherit = 'document.page.history'
-
- def page_approval_draft(self, cr, uid, ids, context=None):
- self.write(cr, uid, ids, {'state': 'draft'})
-
- template_id = self.pool.get('ir.model.data').get_object_reference(
- cr, uid,
- 'document_page_approval', 'email_template_new_draft_need_approval')[1]
- for page in self.browse(cr, uid, ids, context=context):
- if page.is_parent_approval_required:
- self.pool.get('email.template').send_mail(
- cr, uid, template_id, page.id, force_send=True
- )
-
- return True
-
- def page_approval_approved(self, cr, uid, ids, context=None):
- self.write(cr, uid, ids, {
- 'state': 'approved',
- 'approved_date': datetime.now().strftime(DEFAULT_SERVER_DATETIME_FORMAT),
- 'approved_uid': uid
- }, context=context)
- return True
-
- def can_user_approve_page(self, cr, uid, ids, name, args, context=None):
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- res[page.id] = self.can_user_approve_this_page(page.page_id, user)
-
- return res
-
- def can_user_approve_this_page(self, page, user):
- if page:
- res = page.approver_gid in user.groups_id
- res = res or self.can_user_approve_this_page(page.parent_id, user)
- else:
- res = False
-
- return res
-
- def get_approvers_guids(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- res[page.id] = self.get_approvers_guids_for_page(page.page_id)
-
- return res
-
- def get_approvers_guids_for_page(self, page):
- if page:
- if page.approver_gid:
- res = [page.approver_gid.id]
- else:
- res = []
- res.extend(self.get_approvers_guids_for_page(page.parent_id))
- else:
- res = []
-
- return res
-
- def get_approvers_email(self, cr, uid, ids, name, args, context):
- res = {}
- for id in ids:
- emails = ''
- guids = self.get_approvers_guids(cr, uid, ids, name, args, context=context)
- uids = self.pool.get('res.users').search(cr, uid, [('groups_id', 'in', guids[id])])
- users = self.pool.get('res.users').browse(cr, uid, uids, context=context)
-
- for user in users:
- if user.email:
- emails += user.email
- emails += ','
- else:
- empl_id = self.pool.get('hr.employee').search(
- cr, uid, [('login', '=', user.login)])[0]
- empl = self.pool.get('hr.employee').browse(cr, uid, empl_id, context=context)
- if empl.work_email:
- emails += empl.work_email
- emails += ','
-
- emails = emails[:-1]
- res[id] = emails
- return res
-
- def get_page_url(self, cr, uid, ids, name, args, context):
- res = {}
- for id in ids:
- base_url = self.pool.get('ir.config_parameter').get_param(
- cr, uid, 'web.base.url', default='http://localhost:8069', context=context)
-
- res[id] = base_url + '/#db=%s&id=%s&view_type=form&model=document.page.history' % (cr.dbname, id)
-
- return res
-
- _columns = {
- 'state': fields.selection([
- ('draft', 'Draft'),
- ('approved', 'Approved')], 'Status', readonly=True),
- 'approved_date': fields.datetime("Approved Date"),
- 'approved_uid': fields.many2one('res.users', "Approved By"),
- 'is_parent_approval_required': fields.related(
- 'page_id', 'is_parent_approval_required',
- string="parent approval", type='boolean', store=False),
- 'can_user_approve_page': fields.function(
- can_user_approve_page, string="can user approve this page", type='boolean', store=False),
- 'get_approvers_email': fields.function(
- get_approvers_email, string="get all approvers email", type='text', store=False),
- 'get_page_url': fields.function(get_page_url, string="URL", type='text', store=False),
- }
-
-
-class document_page_approval(orm.Model):
- _inherit = 'document.page'
-
- def _get_display_content(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- content = ""
- if page.type == "category":
- content = self._get_page_index(cr, uid, page, link=False)
- else:
- history = self.pool.get('document.page.history')
- if self.is_approval_required(page):
- history_ids = history.search(
- cr, uid, [
- ('page_id', '=', page.id),
- ('state', '=', 'approved')
- ], limit=1, order='create_date DESC')
- for h in history.browse(cr, uid, history_ids, context=context):
- content = h.content
- else:
- content = page.content
- res[page.id] = content
- return res
-
- def _get_approved_date(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- if self.is_approval_required(page):
- history = self.pool.get('document.page.history')
- history_ids = history.search(
- cr, uid, [
- ('page_id', '=', page.id),
- ('state', '=', 'approved')
- ], limit=1, order='create_date DESC')
- approved_date = False
- for h in history.browse(cr, uid, history_ids):
- approved_date = h.approved_date
- res[page.id] = approved_date
- else:
- res[page.id] = ""
-
- return res
-
- def _get_approved_uid(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- if self.is_approval_required(page):
- history = self.pool.get('document.page.history')
- history_ids = history.search(cr, uid, [
- ('page_id', '=', page.id),
- ('state', '=', 'approved')], limit=1, order='create_date DESC')
- approved_uid = False
- for h in history.browse(cr, uid, history_ids):
- approved_uid = h.approved_uid.id
- res[page.id] = approved_uid
- else:
- res[page.id] = ""
-
- return res
-
- def _is_parent_approval_required(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- res[page.id] = self.is_approval_required(page)
-
- return res
-
- def is_approval_required(self, page):
- if page:
- res = page.approval_required
- res = res or self.is_approval_required(page.parent_id)
- else:
- res = False
-
- return res
-
- _columns = {
- 'display_content': fields.function(_get_display_content, string='Displayed Content', type='text'),
- 'approved_date': fields.function(_get_approved_date, string="Approved Date", type='datetime'),
- 'approved_uid': fields.function(_get_approved_uid, string="Approved By", type='many2one', obj='res.users'),
- 'approval_required': fields.boolean("Require approval"),
- 'is_parent_approval_required': fields.function(
- _is_parent_approval_required, string="parent approval", type='boolean'),
- 'approver_gid': fields.many2one("res.groups", "Approver group"),
- }
diff --git a/document_page_approval/document_page_view.xml b/document_page_approval/document_page_view.xml
deleted file mode 100644
index 04ef551c..00000000
--- a/document_page_approval/document_page_view.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
- document.page.history.form
- document.page.history
-
-
-
-
-
-
-
-
-
- document.page.form
- document.page
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- document.page.history.tree
- document.page.history
-
-
-
-
-
-
-
-
-
-
diff --git a/document_page_approval/document_page_wkfl.xml b/document_page_approval/document_page_wkfl.xml
deleted file mode 100644
index f92d8463..00000000
--- a/document_page_approval/document_page_wkfl.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
- document.page.history.aproval.wkf
- document.page.history
- True
-
-
-
-
- True
- draft
- function
- page_approval_draft()
-
-
-
-
- approved
- function
- page_approval_approved()
- True
-
-
-
-
-
- page_approval_approve
-
-
-
-
-
- edit
-
-
-
-
-
-
-
-
-
- Automated new draft need approval Notification Mail
- ${object.create_uid.company_id.email or 'noreply@localhost.com'}
- New version of "${object.page_id.name}" to approve
- ${object.get_approvers_email}
-
-
- ${object.create_uid.partner_id.lang}
- Hello,
-
-The page "${object.page_id.name}" has been modified and need your approval.
-
-You can review the new version here : ${object.get_page_url}
-
-Have a great day.
---
-OpenERP
]]>
-
-
-
-
-
-
diff --git a/document_page_approval/i18n/document_page_approval.pot b/document_page_approval/i18n/document_page_approval.pot
deleted file mode 100644
index 4ddc9733..00000000
--- a/document_page_approval/i18n/document_page_approval.pot
+++ /dev/null
@@ -1,110 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * document_page_approval
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 7.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-19 03:58+0000\n"
-"PO-Revision-Date: 2013-07-19 03:58+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: document_page_approval
-#: field:document.page.history,state:0
-msgid "Status"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page,approval_required:0
-msgid "Require approval"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page,is_parent_approval_required:0
-#: field:document.page.history,is_parent_approval_required:0
-msgid "parent approval"
-msgstr ""
-
-#. module: document_page_approval
-#: model:email.template,body_html:document_page_approval.email_template_new_draft_need_approval
-msgid "\n"
-"Hello,
\n"
-"\n"
-"The page \"${object.page_id.name}\" has been modified and need your approval.
\n"
-"\n"
-"You can review the new version here : ${object.get_page_url}
\n"
-" \n"
-"Have a great day.
\n"
-"--
\n"
-"OpenERP
\n"
-" "
-msgstr ""
-
-#. module: document_page_approval
-#: model:ir.model,name:document_page_approval.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page,approved_uid:0
-#: field:document.page.history,approved_uid:0
-msgid "Approved By"
-msgstr ""
-
-#. module: document_page_approval
-#: model:email.template,subject:document_page_approval.email_template_new_draft_need_approval
-msgid "New version of \"${object.page_id.name}\" to approve"
-msgstr ""
-
-#. module: document_page_approval
-#: selection:document.page.history,state:0
-msgid "Draft"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page.history,get_page_url:0
-msgid "URL"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page,approved_date:0
-#: field:document.page.history,approved_date:0
-msgid "Approved Date"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page.history,can_user_approve_page:0
-msgid "can user approve this page"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page,approver_gid:0
-msgid "Approver group"
-msgstr ""
-
-#. module: document_page_approval
-#: model:ir.model,name:document_page_approval.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page_approval
-#: view:document.page.history:0
-msgid "Approve"
-msgstr ""
-
-#. module: document_page_approval
-#: selection:document.page.history,state:0
-msgid "Approved"
-msgstr ""
-
-#. module: document_page_approval
-#: field:document.page.history,get_approvers_email:0
-msgid "get all approvers email"
-msgstr ""
-
diff --git a/document_page_approval/i18n/fr.po b/document_page_approval/i18n/fr.po
deleted file mode 100644
index 26573fa4..00000000
--- a/document_page_approval/i18n/fr.po
+++ /dev/null
@@ -1,119 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * document_page_approval
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 7.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-19 03:58+0000\n"
-"PO-Revision-Date: 2013-07-19 03:58+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: document_page_approval
-#: field:document.page.history,state:0
-msgid "Status"
-msgstr "Statut"
-
-#. module: document_page_approval
-#: field:document.page,approval_required:0
-msgid "Require approval"
-msgstr "Nécessite une approbation"
-
-#. module: document_page_approval
-#: field:document.page,is_parent_approval_required:0
-#: field:document.page.history,is_parent_approval_required:0
-msgid "parent approval"
-msgstr "Approbation parente"
-
-#. module: document_page_approval
-#: model:email.template,body_html:document_page_approval.email_template_new_draft_need_approval
-msgid "\n"
-"Hello,
\n"
-"\n"
-"The page \"${object.page_id.name}\" has been modified and need your approval.
\n"
-"\n"
-"You can review the new version here : ${object.get_page_url}
\n"
-" \n"
-"Have a great day.
\n"
-"--
\n"
-"OpenERP
\n"
-" "
-msgstr "\n"
-"Bonjour,
\n"
-"\n"
-"La page \"${object.page_id.name}\" a été modifié et demande votre approbation.
\n"
-"\n"
-"Vous pouvez réviser la nouvelle version ici : ${object.get_page_url}
\n"
-" \n"
-"Bonne journée.
\n"
-"--
\n"
-"OpenERP
\n"
-" "
-
-#. module: document_page_approval
-#: model:ir.model,name:document_page_approval.model_document_page
-msgid "Document Page"
-msgstr "Page"
-
-#. module: document_page_approval
-#: field:document.page,approved_uid:0
-#: field:document.page.history,approved_uid:0
-msgid "Approved By"
-msgstr "Approuvée par"
-
-#. module: document_page_approval
-#: model:email.template,subject:document_page_approval.email_template_new_draft_need_approval
-msgid "New version of \"${object.page_id.name}\" to approve"
-msgstr "Nouvelle version de \"${object.page_id.name}\" à approuver"
-
-#. module: document_page_approval
-#: selection:document.page.history,state:0
-msgid "Draft"
-msgstr "Brouillon"
-
-#. module: document_page_approval
-#: field:document.page.history,get_page_url:0
-msgid "URL"
-msgstr "URL"
-
-#. module: document_page_approval
-#: field:document.page,approved_date:0
-#: field:document.page.history,approved_date:0
-msgid "Approved Date"
-msgstr "Date d'approbation"
-
-#. module: document_page_approval
-#: field:document.page.history,can_user_approve_page:0
-msgid "can user approve this page"
-msgstr "Est-ce que l'usager peut approuver cette page ?"
-
-#. module: document_page_approval
-#: field:document.page,approver_gid:0
-msgid "Approver group"
-msgstr "Groupe approbateur"
-
-#. module: document_page_approval
-#: model:ir.model,name:document_page_approval.model_document_page_history
-msgid "Document Page History"
-msgstr "Historique de la page"
-
-#. module: document_page_approval
-#: view:document.page.history:0
-msgid "Approve"
-msgstr "Approuver"
-
-#. module: document_page_approval
-#: selection:document.page.history,state:0
-msgid "Approved"
-msgstr "Approuvée"
-
-#. module: document_page_approval
-#: field:document.page.history,get_approvers_email:0
-msgid "get all approvers email"
-msgstr "Récupérer toutes les adresses courriels des approbateurs"
diff --git a/document_page_approval/images/category.png b/document_page_approval/images/category.png
deleted file mode 100644
index b88e2091..00000000
Binary files a/document_page_approval/images/category.png and /dev/null differ
diff --git a/document_page_approval/images/page_history.png b/document_page_approval/images/page_history.png
deleted file mode 100644
index 80bee3c3..00000000
Binary files a/document_page_approval/images/page_history.png and /dev/null differ
diff --git a/document_page_approval/images/page_history_list.png b/document_page_approval/images/page_history_list.png
deleted file mode 100644
index a2f52232..00000000
Binary files a/document_page_approval/images/page_history_list.png and /dev/null differ
diff --git a/document_page_approval/security/document_page_security.xml b/document_page_approval/security/document_page_security.xml
deleted file mode 100644
index 7192d3f8..00000000
--- a/document_page_approval/security/document_page_security.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- Document approver
-
-
-
-
diff --git a/document_page_approval/security/ir.model.access.csv b/document_page_approval/security/ir.model.access.csv
deleted file mode 100644
index e4835836..00000000
--- a/document_page_approval/security/ir.model.access.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-document_page_history,document.page.history,model_document_page_history,base.group_document_approver_user,1,1,1,0
\ No newline at end of file