Канбан вид в OpenERP

Как мне создать представление канбан в OpenERP?

В книге для разработчиков, похоже, нет никакой информации о новом представлении канбана, и я не увидел ничего полезного на форуме OpenERP.

4 ответа

Решение

Вот пример кода, показывающий, как разработать представление канбан в OpenERP.

Для просмотра канбана вы должны подготовить 2 файла: (1) XML-файл и (2) CSS-файл. Файл CSS используется для форматирования представления канбан.

<record model="ir.ui.view" id="resource_kanban_view">
    <field name="name">any name of ur  model</field>
    <field name="model">object.name</field>
    <field name="type">kanban</field>
    <field name="arch" type="xml">
        <kanban>
            <templates>
                <t t-name="kanban-box">
                    <div class="oe_resource_vignette">
                        <div class="oe_resource_image">
                            <a type="edit"><img t-att-src="kanban_image('object.name', 'photo', record.id.value)" class="oe_resource_picture"/></a>
                        </div>
                        <div class="oe_resource_details">
                            <ul>
<!--Here you have to write the object's field name which you want to display in kanban view -->
                               <li><field name="name"/></li>
                               <li><field name="author"/></li>
                               <li><field name="description"/></li>
                               <li><field name="available_copy"/> </li>                                   
                             </ul>
                        </div>
                    </div>                       
                </t>
            </templates>
        </kanban>
    </field>
</record>

Это Doc по этому вопросу, представление KANBAN создано на основе технологии QWEB, разработанной самим OF, вы можете просмотреть всю библиотеку lib QWEB и в разделе Doc вы можете увидеть, как вы можете определить шаблон qWeb QWEB. Теперь, если вы понимаете это тогда все, что вам просто нужно сделать, это выложить свой веб-шаблон под объявлением тега в представлении, где другая система совпадает с объявлением общего представления:

   <record model="ir.ui.view" id="view_external_id">
        <field name="name">View Name</field>
        <field name="model">openerp.modelfield>
        <field name="type">kanban</field>
        <field name="arch" type="xml"> 
             <kanban>
                <field name="color"/>
                <!--list of field to be loaded -->
                <field name="list_price"/>
                <templates>
                     <!--Your Qweb based template goes here, each record will be wrapped in template so you can arrange field veyr easily in box -->
                </templates>
            </kanban>
        </field>
    </record>

Надеюсь, что это поможет вам.

С уважением

Я пока не вижу документации по нему, поэтому лучшее, что вы можете сделать, - это искать примеры в проекте аддонов. Искать все файлы XML для <kanban>, Вот пример из стокового модуля:

    <record model="ir.ui.view" id="product.product_kanban_view">
        <field name="name">Product Kanban</field>
        <field name="model">product.product</field>
        <field name="type">kanban</field>
        <field name="arch" type="xml">
            <kanban>
                <field name="color"/>
                <field name="type"/>
                <field name="product_image"/>
                <field name="list_price"/>
                <templates>
                    <t t-name="kanban-box">
                        <div class="oe_product_vignette">
                            <div class="oe_product_img">
                            <a type="edit"><img t-att-src="kanban_image('product.product', 'product_image', record.id.value)" class="oe_product_photo"/></a>
                            </div>
                            <div class="oe_product_desc">
                                <h4><a type="edit"><field name="name"></field></a></h4>
                                <ul>
                                    <li t-if="record.type.raw_value != 'service'">Stock on hand: <field name="qty_available"/> <field name="uom_id"/></li>
                                    <li t-if="record.type.raw_value != 'service'">Stock available: <field name="virtual_available"/> <field name="uom_id"/></li>
                                    <li>Price: <field name="lst_price"></field></li>
                                    <li>Cost: <field name="standard_price"></field></li>
                                </ul>
                            </div>
                        </div>
                        <script>
                            $('.oe_product_photo').load(function() { if($(this).width() > $(this).height()) { $(this).addClass('oe_product_photo_wide') } });
                        </script>
                        <div></div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

Просто в файле XML обновите эту модель ="ir.actions.act_window" с помощью view_mode, например:

      <record id="action_id" model="ir.actions.act_window">
        <field name="name">Name1</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">model_name</field>
        <field name="view_type">form</field>
        <field name="view_mode">kanban,tree,form,calendar,graph,gantt</field>
.....
</record>

Это способ, как вызвать все представления, и ссылка http://www.slideshare.net/openobject/openerp-61-framework-changes поможет вам, как создать представление kanban. Я надеюсь, что это поможет вам...

Другие вопросы по тегам