/**
  * Get all Fields for a slot
  * @param int $slot_id, id of the slot
  * @return array $result
  */
 public function getFields($slot_id) {
     $result = array();
     $a = 0;
     $fields = WorkflowSlotFieldTable::instance()->getWorkflowSlotFieldBySlotId($slot_id);
     foreach($fields as $field) {
         $documentField = $field->getField()->toArray();
         $result[$a]['id'] = $field->getId();
         $result[$a]['workflowslot_id'] = $field->getWorkflowslotId();
         $result[$a]['field_id'] = $field->getFieldId();
         $result[$a]['position'] = $field->getPosition();
         $result[$a]['type'] = $documentField[0]['type'];
         $result[$a]['items'] = $this->getItems($documentField[0]['type'],$field->getFieldId(),$field->getId());
         $a++;
     }
     return $result;
 }
    public function getFields($id, $versionid) {
        $result = array();
        $a = 0;
        $fields = WorkflowSlotFieldTable::instance()->getWorkflowSlotFieldBySlotId($id);
        $column = 'LEFT';
        foreach($fields as $field) {
            $documentField = $field->getField()->toArray();
            $result[$a]['workflowslotfield_id'] = $field->getId();
            $result[$a]['workflowslot_id'] = $field->getWorkflowslotId();
            $result[$a]['field_id'] = $field->getFieldId();
            $result[$a]['title'] = $documentField[0]['title'];
            $result[$a]['type'] = $documentField[0]['type'];
            if($column == 'LEFT') {
                $column = 'RIGHT';
                $result[$a]['column'] = 'LEFT';
            }
            else {
                $column = 'LEFT';
                $result[$a]['column'] = 'RIGHT';
            }
            $result[$a]['position'] = $field->getPosition();
            $result[$a++]['items'] = $this->getFieldItems($field, $documentField[0]['type'], $this->context, $versionid);


        }
        return $result;

    }
Пример #3
0
 private function getFields(WorkflowSlot $slot, $versionid) {
     $result = array();
     $a = 0;
     $fields = WorkflowSlotFieldTable::instance()->getWorkflowSlotFieldBySlotIdWithValues($slot->getId());
     $workflowDetail = new WorkflowDetail($this->helperFlag);
     $workflowDetail->setServerUrl($this->serverUrl);
     $column = 'LEFT';
     foreach($fields as $field) {
         $docField = $field->getField()->toArray();
         $result[$a]['workflowslotfield_id'] = $field->getId();
         $result[$a]['workflowslot_id'] = $field->getWorkflowslotId();
         $result[$a]['fieldname'] = $docField[0]['title'];
         $result[$a]['type'] = $docField[0]['type'];
         if($column == 'LEFT') {
             $column = 'RIGHT';
             $result[$a]['column'] = 'LEFT';
         }
         else {
             $column = 'LEFT';
             $result[$a]['column'] = 'RIGHT';
         }
         $result[$a]['writeprotected'] = $docField[0]['writeprotected'];
         $result[$a]['color'] = $docField[0]['color'];
         $result[$a]['items'] = $workflowDetail->getFieldItems($field,$docField[0]['type'], $this->context, $versionid);
         $a++;
         
     }
     return $result;
 }
    /**
     * Get userdefined field
     *
     * @param String  $type, userdefined1, userdefined2
     */
    public function getFields($type, $versionId) {
        $view = $this->user->getAttribute('userWorkflowSettings');
        $result = '';
        foreach($view as $singleView) {
            if($singleView['store'] == $type AND $singleView['fieldid'] > -1) {
                $wfItem = WorkflowVersionTable::instance()->getFieldByWorkflowversionIdAndFieldId($singleView['fieldid'], $versionId)->toArray();
                if(empty($wfItem) == true) {
                    return '';
                }
                else {
                    $slots = WorkflowSlotTable::instance()->getFieldBySlotIdAndFieldId($singleView['fieldid'], $versionId)->toArray();
                    $fields = WorkflowSlotFieldTable::instance()->getWorkflowSlotFieldBySlotIdAndFieldId($slots[0]['id'],$singleView['fieldid'])->toArray();
                    $theType = FieldTable::instance()->getFieldById($fields[0]['field_id'])->toArray();
                    if(!empty($theType)) {
                        switch ($theType[0]['type']) {
                            case 'TEXTFIELD':
                                $value = WorkflowSlotFieldTextfieldTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'];
                                return $result;
                                break;
                            case 'CHECKBOX':
                                $value = WorkflowSlotFieldCheckboxTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'] == 1 ? $this->context->getI18N()->__('Yes' ,null,'workflowmanagement') : $this->context->getI18N()->__('No' ,null,'workflowmanagement');
                                return $result;
                                break;
                            case 'NUMBER':
                                $value = WorkflowSlotFieldNumberTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'];
                                return $result;
                                break;
                            case 'DATE':
                                $value = WorkflowSlotFieldDateTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'];
                                return $result;
                                break;
                            case 'TEXTAREA':
                                $value = WorkflowSlotFieldTextareaTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'];
                                return $result;
                                break;
                            case 'RADIOGROUP':
                                $value = WorkflowSlotFieldRadiogroupTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'] == 1 ? $this->context->getI18N()->__('Yes' ,null,'workflowmanagement') : $this->context->getI18N()->__('No' ,null,'workflowmanagement');
                                return $result;
                                break;
                            case 'CHECKBOXGROUP':
                                $value = WorkflowSlotFieldCheckboxgroupTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'] == 1 ? $this->context->getI18N()->__('Yes' ,null,'workflowmanagement') : $this->context->getI18N()->__('No' ,null,'workflowmanagement');
                                return $result;
                                break;
                            case 'COMBOBOX':
                                $value = WorkflowSlotFieldComboboxTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $result = $value[0]['value'] == 1 ? $this->context->getI18N()->__('Yes' ,null,'workflowmanagement') : $this->context->getI18N()->__('No' ,null,'workflowmanagement');
                                return $result;
                                break;
                            case 'FILE':
                                $value = WorkflowSlotFieldFileTable::instance()->getAllItemsByWorkflowFieldId($fields[0]['id'])->toArray();
                                $url = (url_for('layout/index',true));
                                $url = str_replace('/layout', '', $url);
                                $result['filepath'] = $url . '/file/showAttachment/workflowid/' . $wfItem[0]['workflowtemplate_id'] . '/versionid/' . $wfItem[0]['id'] . '/attachmentid/' . $value[0]['id'] . '/file/1';
                                $fileUrl = '<a href="'.$result['filepath'].'">'.$value[0]['filename'].'</a>';
                                return $fileUrl;
                                break;

                        }
                    }
                    else {
                        return '';
                    }
                }
            }
        }
    }