project_service_task.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <openerp>
  3. <data>
  4. <!-- actions -->
  5. <act_window
  6. id="action_open_account_invoice"
  7. name="Tareas"
  8. res_model="account.invoice"
  9. view_type="form"
  10. view_mode="tree,form"
  11. domain="[('task_invoice_id', '=', active_id)]"/>
  12. <act_window
  13. id="action_open_single_account_invoice"
  14. name="Tareas"
  15. res_model="account.invoice"
  16. view_type="form"
  17. view_mode="tree,form"
  18. target="current"
  19. domain="[('invoice_ids', 'in', active_id)]"/>
  20. <!-- Form View -->
  21. <record model="ir.ui.view" id="project_service_task_form">
  22. <field name="name">project.service.task.form</field>
  23. <field name="model">project.service.task</field>
  24. <field name="arch" type="xml">
  25. <form string="Worksheet">
  26. <header>
  27. <button name="Facturado" string="Crear Factura" type="object" class="btn-primary" states="Preparado"/>
  28. <button class="btn-primary" name="cancel" string="Cancelar" type="object" states="Preparado"/>
  29. <button name="button_draft"
  30. states="Cancelado,Facturado"
  31. string="Cambiar Estado"
  32. type="object"/>
  33. <field name="stage_id" widget="statusbar" clickable="True"/>
  34. <field name="state" widget="statusbar" invisible="1"/>
  35. </header>
  36. <sheet string="Hoja de Tarea">
  37. <div class="oe_title">
  38. <h1 class="o_row">
  39. <field name="name" placeholder="Titulo de la tarea" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
  40. </h1>
  41. </div>
  42. <div class="oe_right oe_button_box">
  43. <button
  44. class="oe_inline oe_stat_button"
  45. type="action"
  46. name="%(action_open_account_invoice)d"
  47. icon="fa-money">
  48. <field name="invoice_count" string="Facturas" widget="statinfo" />
  49. </button>
  50. </div>
  51. <group>
  52. <group>
  53. <field name="project_id" string="Proyecto" attrs="{'readonly': [('state','!=', 'Preparado')]}" domain="[('state','=','open')]"/>
  54. <field name="user_id" string="Responsable" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
  55. </group>
  56. <group>
  57. <field name="date_deadline" string="Fecha limite entrega" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
  58. </group>
  59. </group>
  60. <notebook>
  61. <page name="timesheet_page" string="Hoja de trabajo">
  62. <group string ="Trabajo Planeado">
  63. <field name="activity_ids" nolabel="1" attrs="{'readonly': [('state','!=', 'Preparado')]}">
  64. <tree string="Planned Work" editable="bottom">
  65. <field name="product_id" string="Trabajo"/>
  66. <field name="time_spent" sum= "Estimated Time" widget="float_time" string="Tiempo Estimado"/>
  67. <field name="work_date" string="Fecha de trabajo"/>
  68. <field name="user_id" string="Responsable"/>
  69. <field name="work_cost" string="Precio" sum="total"/>
  70. <field name="completed" string="¿El trabajo esta terminado?"/>
  71. </tree>
  72. </field>
  73. </group>
  74. <group string = "Materiales Utilizados">
  75. <field name="materials_used" nolabel="1" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
  76. </group>
  77. <group>
  78. <field name="include_materials" class="oe_inline" string="¿Incluir materiales en la factura?" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
  79. </group>
  80. <group>
  81. <label for="amount_total" string="Monto Total"/>
  82. <h1>
  83. <field name="amount_total"/>
  84. </h1>
  85. </group>
  86. <group class="oe_subtotal_footer oe_right" name="project_hours">
  87. <field name="effective_hour" widget="float_time" string="Horas Gastadas"/>
  88. </group>
  89. </page>
  90. <page string="Informacion Extra">
  91. <group col="4">
  92. <group col="2">
  93. <field name="partner_id" string="Cliente" required="1" readonly="1"/>
  94. </group>
  95. <group col="2">
  96. <field name="date_assign" string="Fecha de creación"/>
  97. </group>
  98. </group>
  99. </page>
  100. </notebook>
  101. </sheet>
  102. </form>
  103. </field>
  104. </record>
  105. <!-- Tree view -->
  106. <record model="ir.ui.view" id="project_service_task_tree">
  107. <field name="name">project.service.task.tree</field>
  108. <field name="model">project.service.task</field>
  109. <field name="arch" type="xml">
  110. <tree string="Tareas">
  111. <field name="name" string="Titulo"/>
  112. <field name="project_id" string="Proyecto"/>
  113. <field name="user_id" string="Asignado a"/>
  114. <field name="date_deadline" string="Fecha limite"/>
  115. <field name="stage_id" string="Etapa"/>
  116. </tree>
  117. </field>
  118. </record>
  119. <!-- Kanban view -->
  120. <record model="ir.ui.view" id="project_service_task_kanban">
  121. <field name="name">project.service.task.kanban</field>
  122. <field name="model">project.service.task</field>
  123. <field name="arch" type="xml">
  124. <kanban default_group_by="stage_id">
  125. <field name="color"/>
  126. <field name="priority"/>
  127. <field name="user_id"/>
  128. <field name="description"/>
  129. <field name="date_deadline"/>
  130. <templates>
  131. <t t-name="kanban-box">
  132. <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
  133. <div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
  134. <span class="oe_e">í</span>
  135. <ul class="oe_dropdown_menu">
  136. <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit...</a></li></t>
  137. <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
  138. <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
  139. </ul>
  140. </div>
  141. <div class="oe_kanban_content">
  142. <div><b><field name="name"/></b></div>
  143. <div>
  144. <field name="project_id"/><br/>
  145. <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
  146. <span t-attf-class="#{red || ''}"><i><field name="date_deadline"/></i></span>
  147. </div>
  148. <div class="oe_kanban_bottom_right">
  149. <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
  150. </div>
  151. </div>
  152. <div class="oe_clear"></div>
  153. </div>
  154. </t>
  155. </templates>
  156. </kanban>
  157. </field>
  158. </record>
  159. <!-- calendar view -->
  160. <record model="ir.ui.view" id="project_service_task_calendar">
  161. <field name="name">project.service.task.calendar</field>
  162. <field name="model">project.service.task</field>
  163. <field eval="2" name="priority"/>
  164. <field name="arch" type="xml">
  165. <calendar color="user_id" date_start="date_deadline" string="Tasks">
  166. <field name="name"/>
  167. <field name="project_id"/>
  168. </calendar>
  169. </field>
  170. </record>
  171. <!-- search view -->
  172. <record model="ir.ui.view" id="project_service_task_search">
  173. <field name="name">project.service.task.search</field>
  174. <field name="model">project.service.task</field>
  175. <field name="arch" type="xml">
  176. <search string="Tareas">
  177. <field name="name" string="Tarea"/>
  178. <field name="partner_id" string="Cliente"/>
  179. <field name="project_id" string="Proyecto"/>
  180. <field name="user_id" string="Responsable"/>
  181. <field name="stage_id" string="Etapa"/>
  182. <filter string="Mis tareas" domain="[('user_id','=',uid)]"/>
  183. <separator/>
  184. <filter string="Nuevo" name="draft" domain="[('stage_id.sequence', '&lt;=', 1)]"/>
  185. <separator/>
  186. <group expand="0" string="Agrupar por ">
  187. <filter string="Proyecto" name="project" context="{'group_by':'project_id'}"/>
  188. <filter string="Asignado a" name="User" context="{'group_by':'user_id'}"/>
  189. <filter string="Etapa" name="Stage" context="{'group_by':'stage_id'}"/>
  190. <filter string="Estado" name="State" context="{'group_by':'state'}"/>
  191. <separator/>
  192. </group>
  193. </search>
  194. </field>
  195. </record>
  196. <!-- action -->
  197. <record model="ir.actions.act_window" id="project_service_task_action">
  198. <field name="name">Tareas</field>
  199. <field name="res_model">project.service.task</field>
  200. <field name="view_type">form</field>
  201. <field name="view_mode">kanban,tree,form,calendar</field>
  202. </record>
  203. <!-- menus -->
  204. <menuitem name="Control de tareas" id="project_service_task_parent_menu" parent="project_main_menu" sequence="2"/>
  205. <menuitem name="Todas las Tareas" id="project_service_task_all_menu" parent="project_service_task_parent_menu" action="project_service_task_action"/>
  206. </data>
  207. </openerp>