1
Changeset f4a746f – MultiMag

Changeset f4a746f


Ignore:
Timestamp:
Aug 9, 2014, 11:05:04 PM (8 years ago)
Author:
Blacklight <blacklight@…>
Branches:
master
Children:
310536f
Parents:
86c9386
Message:
  • Добавлены редакторы банков и касс #571
  • Переработан редактор данных собственных организаций
Location:
web
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • web/core.php

    r86c9386 rf4a746f  
    3636        $class_name = strtolower($class_name);
    3737        $class_name = str_replace('\\', '/', $class_name);
    38         @include_once $CONFIG['site']['location']."/include/".$class_name.'.php';
     38        include_once $CONFIG['site']['location']."/include/".$class_name.'.php';
    3939}
    4040
     
    664664        /// Добавить "хлебные крошки"
    665665        function addBreadcrumb($name, $link) {
    666                 $this->breadcrumbs[] = array('name'=>$name, 'link'=>$link);
     666                $this->breadcrumbs[$name] = array('name'=>$name, 'link'=>$link);
    667667        }
    668668       
     
    688688                                foreach($this->breadcrumbs as $item) {
    689689                                        if($item['link'])
    690                                                 $this->page_blocks['breadcrumbs'] .= "<a href='{$item['link']}'>{$item['name']}</a> ";
    691                                         else    $this->page_blocks['breadcrumbs'] .= $item['name'];
     690                                                $this->page_blocks['breadcrumbs'] .= "<a href='{$item['link']}'>".html_out($item['name'])."</a> ";
     691                                        else    $this->page_blocks['breadcrumbs'] .= html_out($item['name']);
    692692                                }
    693693                                $this->page_blocks['breadcrumbs'] .= "</div>";
  • web/doc_service.php

    r86c9386 rf4a746f  
    2929$uid=@$_SESSION['uid'];
    3030if(!isAccess('doc_service','view'))     throw new AccessException("Нет доступа к странице");
    31 
     31doc_menu();
     32$tmpl->addBreadcrumb('Документы', '/docj_new.php');
     33$tmpl->addBreadcrumb('Служебные функции', '/doc_service.php');
    3234if($mode=='')
    3335{
    34         doc_menu();
     36        $tmpl->addBreadcrumb('Служебные функции', '');
    3537        $tmpl->setTitle("Служебные функции");
    3638        $tmpl->addContent("<h1>Служебные функции</h1>
    3739        <ul class='items'>
     40        <li>Справочники</li>
     41        <li><a href='?mode=types'>Типы товаров</a></li>
     42        <li><a href='?mode=cost'>Цены</a></li>
     43        <li><a href='?mode=vrasx'>Виды расходов</a></li>
     44        <li><a href='?mode=store'>Склады</a></li>
     45        <li><a href='?mode=params'>Свойства складской номенклатуры</a></li>
     46        <li><a href='?mode=param_collections'>Наборы свойств складской номенклатуры</a></li>
     47        <li><a href='?mode=banks'>Банки</a></li>
     48        <li><a href='?mode=kass'>Кассы</a></li>
     49        <li><a href='?mode=firmss'>Организации</a></li>
     50        <li>Обработки</li>
     51        <li><a href='?mode=cimage'>Замена изображений</a></li>
    3852        <li><a href='?mode=merge_agent'>Группировка агентов</a></li>
    3953        <li><a href='?mode=merge_tovar'>Группировка складской номенклатуры</a></li>
    40         <li><a href='?mode=doc_log'>Журнал изменений</a></li>
    41         <li><a href='?mode=cost'>Управление ценами</a></li>
    42         <li><a href='?mode=firm'>Настройки организаций</a></li>
    43         <li><a href='?mode=vrasx'>Настройки видов расходов</a></li>
    44         <li><a href='?mode=store'>Редактор складов</a></li>
    45         <li><a href='?mode=params'>Настройки свойств складской номенклатуры</a></li>
    46         <li><a href='?mode=param_collections'>Настройки наборов свойств складской номенклатуры</a></li>
     54        <li>Отчёты</li>
    4755        <li><a href='?mode=auinfo'>Документы, изменённые после проведения</a></li>
    4856        <li><a href='?mode=pcinfo'>Информация по изменениям в номеклатуре</a></li>
    49         <li><a href='?mode=types'>Редактор типов товаров</a></li>
    50         <li><a href='?mode=cimage'>Замена изображений</a></li>
     57        <li><a href='?mode=doc_log'>Журнал изменений</a></li>   
    5158        </ul>");
    5259}
    5360else if($mode=='merge_agent')
    5461{
    55         doc_menu();
    5662        $tmpl->addContent("<h1>Группировка агентов</h1>
    5763        Данная функция перепривязывает все документы и доверенных лиц от агента с большим ID на агента с меньшим ID. После этого, имя агента с большим ID получает префикс old, и агент перемещается в указанную группу.<h2 style='color: #f00'>ВНИМАНИЕ! Данное действие необратимо, и может привести к ошибкам в документах! Перед выполнением убедитесь в том, что у Вас есть резервная копия базы данных! После выполнения действия рекомендуется выполнить процедуру оптимизации!</h2>
     
    6975}
    7076else if ($mode == 'merge_agent_ok') {
    71         doc_menu();
    7277        $ag1 = rcvint('ag1');
    7378        $ag2 = rcvint('ag2');
     
    9499else if($mode=='merge_tovar')
    95100{
    96         doc_menu();
    97101        $tmpl->addContent("<h1>Группировка складской номенклатуры</h1>
    98102        Данная функция перепривязывает всю номенклатуру в документах и комплектующих от объекта с большим ID на объект с меньшим ID. После этого, имя объекта с большим ID получает префикс old, и объекта перемещается в указанную группу.<h2 style='color: #f00'>ВНИМАНИЕ! Данное действие необратимо, и может привести к ошибкам в документах и на складе! Перед выполнением убедитесь в том, что Вы осознаёте, что делаете, и что у Вас есть резервная копия базы данных! После выполнения действия ОБЯЗАТЕЛЬНО выполнить процедуру оптимизации, иначе остатки на складе будут неверны!</h2>
     
    111115else if($mode=='merge_tovar_ok')
    112116{
    113         doc_menu();
    114117        $tov1=rcvint('tov1');
    115118        $tov2=rcvint('tov2');
     
    135138else if($mode=='doc_log')
    136139{
    137         doc_menu();
    138140        $motions=$targets=array();
    139141        $res=$db->query("SELECT DISTINCT `motion` FROM `doc_log`");
     
    187189else if($mode=='cost')
    188190{
    189         doc_menu();
    190191        $tmpl->addContent("<h1>Управление ценами</h1>");
    191192        $res = $db->query("SELECT `id`, `name`, `type`, `value`, `context`, `priority`, `accuracy`, `direction`, `bulk_threshold`, `acc_threshold` FROM `doc_cost`");
     
    281282else if($mode=='costs')
    282283{
    283         doc_menu();
    284284        if(!isAccess('doc_service','edit'))     throw new AccessException("Нет доступа к странице");
    285285        $context_a = array('r', 's', 'd', 'b');
     
    344344        header("Location: doc_service.php?mode=cost");
    345345}
    346 else if($mode=='firm')
    347 {
    348         $tmpl->addContent("<h1>Настройки фирм</h1>
    349         <form action='' method='post'>
    350         <input type='hidden' name='mode' value='firme'>
    351         Выберите фирму:<br>
    352         <select name='firm_id'>");
    353         $res=$db->query("SELECT `id`, `firm_name` FROM `doc_vars` ORDER BY `firm_name`");
    354         while($nx=$res->fetch_row())
    355         {
    356                 $tmpl->addContent("<option value='$nx[0]'>".html_out($nx[1])."</option>");
    357         }
    358         $tmpl->addContent("<option value='0'>--Создаьть новую--</option></select><br>
    359         <input type='submit' value='Далее'>
    360         </form>");
    361 }
    362 else if($mode=='firme') {
    363         $tmpl->setTitle("Настройки фирмы");
    364         $tmpl->addStyle("input.dw{width:300px;}");
    365         $firm_id = rcvint('firm_id');
    366         if($firm_id) {
    367                 $res = $db->query("SELECT * FROM `doc_vars` WHERE `id`='$firm_id'");
    368                 $values = $res->fetch_assoc();
    369         }
    370         else {
    371                 $res = $db->query("SELECT * FROM `doc_vars` LIMIT 1");
    372                 $values = $res->fetch_assoc();
    373                 foreach($values as $id => $value)
    374                         $values[$id]='';
    375         }
    376 
    377         $tmpl->addContent("
    378         <form action='doc_service.php' method='post'>
    379         <input type='hidden' name='mode' value='firms'>
    380         <input type='hidden' name='firm_id' value='$firm_id'>");
    381         foreach($values as $id => $value) {
    382                 if($id=='id') continue;
    383                 $tmpl->addContent("$id<br><input type='text' class='dw' name='v[$id]' value='$value'><br>");
    384         }
    385         $tmpl->addContent("<input type='submit' value='Сохранить'></form>");
    386 
    387 }
    388 else if($mode=='firms')
    389 {
    390         $firm_id=rcvint('firm_id');
    391 
    392         if($firm_id)
    393         {
    394                 $ss='';
    395                 foreach($_REQUEST['v'] as $id => $value)
    396                 {
    397                         if($id=='id')   continue;
    398                         $sql_id=$db->real_escape_string($id);
    399                         $sql_value=$db->real_escape_string($value);
    400                         if($ss) $ss.=', ';
    401                         $ss.="`$id`='$value'";
    402                 }
    403                 $ss="UPDATE `doc_vars` SET $ss WHERE `id`='$firm_id'";
    404         }
    405         else
    406         {
    407                 $s1=$s2='';
    408                 foreach($_REQUEST['v'] as $id => $value)
    409                 {
    410                         if($id=='id')   continue;
    411                         $sql_id=$db->real_escape_string($id);
    412                         $sql_value=$db->real_escape_string($value);
    413                         if($s1)
    414                         {
    415                                 $s1.=', ';
    416                                 $s2.=', ';
    417                         }
    418                         $s1="`$id`";
    419                         $s2="'$value'";
    420                 }
    421                 $ss="INSERT INTO `doc_vars` ($s1) VALUES ($s2)";
    422 
    423         }
    424         $res=$db->query($ss);
    425         $tmpl->msg("Данные сохранены!","ok");
    426 }
    427346else if($mode=='vrasx')
    428347{
     
    469388}
    470389else if($mode=='store') {
    471         doc_menu();
    472390        if (request('opt')) {
    473391                if (!isAccess('doc_service', 'edit'))   throw new AccessException();
     
    508426        $cur_group = rcvint('group', 1);
    509427        $types = array('text' => 'Текстовый', 'int' => 'Целый', 'bool' => 'Логический', 'float' => 'С плавающей точкой');
    510         doc_menu();
    511428        $tmpl->addContent("<h1 id='page-title'>Настройки параметров складской номенклатуры</h1>");
    512429        if ($opt == 'newg') {
     
    690607{
    691608        $opt=request('opt');
    692         doc_menu();
    693609        if($opt=='save')
    694610        {
     
    795711        }
    796712       
    797         doc_menu();
    798713        $opt = request('opt');
    799714        $id = rcvint('id');
     
    826741        $ndd = rcvint('ndd');
    827742        $ndd_check=$ndd?'checked':'';
    828         doc_menu();
     743
    829744        $tmpl->addContent("<h1 id='page-title'>Информация по документам, изменённым после проведения</h1>
    830745        <script type='text/javascript' src='/css/jquery/jquery.autocomplete.js'></script>
     
    895810else if($mode=='pcinfo')
    896811{
    897         doc_menu();
    898812        $from=request('from', '1970-01-01');
    899813        $to=request('to', date('Y-m-d'));
     
    928842}
    929843else if($mode == 'cimage') {
    930         doc_menu();
    931844        $tmpl->addContent("<h1 id='page-title'>Управление изображениями товаров</h1>");
    932845        $tmpl->setTitle("Управление изображениями товаров");
     
    1020933        }
    1021934}
     935else if($mode=='banks') {
     936        $editor = new \ListEditors\BankListEditor();
     937        $editor->line_var_name = 'id';
     938        $editor->link_prefix = '/doc_service.php?mode=banks';
     939        $editor->run();
     940}
     941else if($mode=='kass') {
     942        $editor = new \ListEditors\KassListEditor();
     943        $editor->line_var_name = 'id';
     944        $editor->link_prefix = '/doc_service.php?mode=kass';
     945        $editor->run();
     946}
     947else if($mode=='firmss') {
     948        $editor = new \ListEditors\FirmListEditor();
     949        $editor->line_var_name = 'id';
     950        $editor->link_prefix = '/doc_service.php?mode=firmss';
     951        $editor->run();
     952}
    1022953
    1023954else throw new NotFoundException("Несуществующая опция");
  • web/include/doc.core.php

    r86c9386 rf4a746f  
    2828        $class_name= strtolower($class_name);
    2929        $nm2=explode('_',$class_name,2);
    30         if(is_array($nm2))
    31         {
    32                 list($class_type, $class_name)=$nm2;
    33                 if($class_type=='doc')          include_once $CONFIG['site']['location']."/include/doc.".$class_name.'.php';
    34                 else if($class_type=='report')  include_once $CONFIG['site']['location']."/include/reports/".$class_name.'.php';
     30        if(is_array($nm2)) {
     31                if(count($nm2)>1) {
     32                        list($class_type, $class_name)=$nm2;
     33                        if($class_type=='doc')          include_once $CONFIG['site']['location']."/include/doc.".$class_name.'.php';
     34                        else if($class_type=='report')  include_once $CONFIG['site']['location']."/include/reports/".$class_name.'.php';
     35                }
    3536        }
    3637        @include_once $CONFIG['site']['location']."/include/".$class_name.'.php';
Note: See TracChangeset for help on using the changeset viewer.