OEModule\PatientTicketing\widgets\QueueAssign::run PHP Method

run() public method

public run ( )
    public function run()
    {
        $cls_name = explode('\\', get_class($this));
        $this->shortName = array_pop($cls_name);
        if (file_exists(dirname(__FILE__) . '/js/' . $this->shortName . '.js')) {
            $this->assetFolder = Yii::app()->getAssetManager()->publish(dirname(__FILE__) . '/js/');
            Yii::app()->getClientScript()->registerScriptFile($this->assetFolder . '/' . $this->shortName . '.js');
        }
        if ($this->queue_id) {
            $queue = models\Queue::model()->findByPk($this->queue_id);
        } else {
            $queue = null;
        }
        $form_fields = $queue->getFormFields();
        $auto_save = false;
        if (isset($_POST[$form_fields[0]['form_name']])) {
            // if post contains patient ticket data
            $form_data = $_POST;
        } elseif ($form_data = AutoSaveTicket::getFormData($this->patient_id, $this->current_queue_id)) {
            $auto_save = true;
        }
        //if this is the outcome widget and a correspondence has been created
        //display the print letter button
        $print_letter_event = false;
        foreach ($form_fields as $fld) {
            if (@$fld['widget_name'] == 'TicketAssignAppointment') {
                if ($api = \Yii::app()->moduleAPI->get('OphCoCorrespondence')) {
                    if ($episode = $this->ticket->patient->getEpisodeForCurrentSubspecialty()) {
                        if ($event = $api->getLatestEvent($episode)) {
                            if ($event->created_date > $this->ticket->created_date) {
                                $print_letter_event = $event;
                            }
                        }
                    }
                }
            }
        }
        $this->render('QueueAssign', array('queue' => $queue, 'form_fields' => $form_fields, 'form_data' => $form_data, 'auto_save' => $auto_save, 'print_letter_event' => $print_letter_event));
    }
QueueAssign