/** * Define columns */ protected static function _columns($page = 'index') { $columns_for = array('view' => array('mk_id' => array('label' => 'MK No.', 'grid' => array('process' => function ($data) { return Petro_Lookup::table('docmk', 'id', 'mk_no', $data->mk_id); })), 'suggest_roll', 'length', 'remark', 'user_id')); if ($page == 'index') { $columns_for['view']['_action_'] = Petro_Grid::default_actions(); return $columns_for['view']; } return $columns_for[$page]; }
protected static function _columns() { $columns = array('id' => array('label' => 'ID', 'grid' => array('visible' => true, 'sortable' => true)), 'name' => array('label' => 'Name', 'grid' => array('process' => function ($data, $value) { $prof = unserialize($data->profile_fields); return $prof['first_name'] . ' ' . $prof['last_name']; })), 'username' => array('label' => 'Username', 'grid' => array('visible' => true, 'sortable' => true)), 'group' => array('label' => 'Group', 'grid' => array('visible' => true, 'sortable' => true, 'process' => function ($data, $value) { return static::$groups[$data->group]; })), 'email' => array('label' => 'Email', 'grid' => array('visible' => true, 'sortable' => false)), 'last_login' => array('label' => 'Last Login', 'grid' => array('visible' => true, 'sortable' => false, 'process' => function ($data, $value) { return empty($data->last_login) ? '<span class="label warning">Never</span>' : '<span class="label">' . \Date::forge($data->last_login)->format('%Y-%m-%d %H:%M') . '</span>'; })), '_action_' => Petro_Grid::default_actions()); return $columns; }
/** * Define columns */ protected static function _columns($page = 'index') { $columns_for = array('view' => array('id' => array('required' => true), 'mk_no' => array('required' => true), 'mk_date' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro::to_app_date($data->mk_date); })), 'client_id' => array('required' => true), 'client_po', 'delivery_date' => array('grid' => array('process' => function ($data) { return Petro::to_app_date($data['delivery_date']); })), 'deliver_to', 'product_type' => array('grid' => array('process' => function ($data) { return Petro_Lookup::get('product.type', $data->product_type); })), 'belt_type' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.type', $data['belt_type']); })), 'belt_color' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.color', $data['belt_color']); })), 'belt_width' => array('required' => true, 'grid' => array('process' => function ($data) { return $data->belt_width . ' ' . Petro_Lookup::get('belt.w.unit', $data->belt_width_unit); })), 'belt_width_unit' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.w.unit', $data['belt_width_unit']); })), 'belt_ply' => array('required' => true), 'belt_ep' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.ep', $data['belt_ep']); })), 'belt_grade' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.grade', $data['belt_grade']); })), 'belt_top_grade', 'belt_bot_grade', 'belt_thick' => array('required' => true), 'belt_top_thick' => array('required' => true), 'belt_bot_thick' => array('required' => true), 'belt_length' => array('required' => true), 'belt_length_unit' => array('required' => true), 'belt_end' => array('required' => true, 'grid' => array('process' => function ($data) { return Petro_Lookup::get('belt.end', $data['belt_end']); })), 'belt_qty' => array('required' => true), 'belt_price', 'belt_disc1' => array('label' => 'Discount1'), 'belt_disc2' => array('label' => 'Discount2'), 'belt_disc3' => array('label' => 'Discount3'), 'belt_price_net', 'belt_amount', 'remark', 'creator_id', 'creator_name', 'status'), 'index' => array('id' => array('visible' => false), 'mk_no' => array('label' => __('mk_no'), 'grid' => array('sortable' => true, 'process' => function ($data) { return '<a href="' . Uri::base() . Uri::segment(1) . '/view/' . $data->id . '">' . $data->mk_no . '</a>'; })), 'mk_date' => array('label' => __('mk_date'), 'grid' => array('format' => 'date', 'sortable' => true)), 'client_id' => array('label' => __('client_id'), 'grid' => array('sortable' => true, 'process' => function ($data) { return Petro_Lookup::table('clients', 'id', 'code', $data->client_id); })), 'belt_info' => array('label' => __('belt_info'), 'grid' => array('process' => function ($data) { return BeltInfo::short($data); })), 'belt_qty' => array('label' => __('belt_qty'), 'grid' => array('align' => 'right', 'process' => function ($data) { return $data->belt_qty . ' ' . __('belt_piece'); })), 'belt_price_net' => array('label' => __('belt_price_net'), 'grid' => array('align' => 'right', 'format' => 'number')), 'belt_amount' => array('label' => __('belt_amount'), 'grid' => array('align' => 'right', 'format' => 'number')), 'status' => array('label' => __('status'), 'grid' => array('process' => function ($data) { $t = ''; switch ($data->status) { case 0: $t = 'warning'; break; case 1: $t = 'success'; break; case 2: $t = ''; break; default: $t = 'important'; } return '<span class="label ' . $t . '">' . Petro_Lookup::get('prd.status', $data->status) . '</span>'; })), '_action_' => Petro_Grid::default_actions())); return $columns_for[$page]; }