create document_page_approval module

(../7.0pageapproval/ rev 1)
This commit is contained in:
Jonatan Cloutier 2013-04-16 18:18:39 -04:00
commit deb40c7b37
5 changed files with 160 additions and 0 deletions

View File

@ -0,0 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
import document_page_approval
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,38 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Document Page Approval',
'version': '1.0',
"author" : "Savoir-faire Linux",
"website" : "http://www.savoirfairelinux.com",
"license" : "AGPL-3",
'category': 'Knowledge Management',
'description': """
Add a workflow to approve page modification and show the approved version by default
""",
'depends': ['document_page'],
'update_xml': ['document_page_wkfl.xml','document_page_view.xml'],
'installable': True,
'auto_install': False,
'images': [],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,39 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, orm
class document_page_wkfl(orm.Model):
_inherit = 'document.page'
_columns = {
'state': fields.selection([
('draft','Draft'),
('approved','Approved')], 'State', readonly=True),
}
def page_approval_draft(self, cr, uid, ids):
self.write(cr, uid, ids, { 'state' : 'draft' })
return True
def page_approval_approved(self, cr, uid, ids):
self.write(cr, uid, ids, { 'state' : 'approved' })
return True
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- wiki Form view -->
<record id="view_wiki_form_inherit" model="ir.ui.view">
<field name="name">document.page.form</field>
<field name="model">document.page</field>
<field name="inherit_id" ref="document_page.view_wiki_form"/>
<field name="arch" type="xml">
<field name="type" position="before" >
<header>
<button name="page_approval_approve" string="Approve" states="draft" />
<field name="state" widget="statusbar" statusbar_visible="draft,approved"/>
</header>
</field>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,39 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="workflow" id="wkf_document_page_aproval">
<field name="name">document.page.aproval.wkf</field>
<field name="osv">document.page</field>
<field name="on_create">True</field>
</record>
<record model="workflow.activity" id="act_draft">
<field name="wkf_id" ref="wkf_document_page_aproval" />
<field name="flow_start">True</field>
<field name="name">draft</field>
<field name="kind">function</field>
<field name="action">page_approval_draft()</field>
</record>
<record model="workflow.activity" id="act_approved">
<field name="wkf_id" ref="wkf_document_page_aproval" />
<field name="name">approved</field>
<field name="kind">function</field>
<field name="action">page_approval_approved()</field>
<field name="flow_stop">True</field>
</record>
<record model="workflow.transition" id="tda">
<field name="act_from" ref="act_draft" />
<field name="act_to" ref="act_approved" />
<field name="signal">page_approval_approve</field>
</record>
<record model="workflow.transition" id="tad">
<field name="act_from" ref="act_approved" />
<field name="act_to" ref="act_draft" />
<field name="signal">edit</field>
</record>
</data>
</openerp>