public function configure()
 {
     $object = $this->getObject();
     $this->useFields(array('egreso', 'complicaciones', 'riesgoqx_id', 'contaminacionqx_id', 'eventoqx_id', 'clasificacionqx', 'destino_px', 'status', 'ev_adversos_anestesia'));
     //$this->widgetSchema['paciente_id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['egreso'] = new sfWidgetFormInputText();
     $this->widgetSchema['complicaciones'] = new sfWidgetFormTextarea();
     $this->widgetSchema['status'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['status']->setAttribute('value', '100');
     $this->setWidget('destino_px', new sfWidgetFormChoice(array('choices' => array('Recuperación', 'Intensivos', 'Sala', 'Defunción'), 'expanded' => true)));
     $this->setWidget('clasificacionqx', new sfWidgetFormChoice(array('choices' => array(null, 'Mayor', 'Menor'), 'expanded' => false)));
     $this->widgetSchema->setLabels(AgendaPeer::getLabels());
     /* Ajustes a los validadores */
     $this->validatorSchema['egreso']->setOption('required', true);
     $this->validatorSchema['egreso']->setMessage('required', 'Falta hora');
     // Agregando las personas del transoperatorio
     $this->widgetSchema['egreso']->setAttributes(array('id' => 'datahora'));
     $transPersonal = $object->getPersonalTransoperatorio();
     $tmp = new sfForm();
     if ($transPersonal != null) {
         foreach ($transPersonal as $personal) {
             if ($personal->getPersonalNombre()) {
                 $x = new PersonalcirugiaForm($personal);
                 $x->useFields(array('finaliza', 'personal_nombre'));
                 $tmp->embedForm('personal' . $personal->getId(), $x);
             }
         }
         $this->embedForm('temporal', $tmp);
     }
     $this->validatorSchema['clasificacionqx']->setOption('required', true);
     $this->validatorSchema['clasificacionqx']->setMessage('required', 'Falta clasificación de la cirugía');
 }
 public function configure()
 {
     $object = $this->getObject();
     $this->useFields(array('causa_diferido_id', 'status', 'paciente_id', 'show_in_index'));
     $this->widgetSchema['paciente_id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['status'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['show_in_index'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['status']->setAttribute('value', '-50');
     if (in_array($object->getTipoProcId(), array(1, 2))) {
         $this->widgetSchema['show_in_index']->setAttribute('value', '0');
     }
     $this->widgetSchema->setLabels(AgendaPeer::getLabels());
 }
 public function configure()
 {
     $object = $this->getObject();
     $this->useFields(array('medico_name', 'id', 'programacion', 'fechaestado', 'hora', 'horaestado', 'sala_id', 'paciente_name', 'paciente_id', 'diagnostico', 'diagnostico_id', 'edad', 'genero', 'registro', 'servicio', 'requerimiento', 'req_insumos', 'req_hemoderiv', 'req_laboratorio', 'req_anestesico', 'reintervencion', 'quirofano_id', 'tipo_proc_id', 'status', 'atencion_id', 'procedencia', 'tiempo_est', 'riesgo_qx_pre', 'show_in_index', 'protocolo'));
     $programa = $object->getMedicoPrograma();
     if ($programa->isNew()) {
         $programa->setAgenda($this->getObject());
         $programa->fromArray(array('Tipo' => 'cirujano', 'Agenda' => $this->getObject(), 'Status' => 0, 'Programa' => true));
     }
     $progForm = new PersonalcirujanoForm($programa);
     unset($progForm['inicia'], $progForm['transoperatorio']);
     $this->embedForm('programa', $progForm);
     $this->widgetSchema['programa']['programa'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['programacion'] = new sfWidgetFormJqueryDate(array(
     //'config' => '{"option", "dateFormat", "yy-mm-dd"}',each(array)
     //));
     $this->widgetSchema['programa']['personal_nombre']->setLabel('Nombre del Médico que programa:')->setAttributes(array('class' => 'searchable', 'data-url' => 'profile/json'));
     if ($object->countProcedimientocirugias() == 0) {
         $object->addProcedimientocirugia(new Procedimientocirugia());
         //      $object->addProcedimientocirugia(new Procedimientocirugia());
         //      $object->addProcedimientocirugia(new Procedimientocirugia());
         //      $object->addProcedimientocirugia(new Procedimientocirugia());
     }
     $this->embedRelation('Procedimientocirugia', array('embedded_form_class' => 'ProcedimientocirugiaForm', 'delete_name' => 'Eliminar', 'alert_text' => '¿Esta seguro que desea eliminar este procedimiento?\\n Ya no se podrá recuperar', 'parent_level' => 4, 'add_link' => 'Agregar otro Procedimiento', 'max_additions' => 4));
     $this->widgetSchema['reintervencion'] = new sfWidgetFormChoice(array('choices' => array('0' => 'No', '1' => 'Si'), 'expanded' => true));
     $this->widgetSchema['protocolo'] = new sfWidgetFormChoice(array('choices' => array('0' => 'No', '1' => 'Si'), 'expanded' => true));
     $this->widgetSchema['quirofano_id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['programacion'] = new sfWidgetFormInputText();
     $this->widgetSchema['hora'] = new sfWidgetFormInputText();
     $this->widgetSchema['tiempo_est'] = new sfWidgetFormInputText();
     //$this->setWidget('tiempo_est', new sfWidgetFormChoice(array(
     //'choices' => AgendaPeer::getDuracion()
     //'id' => 'tiest'
     //)));
     $this->widgetSchema['diagnostico_id'] = new sfWidgetFormInputHidden();
     $this->setWidget('status', new sfWidgetFormInputHidden());
     $this->widgetSchema['status']->setAttribute('value', 1);
     $this->widgetSchema->setLabels(AgendaPeer::getLabels());
     //	 $this->setWidget('tiempo_est', new sfWidgetFormChoice(array(
     //      'choices' => AgendaPeer::getDuracion()
     //    )));
     $this->widgetSchema['programacion']->setAttributes(array('id' => 'datepicker', 'placeholder' => 'año/mes/dia', 'class' => 'hasDatapicker'));
     $this->widgetSchema['tiempo_est']->setAttributes(array('id' => 'tiest'));
     $this->widgetSchema['hora']->setAttributes(array('id' => 'datahora'));
     $this->widgetSchema['medico_name']->setAttributes(array('planceholder' => 'Nombre del médico que programa la cirugia'));
     $this->widgetSchema['diagnostico']->setAttributes(array('placeholder' => 'Diagnóstico del paciente', 'data-source' => 'http://example.com/api/data', 'data-field' => 'diagnostico_id'));
     $this->widgetSchema->setLabels(array('paciente_name' => 'Nombre del Paciente:', 'diagnostico' => 'Diágnostico', 'medico_name' => 'Nombre del médico que programa la cirugía:', 'hora' => 'Hora inicial', 'tipo_proc_id' => 'Tipo de programación:', 'programacion' => 'Programación', 'tiempo_est' => 'Duración', 'riesgo_qx_pre' => 'Riesgo quirurgico:', 'req_insumos' => 'Insumos indispensables:', 'req_anestesico' => 'Requerimientos de Anestesiología:', 'req_hemoderiv' => 'Hemoderivados Necesarios:', 'req_laboratorio' => 'Requisitos de laboratorio:', 'requerimiento' => 'Otras necesidades:'));
     //$this->widgetSchema['reintervencion'] = new sfWidgetFormChoice(array(
     //  'choices' => array('0' => 'No', '1' => 'Si'),
     //'expanded' => true
     //));
     //$this->widgetSchema['protocolo'] = new sfWidgetFormChoice(array(
     //    'choices' => array('0' => 'No', '1' => 'Si'),
     //'expanded' => true
     //));
     $this->validatorSchema['diagnostico']->setOption('required', true);
     $this->validatorSchema['diagnostico']->setMessage('required', 'Falta diagnóstico');
     $this->validatorSchema['hora']->setOption('required', true);
     $this->validatorSchema['hora']->setMessage('required', 'Falta hora');
     $this->validatorSchema['programacion']->setOption('required', true);
     $this->validatorSchema['programacion']->setMessage('required', 'Falta fecha');
     $this->validatorSchema['tiempo_est']->setOption('required', true);
     $this->validatorSchema['tiempo_est']->setMessage('required', 'Falta hora');
     $this->validatorSchema['registro']->setOption('required', true);
     $this->validatorSchema['registro']->setMessage('required', 'Falta registro');
     $this->validatorSchema['tipo_proc_id']->setOption('required', true);
     $this->validatorSchema['tipo_proc_id']->setMessage('required', 'Falta tipo');
     $this->validatorSchema['paciente_name']->setOption('required', true);
     $this->validatorSchema['paciente_name']->setMessage('required', 'Falta nombre');
     $this->validatorSchema['edad']->setOption('required', true);
     $this->validatorSchema['edad']->setMessage('required', 'Falta edad');
     //$this->validatorSchema['medico_name']->setOption('required', true);
     //$this->validatorSchema['medico_name']->setMessage('required','Falta nombre');
     $this->validatorSchema['riesgo_qx_pre']->setOption('required', true);
     $this->validatorSchema['riesgo_qx_pre']->setMessage('required', 'Falta riesgo');
     $this->validatorSchema['req_insumos']->setOption('required', true);
     $this->validatorSchema['req_insumos']->setMessage('required', 'Falta insumos');
     $this->validatorSchema['req_anestesico']->setOption('required', true);
     $this->validatorSchema['req_anestesico']->setMessage('required', 'Falta anestesia');
     $this->getObject()->isNew() ? $this->validatorSchema['programacion']->setOption('min', strtotime('today')) : $this->validatorSchema['programacion']->setOption('max', strtotime('today + 30 days'));
     $this->validatorSchema['programacion']->setMessage('min', 'Fecha invalida');
     $this->validatorSchema['programacion']->setMessage('max', 'No se puede progrmar con mas de un mes de anticipación');
     $this->setWidget('tipo_proc_id', new sfWidgetFormPropelChoice(array('model' => 'Procedimiento')));
 }
 public function configure()
 {
     $object = $this->getObject();
     $this->useFields(array('ingreso', 'anestesia_empleada', 'observaciones', 'tiempo_fuera', 'status', 'anestesia_id', 'solicitado'));
     //$this->widgetSchema['paciente_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['realiza_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['supervisor_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['anestesiologo_qx_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['maestro_anestesia_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['instrumentista_id'] = new sfWidgetFormInputHidden();
     //$this->widgetSchema['circulante_id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['solicitado'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['status'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['ingreso'] = new sfWidgetFormInputText();
     $this->widgetSchema['ingreso']->setAttributes(array('id' => 'datahora'));
     $this->widgetSchema['anestesia_empleada'] = new sfWidgetFormInputText();
     $this->widgetSchema['anestesia_id'] = new sfWidgetFormInputHidden();
     $this->widgetSchema['observaciones'] = new sfWidgetFormTextarea();
     $this->widgetSchema['tiempo_fuera'] = new sfWidgetFormChoice(array('choices' => array('No', 'Si'), 'expanded' => true));
     $transPersonal = $object->getPersonalTransoperatorio();
     $cxInicial = $object->getCirujanoInicial();
     $this->embedPersonalForm($object->getCirujanoInicial(), 'cxInicial', array('Tipo' => 'cirujano', 'Inicia' => true, 'Status' => '0'));
     $this->embedPersonalForm($object->getCirujanoSupInicial(), 'cxSupInicial', array('Tipo' => 'cirujano', 'Inicia' => true, 'Status' => '1'));
     //-------------------------------------------------------------------------
     $this->embedPersonalForm($object->getAnestesiologoInicial(), 'anesInicia', array('Tipo' => 'anestesista', 'Inicia' => true, 'Status' => '0'));
     $this->embedPersonalForm($object->getAnestesiologoSupInicial(), 'anesSupInicia', array('Tipo' => 'anestesista', 'Inicia' => true, 'Status' => '1'));
     $this->embedPersonalForm($object->getInstrumentistaInicial(), 'instrumentistaInicial', array('Tipo' => 'enfermeria', 'Inicia' => true, 'Status' => '2'));
     $this->embedPersonalForm($object->getCirculanteInicial(), 'circulanteInicial', array('Tipo' => 'enfermeria', 'Inicia' => true, 'Status' => '3'));
     //$this->setWidget('turno_ii_id', new sfWidgetFormInput());
     /*$turnoChoices = array(
           '1' => 'Matutino',
           '2' => 'Vespertino',
           '3' => 'Nocturno',
           '4' => 'Plan Piloto',
         );
     
         $this->widgetSchema['turno_ii_id'] = new sfWidgetFormChoice(array('choices' => $turnoChoices));
         $this->widgetSchema['turno_ci_id'] = new sfWidgetFormChoice(array('choices' => $turnoChoices)); */
     //$this->setDefault('turno_ii_id', $this->calcTurno());
     //$this->setDefault('turno_ci_id', $this->calcTurno());
     $this->setDefault('solicitado', true);
     $this->widgetSchema->setLabels(AgendaPeer::getLabels());
     /* Ajustes a los validadores */
     /*
         $this->validatorSchema['ingreso']->setOption('required', true);
         $this->validatorSchema['ingreso']->setMessage('required','Falta hora');
     
         $this->validatorSchema['realiza']->setOption('required', true);
         $this->validatorSchema['realiza']->setMessage('required','Falta nombre de cirujano');
     
         $this->validatorSchema['anestesiologo_qx']->setOption('required', true);
         $this->validatorSchema['anestesiologo_qx']->setMessage('required','Falta nombre de anestesiologo');
     
         $this->validatorSchema['anestesia_empleada']->setOption('required', true);
         $this->validatorSchema['anestesia_empleada']->setMessage('required','Falta tipo de anestesia');
     
         $this->validatorSchema['instrumentista']->setOption('required', true);
         $this->validatorSchema['instrumentista']->setMessage('required','Falta nombre de instrumentista');
     
         $this->validatorSchema['turno_ii_id']->setOption('required', true);
         $this->validatorSchema['turno_ii_id']->setMessage('required','Falta hora');
     
         $this->validatorSchema['circulante']->setOption('required', true);
         $this->validatorSchema['circulante']->setMessage('required','Falta nombre de circulante');
     
         $this->validatorSchema['turno_ci_id']->setOption('required', true);
         $this->validatorSchema['turno_ci_id']->setMessage('required','Falta hora'); */
 }