Openerp 7拒绝访问文档类型:Message,操作:create



使用admin用户,我可以做任何事情,添加,删除,修改等。应该是这样的。当我用电子邮件配置添加新用户时做得很好(可以在openerp消息传递模块上发送和接收电子邮件),但是当我调用我的函数从我的自定义模块发送电子邮件时:

  <button name="send_email" string="Notifier Participants" states="open" type="object" icon="gtk-jump-to"/>

我的功能:

def send_email(self, cr, uid, ids, context=None):
    res_id=''
    objects_review = self.browse(cr, uid, ids, context=context)
    for object_review in objects_review:
        participant_names=''
        for user_id in object_review.user_ids:
            participant_names += '<tr><td>'+user_id.name+'<td></tr>'
    email_template_obj = self.pool.get('email.template')
    template_ids = email_template_obj.search(cr, uid, [], context=context) 
    if template_ids:
        current_user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
        values = email_template_obj.generate_email(cr, uid, template_ids[0], ids, context=context)
        values['subject'] = object_review.name
        values['email_from'] = current_user.email
        values['email_to'] = object_review.participant_emails
        values['body_html'] = 'Bonjour, </br>  Convocation à la revue
        :</br> <table><tr><td>Revue :
        </td>'+'<td>'+str(object_review.name)+'</td></tr><tr>
        <td>Référence</td><td>'+str(object_review.reference)+'</td>
        </tr><tr><td>Date de la Revue</td>
        <td>'+str(object_review.date)+'</td></tr><tr><td>
        Lieu de la Revue</td><td>'+str(object_review.lieu)+'
        </td></tr><tr><td>Type de la Revue</td>
        <td>'+str(object_review.type.name)+'</td></tr><tr><table>
        <th>Participants</th>'+participant_names+'</table></tr>
        <tr><td>Object :</td><td>'+str(object_review.objet)
        or ''+'</td></tr></table>'
        values['body'] = '<table><tr><td> </td></tr></table>'
        values['res_id'] = False
        mail_mail_obj = self.pool.get('mail.mail')
        msg_id = mail_mail_obj.create(cr, uid, values, context=context)
        mail_mail_obj.send(cr, uid, [msg_id], context=context) 
        #email_template_obj.send_mail(cr, uid, template_ids[0], ids[0], force_send=True, context=context)
        return True

我得到这个错误:

{'body': u'

Hello,

nn n ', 'attachments': [], 'attachment_ids': [], 'auto_delete': True, ' email_收件人':False, 'body_html': u' bonjour, Convocation xe0 la revue: revue:dfRxe9f xe9ence/001/2015Date de la Revue2015-09-16 14:57:32Lieu de la revefalsetype de la RevueNoneParticipantsAdministratorObject:False', 'mail_server_id': False, 'email_to': u'admin@example.com', 'reply_to': False, 'email_cc': False, 'model': u'document.page。history', 'res_id': False, 'email_from': u'echange.nad@gmail.com', 'subject': u'df'}2015-09-16 14:59:57,552 5688警告ist openerp.osv.orm:在模型邮件中没有这样的字段。邮件:附件,email_收件人。2015-09-16 14:59:57,564 5688 ERROR ist openerp.netsvc: Access Denied由于安全限制,请求的操作无法完成。请与您的系统管理员联系。

(文档类型:Message,操作:create)回溯(最近一次调用):文件"/home/nadia/barid/server2/openerp15-9-15/openerp/netsvc.py",第306行,在dispatch_rpc .py中result = ExportService.getService(service_name)。调度(法、参数)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/service/web_services.py",第632行,在调度中Res = fn(db, uid, *params)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py",第190行,在execute_kw回归自我。执行(db, uid, obj, method, *args, **kw或{})文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py",第132行,在包装器返回f(self, dbname, *args, **kwargs)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py",第199行,在执行Res = self。Execute_cr (cr, uid, obj, method, *args, **kw)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/audittrail/audittrail.py",第532行,在execute_cr中返回fct_src(cr, uid, model, method, *args, **kw)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py",第187行,在execute_cr返回getattr(对象,方法)(cr, uid, *args, **kw)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/mgmtsystem_review/mgmtsystem_review.py",第129行,在send_emailMsg_id = mail_mail_obj。创建(cr, uid, values, context=context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/fetchmail/fetchmail.py",第305行,创建Res = super(mail_mail, self)。创建(cr, uid, values, context=context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_mail.py",第93行,创建返回super(mail_mail, self)。创建(cr, uid, values, context=context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/orm.py",第4489行,创建Record_id = self.pool.get(表)。创建(cr, user, tocreate[table], context=parent_context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_message.py",第754行,创建Newid = super(mail_message, self)。创建(cr, uid,值,上下文)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/osv/orm.py",第4615行,创建自我。Check_access_rule (cr, user, [id_new], 'create', context=context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/portal/mail_message.py",第63行,在check_access_rule返回super(mail_message, self)。Check_access_rule (cr, uid, ids=ids, operation=operation, context=context)文件"/home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_message.py",第744行,在check_access_rule(自我。_description、操作)except_osv:(u' access Denied', u'由于安全限制,请求的操作无法完成。请与系统管理员联系。nn(文件类型:消息,操作:创建)')

我使用函数send_mail而不是发送,我有同样的问题

所以我创建了一个关于模型邮件的规则。信息:

<record id="mes_email_rule" model="ir.rule">
        <field name="name">Email send</field>
        <field name="model_id" ref="mail.model_mail_message"/>
        <field name="domain_force">[(1,'=',1)]</field>
        <field name="groups" eval="[(4, ref('base.group_user'))]"/>
        <field eval="True" name="perm_unlink"/>
        <field eval="True" name="perm_write"/>
        <field eval="True" name="perm_read"/>
        <field eval="True" name="perm_create"/>

我通过创建一个操作服务器来解决这个问题,从我的按钮调用发送电子邮件,所以我不再使用send_email函数。

相关内容

最新更新