2017-08-31 177 views
2

我想创建一个学生标记片,我需要有关如何odoo Web客户端调用服务器动作,从一个按钮点击

  1. 学生姓名
  2. 课程,其学生属于
  3. 该课程下单元
  4. 各单元下大纲
  5. 大纲具有下他们
01一定的标准

层级说明: - 学生注册一门课程,1门课程有几个单元,1个单元有一定的教学大纲(分为章节),每章都有一个评估标准。 标记表基于课程或单元,并给出每个标准的分数。

因此,为此,我在考虑是否可以通过在服务器操作中执行sql并通过标记表单中的按钮调用该操作来加载此层次结构的单元,教学大纲和条件。

在尝试时,我只是在服务器操作中写了一条日志语句,并尝试使用<button type="action" name="%(action_name)d" string="log"/>来调用它,但它没有做任何事情。

也请建议替代品做到这一点,以防万一这是不是一个好方法或不可能在odoo网络客户端这样做。

在此先感谢您的帮助。

服务器操作This is the server Action

我使用它作为在我看来<button type="action" name="%(getUnitsForCourse)d" string="log"/>,但它既不做任何事,也没有给出任何错误。当我从头文件中的Action按钮调用它时,它正在正确运行并记录结果。

+0

能否请您分享您的服务器动作? –

+1

@VikiChavada先生,我现在编辑了我的问题,你可以检查服务器操作 –

回答

2

您需要在按钮中使用type =“object”而不是type =“action”,而需要使用type =“object”来创建py函数。

例如。

XML

<button type="object" name="test_server_action" string="call Server Action"/> 

PY

@api.multi 
def test_server_action(self): 
    self.env.ref('external_id of server action').run() 
相关问题