Hello everyone. I'm writing an OpenErp feedback module and i would like to add some functionality to it, but I don't know how to do it.
This is the main source code:
from osv import fields, osv
from openerp.addons.crm import crm
from openerp.addons import project
def _contract_get(self, cr, uid, context=None):
cr.execute("select code,name from account_analytic_account where code is not null")
return cr.fetchall()
class support_form(osv.osv):
_name = "cf.support"
_description = 'Formview Module'
_columns = {
'created_by' : fields.many2one('res.users', 'Author', readonly=True),
'name': fields.char('Name', required=True),
'status': fields.selection(crm.AVAILABLE_STATES, 'Status', select=True),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'description': fields.text('Description'),
'private': fields.boolean('Private'),
'contract': fields.selection(_contract_get, 'Contract'),
'user_id': fields.many2many('res.users'),
'comments' : fields.many2many('cf.comments'),
}
_defaults = {
'status': crm.AVAILABLE_STATES[0][0],
'priority': crm.AVAILABLE_PRIORITIES[2][0],
'created_by': lambda obj, cr, uid, context: uid,
}
class cf_comments(osv.osv):
_name = "cf.comments"
_description = "Comments for cf_support module"
_columns = {
'comments' : fields.text('comments')
}
and this is the xml view:
<openerp> <data>
<record model="ir.ui.view" id="cf_support">
<field name="name">cf.support</field>
<field name="model">cf.support</field>
<field name="arch" type="xml">
<form string="Form" version="7.0">
<tree string='cf_admin'>
<group>
<field name="created_by" />
<field name="name" string='Title'/>
<field name="status" />
<field name="private" string="Private (Visible only for author and admins)"/>
<field name="priority" />
<field name="contract" />
<field name="user_id" string='Assigned Users' widget="many2many_tags" />
<field name="comments" string='comments' />
</group>
</tree>
<field name="description" widget="html" />
</form>
</field>
</record>
<record model="ir.ui.view" id="from_view_tree">
<field name="name">cf.support</field>
<field name="model">cf.support</field>
<field name="arch" type="xml">
<tree string="Form">
<field name="name" />
</tree>
</field>
</record>
<record model='ir.actions.act_window' id='form_view_action'>
<field name="name">Form</field>
<field name="res_model">cf.support</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new record.
</p>
<p>This is a test class</p>
</field>
</record>
<menuitem id="myform_ID" name="cf support" />
<menuitem id="myform_menu_ID" name="cf_support" parent="myform_ID" />
<menuitem id="myform_menu2_ID" name="support" parent="myform_menu_ID" action='form_view_action' />
</data>
</openerp>
what I would like to add here:
1) If private button is presed, then to make this message visible only for admins and casted users ( throw user_id field )
2) To add a notification if a user is casted and receives a message throw this module
3) to make comments more beatifull. It will be excelent if they would be in the tree graph or something like that.
I don't expect that someone will do it for me. I'm asking for an advice. Thanks.