Changeset 430


Ignore:
Timestamp:
Oct 11, 2012, 7:16:33 PM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Správci sítě mají dostupný z hlavní stránky po přihlášení odkaz na Správu dat.
  • Opraveno: Zobrazení vazeb 1:n a akcí v seznamech.
  • Přidáno: Zobrazení formulářů ve správě dat.
Location:
trunk
Files:
5 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Types/Color.php

    r428 r430  
    99  function OnView($Item)
    1010  {
    11     $Output = '<span style="background-color: '.$Item['Value'].'">&nbsp;&nbsp;&nbsp;&nbsp;</span>';
     11    $Output = '<span style="background-color: #'.$Item['Value'].'">&nbsp;&nbsp;&nbsp;&nbsp;</span>';
    1212    return($Output);
    1313  }
  • trunk/Common/Types/OneToMany.php

    r428 r430  
    1010    if($Item['Value'] != '')
    1111    {
    12       $DbResult = $this->System->Database->query('SELECT '.$Type['Parameters']['Name'].' AS `Name` FROM `'.$Type['Parameters']['Table'].'` WHERE `'.$Type['Parameters']['Id'].'`='.$Item['Value']);
     12      $DbResult = $this->System->Database->query('SELECT '.$Type['Parameters']['Name'].
     13        ' AS `Name` FROM `'.$Type['Parameters']['Table'].'` WHERE `'.
     14        $Type['Parameters']['Id'].'`='.$Item['Value']);
    1315      $DbRow = $DbResult->fetch_assoc();
    14       $Output = '<a href="'.$this->System->Navigation->MakeLink($Type['Parameters']['Table'], 'View', array('Id' => $Item['Value'])).'">'.$DbRow['Name'].'</a>';
     16      $Output = '<a href="?t='.$Type['Parameters']['Table'].'&amp;a='.
     17        'view'.'&amp;id='.$Item['Value'].'">'.$DbRow['Name'].'</a>';
    1518    } else $Output = '';
    1619    return($Output);
  • trunk/Common/Types/Type.php

    r428 r430  
    7272 
    7373    $Type['Name'] = $Name;
    74     $Type['Parameters'] = array_merge($Type['Parameters'], $Parameters);
     74    if(array_key_exists('Parameters', $Type))
     75      $Type['Parameters'] = array_merge($Type['Parameters'], $Parameters);
     76      else $Type['Parameters'] = $Parameters;
    7577    $this->TypeDefinitionList[$Name] = $Type;
    7678  }
  • trunk/form_classes.php

    r429 r430  
    77    'Items' => array(
    88      'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     9      'Type' => array('Type' => 'TNetworkDeviceType', 'Caption' => 'Typ', 'Default' => '0'),
     10      'Member' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => '0'),
     11      'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '0'),
    912      'Used' => array('Type' => 'Boolean', 'Caption' => 'Použito', 'Default' => '1'),
    1013      'Online' => array('Type' => 'Boolean', 'Caption' => 'Běží', 'Default' => '0'),
    1114      'LastOnline' => array('Type' => 'DateTime', 'Caption' => 'Naposledy běželo', 'Default' => ''),
    1215      'PermanentOnline' => array('Type' => 'Boolean', 'Caption' => 'Běží stále', 'Default' => '0'),
    13       'Member' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => '0'),
    14       'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '0'),
     16    ),
     17  ),
     18  'NetworkDeviceType' => array(
     19    'Title' => 'Typ síťového zařízení',
     20    'Table' => 'NetworkDeviceType',
     21    'Items' => array(
     22      'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     23      'ShowOnline' => array('Type' => 'Boolean', 'Caption' => 'Ukázat online', 'Default' => '0'),
     24      'IconName' => array('Type' => 'String', 'Caption' => 'Jméno ikony', 'Default' => '0'),
     25    ),
     26  ),
     27  'NetworkInterface' => array(
     28    'Title' => 'Síťové rozhraní',
     29    'Table' => 'NetworkInterface',
     30    'Items' => array(
     31      'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     32      'Type' => array('Type' => 'TNetworkInterfaceType', 'Caption' => 'Typ', 'Default' => '0'),
     33      'MAC' => array('Type' => 'String', 'Caption' => 'Fyzická adresa (MAC)', 'Default' => ''),
     34      'LocalIP' => array('Type' => 'String', 'Caption' => 'IPv4', 'Default' => ''),
     35      'IPv6' => array('Type' => 'String', 'Caption' => 'IPv6', 'Default' => ''),
     36      'ExternalIP' => array('Type' => 'String', 'Caption' => 'Veřejná IPv4', 'Default' => '0'),
     37      'Device' => array('Type' => 'TNetworkDevice', 'Caption' => 'Zařízení', 'Default' => ''),
     38      'Online' => array('Type' => 'Boolean', 'Caption' => 'Běží', 'Default' => '0'),
     39      'LastOnline' => array('Type' => 'DateTime', 'Caption' => 'Naposledy běželo', 'Default' => ''),
     40    ),
     41  ),
     42  'NetworkInterfaceType' => array(
     43    'Title' => 'Typ síťového rozhraní',
     44    'Table' => 'NetworkInterfaceType',
     45    'Items' => array(
     46      'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     47      'MaxSpeed' => array('Type' => 'Integer', 'Caption' => 'Max. rychlost', 'Default' => '0'),
     48      'FullDuplex' => array('Type' => 'Boolean', 'Caption' => 'Plně duplexní', 'Default' => '0'),
     49      'Color' => array('Type' => 'Color', 'Caption' => 'Barva', 'Default' => '0'),
    1550    ),
    1651  ),
     
    131166    'Table' => 'Product',
    132167    'Items' => array(
    133       'name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
    134       'price' => array('Type' => 'Float', 'Caption' => 'Cena', 'Default' => 0),
    135       'count' => array('Type' => 'Integer', 'Caption' => 'Počet', 'Default' => 1),
    136       'date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'),
    137       'segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Segment sítě', 'Default' => 0),
    138       'date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'),
    139       'used' => array('Type' => 'TNetworkDeviceState', 'Caption' => 'Stav', 'Default' => 0),
    140       'consumption' => array('Type' => 'Integer', 'Caption' => 'Spotřeba', 'Default' => 0),
    141       'user' => array('Type' => 'TFinanceSubject', 'Caption' => 'Subjekt', 'Default' => 0),
    142       'info' => array('Type' => 'String', 'Caption' => 'Poznámky', 'Default' => ''),
    143       'shop' => array('Type' => 'String', 'Caption' => 'Obchod', 'Default' => ''),
    144       'device_id' => array('Type' => 'String', 'Caption' => 'Sériové číslo', 'Default' => ''),
     168      'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     169      'Price' => array('Type' => 'Float', 'Caption' => 'Cena', 'Default' => 0),
     170      'Count' => array('Type' => 'Integer', 'Caption' => 'Počet', 'Default' => 1),
     171      'Date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'),
     172      'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Segment sítě', 'Default' => 0),
     173      'Date' => array('Type' => 'Time', 'Caption' => 'Datum zakoupení', 'Default' => 'Now'),
     174      'Used' => array('Type' => 'TNetworkDeviceState', 'Caption' => 'Stav', 'Default' => 0),
     175      'Consumption' => array('Type' => 'Integer', 'Caption' => 'Spotřeba', 'Default' => 0),
     176      'User' => array('Type' => 'TFinanceSubject', 'Caption' => 'Subjekt', 'Default' => 0),
     177      'Info' => array('Type' => 'String', 'Caption' => 'Poznámky', 'Default' => ''),
     178      'Shop' => array('Type' => 'String', 'Caption' => 'Obchod', 'Default' => ''),
     179      'DeviceId' => array('Type' => 'String', 'Caption' => 'Sériové číslo', 'Default' => ''),
    145180    ),
    146181  ),
     
    227262  'TNetworkDevice' => array(
    228263    'Type' => 'Reference',
    229     'Table' => 'Product',
    230     'Id' => 'id',
    231     'Name' => 'name',
     264    'Table' => 'NetworkDevice',
     265    'Id' => 'Id',
     266    'Name' => 'Name',
     267    'Filter' => '1',
     268  ),
     269  'TNetworkDeviceType' => array(
     270    'Type' => 'Reference',
     271    'Table' => 'NetworkDeviceType',
     272    'Id' => 'Id',
     273    'Name' => 'Name',
    232274    'Filter' => '1',
    233275  ),
     
    235277    'Type' => 'Reference',
    236278    'Table' => 'NetworkInterface',
     279    'Id' => 'Id',
     280    'Name' => 'Name',
     281    'Filter' => '1',
     282  ),
     283  'TNetworkInterfaceType' => array(
     284    'Type' => 'Reference',
     285    'Table' => 'NetworkInterfaceType',
    237286    'Id' => 'Id',
    238287    'Name' => 'Name',
     
    262311);
    263312
     313
    264314?>
  • trunk/forms.php

    r426 r430  
    6060          break;
    6161        case 'Time':
     62          if($this->Values[$Index] == 'Now') $this->Values[$Index] = date('G:i:s');
     63          $Edit = '<input style="width: 98%;" type="text" name="'.$Context.$Index.'" value="'.$this->Values[$Index].'" />';
     64          break;
     65        case 'Date':
    6266          if($this->Values[$Index] == 'Now') $this->Values[$Index] = date('j.n.Y');
     67          $Edit = '<input style="width: 98%;" type="text" name="'.$Context.$Index.'" value="'.$this->Values[$Index].'" />';
     68          break;
     69        case 'DateTime':
     70          if($this->Values[$Index] == 'Now') $this->Values[$Index] = date('j.n.Y G:i:s');
    6371          $Edit = '<input style="width: 98%;" type="text" name="'.$Context.$Index.'" value="'.$this->Values[$Index].'" />';
    6472          break;
  • trunk/global.php

    r428 r430  
    9393{
    9494  var $Modules = array();
    95 
     95  /** @var Type */
     96  var $Type;
     97
     98  function __construct()
     99  {
     100    parent::__construct();
     101    $this->Type = new Type($this);
     102  }
     103 
    96104  function ModulePresent($Name)
    97105  {
     
    229237  $System->AddModule(new Finance());
    230238  $System->Modules['Finance']->LoadMonthParameters(0);
    231 
    232   $Type = new Type($System);
    233239}
    234240
  • trunk/index.php

    r427 r430  
    8787    if($this->System->Modules['User']->CheckPermission('Network', 'Administration'))
    8888      $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/network/administration.php">Správa sítě</a><br />';
     89    if($this->System->Modules['User']->CheckPermission('IS', 'Manage'))
     90      $Output .= '<a href="'.$this->System->Link('/is/').'">Správa dat</a><br />';
    8991    return($Output);
    9092  }
  • trunk/is/index.php

    r429 r430  
    1414    global $FormClasses;
    1515     
    16     //if(!$this->System->Modules['User']->CheckPermission('IS', 'Manage'))
    17     //  return('Nemáte oprávnění');
     16    if(!$this->System->Modules['User']->CheckPermission('IS', 'Manage'))
     17      return('Nemáte oprávnění');
    1818
    1919    $DbResult = $this->Database->select('ISMenuItem', '*');
     
    2424   
    2525    $Output = '<table style="width: 100%"><tr><td style="width: 20%; vertical-align: top;">';
    26     $Output .= $this->ShowMenuItem('');
     26    $Output .= '<strong>Nabídka:</strong><br/>'.$this->ShowMenuItem('');
    2727    $Output .= '</td><td style="width: 80%; vertical-align: top;">';
    28     if(array_key_exists('t', $_GET))
     28   
     29    if(array_key_exists('t', $_GET)) $_SESSION['Table'] = $_GET['t'];
     30    if(array_key_exists('a', $_GET)) $_SESSION['Action'] = $_GET['a'];
     31    if(array_key_exists('id', $_GET)) $_SESSION['Id'] = $_GET['id'];
     32   
     33    if($_SESSION['Action'] == 'list')
    2934    {
    30       $DbResult = $this->Database->select('ISMenuItem', '*', 'Id='.$_GET['t'] * 1);
    31       $MenuItem = $DbResult->fetch_assoc();
    32       $Output .= $this->ShowTable($FormClasses[$MenuItem['Table']]);
     35      if(array_key_exists('Table', $_SESSION))
     36        $Output .= $this->ShowTable($FormClasses[$_SESSION['Table']]);
     37    } else
     38    if($_SESSION['Action'] == 'edit')
     39    {
     40      $Form = new Form($_SESSION['Table']);
     41      $Form->LoadValuesFromDatabase($_SESSION['Id']);
     42      $Form->OnSubmit = '?a=view';
     43      $Output .= $Form->ShowEditForm();
     44    } else
     45    if($_SESSION['Action'] == 'view')
     46    {
     47   
     48    } else
     49    if($_SESSION['Action'] == 'delete')
     50    {
     51   
    3352    }
    3453    $Output .= '</td></tr></table>';
     
    5069    foreach($FormClass['Items'] as $ItemIndex => $FormItem)
    5170      $TableColumns[] = array('Name' => $ItemIndex, 'Title' => $FormItem['Caption']);
     71    $TableColumns[] = array('Name' => '', 'Title' => 'Akce');
    5272    $Order = GetOrderTableHeader($TableColumns, 'Name', 0);
    5373    $Output .= $Order['Output'];
    5474
    5575    $Query = 'SELECT * FROM `'.$FormClass['Table'].'` '.$Order['SQL'].$PageList['SQLLimit'];
    56 
     76   
    5777    $DbResult = $this->Database->query($Query);
    5878    while($Row = $DbResult->fetch_assoc())
     
    6383        //$Output .= '<td>'.$Row[$ItemIndex].'</td>';
    6484        if(array_key_exists($FormItem['Type'], $FormTypes))
    65            $Output .= '<td>'.$Type->ExecuteTypeEvent('OneToMany', 'OnView',
     85        {
     86          if(!array_key_exists($FormItem['Type'], $this->System->Type->TypeDefinitionList))
     87            $this->System->Type->RegisterType($FormItem['Type'], '',
     88              $FormTypes[$FormItem['Type']]);
     89          $Output .= '<td>'.$this->System->Type->ExecuteTypeEvent('OneToMany', 'OnView',
    6690            array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex,
    67             'Type' => array('Parameters' => array($FormTypes[$FormItem['Type']]))).'</td>';
    68         else $Output .= '<td>'.$Type->ExecuteTypeEvent($FormItem['Type'], 'OnView',
     91            'Type' => $FormItem['Type'])).'</td>';
     92        } else $Output .= '<td>'.$this->System->Type->ExecuteTypeEvent($FormItem['Type'], 'OnView',
    6993          array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex)).'</td>';
    7094      }
     95      $Output .= '<td><a href="?a=view&amp;id='.$Row['Id'].'"><img alt="Ukázat" title="Ukázat" src="'.
     96        $this->System->Link('/images/view.png').'"/></a>'.
     97        '<a href="?a=edit&amp;id='.$Row['Id'].'"><img alt="Upravit" title="Upravit" src="'.
     98        $this->System->Link('/images/edit.png').'"/></a>'.
     99        '<a href="?a=delete&amp;id='.$Row['Id'].'"><img alt="Smazat" title="Smazat" src="'.
     100        $this->System->Link('/images/delete.png').'"/></a></td>';
    71101      $Output .= '</tr>';
    72102    }
    73103    $Output .= '</table>';
    74104    $Output .= $PageList['Output'];
     105    $Output .= '<br/><div style="text-align: center;"><a href="?a=add"><img alt="Přidat" title="Přidat" src="'.
     106        $this->System->Link('/images/add.png').'"/></a></div>';
    75107    return($Output);
    76108  }
     
    78110  function ShowMenuItem($Parent)
    79111  {
    80     $Output = '<ul>';
     112    $Output = '<ul style="list-style: none; margin-left:1em; padding-left:0em;">';
    81113    foreach($this->MenuItems as $MenuItem)
    82114    if($MenuItem['Parent'] == $Parent)
    83115    {
    84116      $LinkTitle = $MenuItem['Name'];
    85       if($MenuItem['Table'] != '') $LinkTitle = MakeLink('?t='.$MenuItem['Id'], $LinkTitle);
     117      if($MenuItem['Table'] != '') $LinkTitle = MakeLink('?t='.$MenuItem['Table'].'&amp;a=list', $LinkTitle);
    86118      $Output .= '<li>'.$LinkTitle.'</li>';
    87119      $Output .= $this->ShowMenuItem($MenuItem['Id']);
Note: See TracChangeset for help on using the changeset viewer.