/**
  * Отрисовать печать по шаблону
  *
  * @param array $item
  */
 private function renderMenuItemPrint(array $item)
 {
     // кнопка печати по шаблону
     echo '<div class="menu_item_container">';
     echo '<a href="' . WEB_ROOT . '_modules/_print/?action=ShowForms&template=' . $item['template'] . '" asu-action="flow">';
     $formset = CPrintManager::getFormset($item["template"]);
     if (!is_null($formset)) {
         $var = $formset->computeTemplateVariables();
         foreach ($var as $key => $value) {
             echo '<div asu-type="flow-property" name="' . $key . '" value="' . $value . '"></div>';
         }
     }
     echo '<div><img src="' . WEB_ROOT . 'images/' . ICON_THEME . '/32x32/' . $item['icon'] . '"></div>';
     echo $item['title'];
     echo '</a>';
     echo '</div>';
     self::$childContainers++;
 }
 public function actionDelete()
 {
     $formset = CPrintManager::getFormset(CRequest::getInt("id"));
     $formset->remove();
     $this->redirect("?action=index");
 }
예제 #3
0
 /**
  * Подготоваливает к вывод данные для печати группы
  * записей по указанному шаблону
  *
  * @param $template
  */
 public static function printGroupOnTemplate($template)
 {
     $formset = CPrintManager::getFormset($template);
     if (!is_null($formset)) {
         $forms = $formset->activeForms;
         $variables = $formset->computeTemplateVariables();
         echo "<ul>";
         foreach ($forms->getItems() as $form) {
             echo '<li><a href="#" onclick="printWithTemplate(';
             echo "'" . $variables['manager'] . "'";
             echo ", '" . $variables['method'] . "'";
             echo ", '" . $form->getId() . "'";
             echo '); return false;">' . $form->title . '</a></li>';
         }
         echo "</ul>";
     }
 }
 public function actionImport()
 {
     $import_data = CRequest::getString("export_data");
     // $import_data = stripsplashes($import_data);
     $import_data = unserialize($import_data);
     /**
      * Первый проход
      * Добавляем или обновляем описатели без учета иерархии
      */
     foreach ($import_data as $field_arr) {
         $field = CPrintManager::getField($field_arr["alias"]);
         if (is_null($field)) {
             $field = new CPrintField();
             $field->alias = $field_arr["alias"];
         }
         /**
          * Обновляем данными из массива
          */
         $field->description = $field_arr["description"];
         $field->value_evaluate = $field_arr["value_evaluate"];
         $field->parent_node = $field_arr["parent_node"];
         $field->title = $field_arr["title"];
         /**
          * Привязываем к набору форм
          */
         $formset = CPrintManager::getFormset($field_arr["formset"]);
         if (is_null($formset)) {
             trigger_error("Не могу найти набор форм " . $field_arr["formset"] . ". Продолжение невозможно", E_USER_ERROR);
         }
         $field->formset_id = $formset->getId();
         $field->save();
     }
     /**
      * Второй проход
      * Выстраиваем иерархию
      */
     foreach ($import_data as $field_arr) {
         if (array_key_exists("parent", $field_arr)) {
             $parent = CPrintManager::getField($field_arr["parent"]);
             if (is_null($parent)) {
                 trigger_error("Не могу найти описатель с псевдонимом " . $field_arr["parent"] . ". Импортируйте сначала его", E_USER_ERROR);
             }
             $field = CPrintManager::getField($field_arr["alias"]);
             $field->parent_id = $parent->getId();
             $field->save();
         }
     }
     /**
      * Возвращаемся обратно
      */
     $this->redirect("?action=index");
 }
 public function actionShowForms()
 {
     $formsetName = CRequest::getString("template");
     $formset = CPrintManager::getFormset($formsetName);
     if (!is_null($formset)) {
         $forms = new CArrayList();
         foreach ($formset->forms->getItems() as $form) {
             $forms->add($form->getId(), $form->title);
         }
         $this->showPickList($forms, get_class($this), "PrePrintWithTemplate");
     }
 }