コード例 #1
0
ファイル: Columns.php プロジェクト: nikulinsanya/exeltek
 private static function init()
 {
     $columns = DB::select()->from('job_columns')->execute()->as_array();
     $result = DB::select('column_id', 'permissions', 'search')->from('group_columns')->where('group_id', '=', Group::current('id'))->execute();
     $permissions = $result->as_array('column_id', 'permissions');
     $search = $result->as_array('column_id', 'search');
     foreach ($columns as $column) {
         self::$all[$column['id']] = $column['name'];
         self::$types[$column['id']] = $column['type'];
         self::$tabs[$column['id']] = $column['tab_id'];
         if ($column['csv']) {
             self::$csv[$column['id']] = $column['name'];
         }
         if ($column['direct']) {
             self::$direct[$column['id']] = $column['name'];
         }
         if ($column['show_reports']) {
             self::$static[$column['id']] = $column['show_reports'];
         }
         if (Arr::get($permissions, $column['id'])) {
             self::$permissions[$column['id']] = Arr::get($permissions, $column['id']);
         }
         if (Arr::get($search, $column['id'])) {
             self::$search[$column['id']] = Arr::get($search, $column['id']);
         }
         if ($column['track']) {
             self::$track[$column['id']] = $column['id'];
         }
         if ($column['persistent']) {
             self::$persistent[$column['id']] = $column['id'];
         }
         if ($column['read_only']) {
             self::$readonly[$column['id']] = $column['id'];
         }
         if (floatval($column['financial'])) {
             self::$financial[$column['id']] = floatval($column['financial']);
         }
     }
     if (Group::current('is_admin')) {
         self::$columns = self::$all;
         self::$search = self::$static;
     } else {
         self::$columns = array_intersect_key(self::$all, self::$permissions);
     }
 }