deisy 5 years ago
parent
commit
993229ebd8

+ 2 - 0
__openerp__.py

@@ -28,10 +28,12 @@
     'complexity': 'normal',
     'summary': 'Create a transfer of products between 2 warehouses',
     'depends': [
+        'base',
         'stock',
     ],
     'data': [
         'views/sis_warehouse_transfer.xml',
+        'views/res_partner.xml',
         'data/ir_sequence.xml',
     ],
 }

+ 1 - 0
models/__init__.py

@@ -3,3 +3,4 @@
 from . import sis_stock_transfer
 from . import sis_stock_transfer_line
 from . import stock_picking
+from . import res_partner

BIN
models/__init__.pyc


+ 14 - 0
models/res_partner.py

@@ -0,0 +1,14 @@
+# -*- encoding: utf-8 -*-
+
+from openerp import models, fields, api, _
+
+class res_partner(models.Model):
+    _inherit = 'res.partner'
+
+    doctor = fields.Boolean(string='Doctor')
+    appointment_count = fields.Integer(compute='_appointment_count', string='Consultas')
+
+    @api.one
+    def _appointment_count(self):
+        appointment = self.env['sis.stock.transfer'].search([('partner_id', '=', self.id),('type','=','appointment')])
+        self.appointment_count = len(appointment)

BIN
models/res_partner.pyc


+ 4 - 6
models/sis_stock_transfer.py

@@ -62,7 +62,7 @@ class SisStockTransfer(models.Model):
             selection=[
                 ('draft', 'Borrador'),
                 ('done', 'Hecho')],
-            string='Status',
+            string='Estado',
             default=_get_default_state,
             store=True,
             compute=_calc_transfer_state)
@@ -73,7 +73,7 @@ class SisStockTransfer(models.Model):
     type = fields.Selection([
                 ('transfer', 'Transferencia'),
                 ('appointment', 'Consulta')],
-            string='Tipo')
+            string='Tipo', store=True)
 
     @api.model
     def create(self, vals):
@@ -127,10 +127,8 @@ class SisStockTransfer(models.Model):
                 move_vals = line.get_move_vals(picking, pc_group)
                 if move_vals:
                     _logger.debug("Move Vals: %s", move_vals)
-                    self.env['stock.move'].create(move_vals)
-
-            picking.action_confirm()
-            picking.action_assign()
+                    move_id = self.env['stock.move'].create(move_vals)
+                    move_id.action_done()
 
     @api.model
     def _prepare_procurement_group(self):

BIN
models/sis_stock_transfer.pyc


+ 42 - 0
views/res_partner.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+
+      <record model="ir.actions.act_window" id="appointment_tree_view">
+         <field name="name">Consultas</field>
+         <field name="res_model">sis.stock.transfer</field>
+         <field name="view_type">form</field>
+         <field name="view_mode">tree,form</field>
+         <field name="context">{'search_default_partner_id': active_id}</field>
+         <field name="arch" type="xml">
+             <tree string="Consultas">
+                 <field name="name"/>
+             </tree>
+         </field>
+     </record>
+
+      <record id="view_sis_partner_form" model="ir.ui.view">
+            <field name="name">view_sis_partner_form</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="base.view_partner_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//div[@name='buttons']" position="inside">
+                  <button name="%(appointment_tree_view)d"
+                          type="action"
+                          class="oe_inline oe_stat_button"
+                          icon="fa-user-md"
+                          context="{'search_default_partner_id': active_id}">
+                    <field string="Consultas" name="appointment_count" widget="statinfo"/>
+                  </button>
+                </xpath>
+                <xpath expr="//field[@name='supplier']" position="after">
+                  <field name="doctor"/>
+                </xpath>
+
+            </field>
+        </record>
+
+
+
+    </data>
+</openerp>

+ 51 - 9
views/sis_warehouse_transfer.xml

@@ -1,12 +1,38 @@
 <?xml version="1.0" encoding="utf-8"?>
 <openerp>
     <data>
+      <record id="sis_stock_transfer_search_view" model="ir.ui.view">
+            <field name="name">sis_stock_transfer_search_view</field>
+            <field name="model">sis.stock.transfer</field>
+            <field name="arch" type="xml">
+                <search>
+                  <field name="name"/>
+                  <field name="partner_id"/>
+                  <field name="doctor_id"/>
+                  <field name="state"/>
+                  <field name="type" invisible="1"/>
+
+                  <separator/>
+                  <filter string="Estado Hecho" name="done" domain="[('state', '=', 'done')]"/>
+                  <filter string="Estado Borrador" name="draft" domain="[('state', '=', 'draft')]"/>
 
-        <record id="sis_stock_transfer_view_tree" model="ir.ui.view">
-            <field name="name">sis_stock_transfer_view_tree</field>
+                    <group expand="0" string="Agrupar por:">
+                        <filter name="group_by_customer" string="Paciente" context="{'group_by':'partner_id'}"/>
+                        <filter name="group_by_doctor" string="Doctor" context="{'group_by':'doctor_id'}"/>
+                        <filter name="group_by_state" string="Estado" context="{'group_by':'state'}"/>
+                      <filter string="Mes Creado" context="{'group_by':'create_date:month'}" help="Mes Creado"/>
+                        <filter string="Dia Creado" context="{'group_by':'create_date:day'}" help="Dia Creado"/>
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <record id="sis_transfer_tree_view" model="ir.ui.view">
+            <field name="name">sis_transfer_tree_view</field>
             <field name="model">sis.stock.transfer</field>
             <field name="arch" type="xml">
-                <tree string="Transfers">
+                <tree string="Transferencia">
+                    <field name="type" invisible="1"/>
                     <field name="name"/>
                     <field name="date"/>
                     <field name="source_warehouse"/>
@@ -16,6 +42,20 @@
                 </tree>
             </field>
         </record>
+        <record id="sis_appointment_tree_view" model="ir.ui.view">
+            <field name="name">sis_appointment_tree_view</field>
+            <field name="model">sis.stock.transfer</field>
+            <field name="arch" type="xml">
+                <tree string="Consultas">
+                    <field name="type" invisible="1"/>
+                    <field name="name"/>
+                    <field name="date"/>
+                    <field name="partner_id"/>
+                    <field name="doctor_id"/>
+                    <field name="state"/>
+                </tree>
+            </field>
+        </record>
 
         <record id="sis_stock_transfer_view_form" model="ir.ui.view">
             <field name="name">sis_stock_transfer_view_form</field>
@@ -24,8 +64,8 @@
                 <form string="Transfer">
                   <field name="type" invisible="1"/>
                     <header>
-                        <button name="action_create_picking" type="object" class="oe_highlight" string="Finalizar Consulta" attrs="{'invisible': [('type', '=', 'transfer')]}"/>
-                        <button name="action_create_picking" type="object" class="oe_highlight" string="Tranferir" attrs="{'invisible': [('type', '=', 'appointment')]}"/>
+                        <button name="action_create_picking" type="object" class="oe_highlight" string="Finalizar Consulta" attrs="{'invisible': ['|',('type', '=', 'transfer'),('state','!=','draft')]}"/>
+                        <button name="action_create_picking" type="object" class="oe_highlight" string="Tranferir" attrs="{'invisible': ['|',('type', '=', 'appointment'),('state','!=','draft')]}"/>
                         <field name="state" widget="statusbar" translate="1"/>
                     </header>
 
@@ -46,8 +86,8 @@
                             <field name="dest_warehouse" required="1" attrs="{'readonly':[('state','!=','draft')]}"/>
                         </group>
 
-                        <separator colspan="4" string="Transferencia" attrs="{'invisible':[('state','in','draft')]}"/>
-                        <field colspan="4" name="pickings" readonly="1" nolabel="1" attrs="{'readonly':[('state','!=','draft')],'invisible':[('state','=','draft')]}"/>
+                        <separator colspan="4" string="Transferencia" attrs="{'invisible':['|',('state','in','draft'),('type', '=', 'appointment')]}"/>
+                        <field colspan="4" name="pickings" readonly="1" nolabel="1" attrs="{'invisible':['|',('state','in','draft'),('type', '=', 'appointment')]}"/>
 
                         <separator colspan="4" string="Productos"/>
                         <field colspan="4" name="lines" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
@@ -76,8 +116,9 @@
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
+            <field name="view_id" ref="sis_transfer_tree_view"/>
             <field name="target">current</field>
-            <field name="context">{'default_type':'transfer'}</field>
+            <field name="context">{'default_type':'transfer','type':'transfer'}</field>
             <field name="domain">[('type', '=', 'transfer')]</field>
         </record>
 
@@ -92,8 +133,9 @@
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
+            <field name="view_id" ref="sis_appointment_tree_view"/>
             <field name="target">current</field>
-            <field name="context">{'default_type':'appointment'}</field>
+            <field name="context">{'default_type':'appointment','type': 'appointment'}</field>
             <field name="domain">[('type', '=', 'appointment')]</field>
         </record>