Openerp 7拒绝访问文档类型:消息,操作:创建

时间:2015-09-16 15:01:42

标签: openerp

使用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

我收到了这个错误:

  

{&#39; body&#39;:你&#39;

你好,

\ n \ n \ n&#39;,&#39;附件&#39;: [],&#39; attachment_ids&#39;:[],&#39; auto_delete&#39;:是的,&#39; email_recipients&#39;:False,&#39; body_html&#39;:u&#39; Bonjour,Convocation \ xe0 la revue:Revue:dfR \ xe9f \ xe9rence / 001 / 2015Date de la Revue2015-09-16 14:57:32Lieu de la RevueFalseType de la RevueNoneParticipantsAdministratorObject:False&#39;,&#39; mail_server_id&#39 ;:错误,&#39; email_to&#39;:你&#39; admin@example.com',&#39; reply_to&#39;:False,&#39; email_cc&#39;:False,&# 39;模特&#39;:你&#39; document.page.history&#39;,&#39; res_id&#39;:False,&#39; email_from&#39;:u&#39; echange.nad@gmail。 com&#39;,&#39; subject&#39;:你&#39; df&#39;}   2015-09-16 14:59:57,552 5688警告tist openerp.osv.orm:型号mail.mail:attachments,email_recipients中没有此类字段。   2015-09-16 14:59:57,564 5688 ERROR tist openerp.netsvc:访问被拒绝   由于安全限制,无法完成请求的操作。请与您的系统管理员联系。

(文档类型:消息,操作:创建) Traceback(最近一次调用最后一次):   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/netsvc.py",第306行,在dispatch_rpc中     result = ExportService.getService(service_name).dispatch(method,params)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/service/web_services.py" ;,第632行,发送     res = fn(db,uid,* params)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py" ;,第190行,在execute_kw中     return self.execute(db,uid,obj,method,* args,** kw或{})   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py" ;,第132行,在包装器中     return f(self,dbname,* args,** kwargs)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py" ;,第199行,执行     res = self.execute_cr(cr,uid,obj,method,* args,** kw)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/audittrail/audittrail.py" ;,第532行,在execute_cr中     return fct_src(cr,uid,model,method,* args,** kw)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/osv.py" ;,第187行,在execute_cr中     return getattr(object,method)(cr,uid,* args,** kw)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/mgmtsystem_review/mgmtsystem_review.py",第129行,在send_email中     msg_id = mail_mail_obj.create(cr,uid,values,context = context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/fetchmail/fetchmail.py" ;,第305行,在创建中     res = super(mail_mail,self).create(cr,uid,values,context = context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_mail.py",第93行,在创建中     return super(mail_mail,self).create(cr,uid,values,context = context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/orm.py" ;,第4489行,在创建     record_id = self.pool.get(table).create(cr,user,tocreate [table],context = parent_context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_message.py" ;,第754行,在创建中     newid = super(mail_message,self).create(cr,uid,values,context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/osv/orm.py" ;,第4615行,在创建中     self.check_access_rule(cr,user,[id_new],&#39; create&#39;,context = context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/portal/mail_message.py" ;,第63行,在check_access_rule中     return super(mail_message,self).check_access_rule(cr,uid,ids = ids,operation = operation,context = context)   文件&#34; /home/nadia/barid/server2/openerp15-9-15/openerp/addons/mail/mail_message.py" ;,第744行,在check_access_rule中     (self._description,operation)) except_osv :(由于安全限制,访问被拒绝&#39;,u&#39;请求的操作无法完成。请与您的系统管理员联系。\ n \ n(文档类型:消息,操作:创建)&# 39)

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

所以我在模型mail.message上创建了一条规则:

<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"/>

但仍有同样的问题。

1 个答案:

答案 0 :(得分:0)

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