Ignore:
Timestamp:
Oct 14, 2013, 12:26:30 AM (11 years ago)
Author:
chronos
Message:
  • Přidáno: Možnost určovat položky formulářových typů jako virtuální zadané jako SQL poddotaz.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Form/Form.php

    r570 r581  
    136136            $UseType = 'Enumeration';
    137137        } else $UseType = $Item['Type'];
     138      if(!array_key_exists('SQL', $Item)) $Item['SQL'] = '';
     139        else $Item['SQL'] = str_replace('#Id', $Id, $Item['SQL']);
    138140      $Columns[] = $this->FormManager->Type->ExecuteTypeEvent($UseType, 'OnFilterNameQuery',
    139         array('Name' => $Index, 'Type' => $Item['Type']));
     141        array('Name' => $Index, 'Type' => $Item['Type'], 'SQL' => $Item['SQL']));
    140142    }
    141143    $Columns = implode(',', $Columns);
     
    227229            $this->FormManager->Type->RegisterType($Item['Type'], '',
    228230              $this->FormManager->FormTypes[$Item['Type']]);
    229           if($this->FormManager->FormTypes[$Item['Type']]['Type'] == 'Reference')
    230             $UseType = 'OneToMany';
    231           else if($this->FormManager->FormTypes[$Item['Type']]['Type'] == 'Enumeration')
     231          $CustomType = $this->FormManager->FormTypes[$Item['Type']]['Type'];
     232          if($CustomType == 'Reference')
     233            $UseType = 'OneToMany';
     234          else if($CustomType == 'Enumeration')
    232235            $UseType = 'Enumeration';
    233236        } else $UseType = $Item['Type'];
Note: See TracChangeset for help on using the changeset viewer.