| Conditions | 4 |
| Paths | 1 |
| Total Lines | 60 |
| Code Lines | 42 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 3 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 85 | protected function grid() |
||
| 86 | { |
||
| 87 | $grid=new Grid(new Submission); |
||
| 88 | $grid->column('sid', "ID")->sortable(); |
||
| 89 | $grid->column("time", __('admin.submissions.time'))->display(function($time) { |
||
| 90 | return __('admin.submissions.timeFormat', ['time'=>$time]); |
||
| 91 | }); |
||
| 92 | $grid->column("memory", __('admin.submissions.memory'))->display(function($memory) { |
||
| 93 | return __('admin.submissions.memoryFormat', ['memory'=>$memory]); |
||
| 94 | }); |
||
| 95 | $grid->column('verdict', __('admin.submissions.verdict'))->display(function($verdict) { |
||
| 96 | return '<i class="fa fa-circle '.$this->color.'"></i> '.$verdict; |
||
| 97 | }); |
||
| 98 | $grid->column("language", __('admin.submissions.language')); |
||
| 99 | $grid->column("submission_date", __('admin.submissions.submission_date'))->display(function($submission_date) { |
||
| 100 | return date("Y-m-d H:i:s", $submission_date); |
||
| 101 | }); |
||
| 102 | $grid->column("user_name", __('admin.submissions.user_name'))->display(function() { |
||
| 103 | return $this->user->readable_name; |
||
| 104 | }); |
||
| 105 | $grid->column("contest_name", __('admin.submissions.contest_name'))->display(function() { |
||
| 106 | if (!is_null($this->contest)) { |
||
| 107 | return $this->contest->name; |
||
| 108 | } |
||
| 109 | }); |
||
| 110 | $grid->column("readable_name", __('admin.submissions.readable_name'))->display(function() { |
||
| 111 | return $this->problem->readable_name; |
||
| 112 | }); |
||
| 113 | $grid->column("judger_name", __('admin.submissions.judger_name'))->display(function() { |
||
| 114 | return $this->judger_name; |
||
| 115 | }); |
||
| 116 | $grid->column("share", __('admin.submissions.share'))->switch(); |
||
| 117 | $grid->column("parsed_score", __('admin.submissions.parsed_score'))->display(function() { |
||
| 118 | return $this->parsed_score; |
||
| 119 | }); |
||
| 120 | $grid->filter(function(Grid\Filter $filter) { |
||
| 121 | $filter->column(6, function($filter) { |
||
| 122 | $filter->like('verdict', __('admin.submissions.verdict')); |
||
| 123 | }); |
||
| 124 | $filter->column(6, function($filter) { |
||
| 125 | $filter->equal('cid', __('admin.submissions.cid'))->select(Contest::all()->pluck('name', 'cid')); |
||
| 126 | $filter->equal('uid', __('admin.submissions.uid'))->select(function($id) { |
||
| 127 | $user=User::find($id); |
||
| 128 | if ($user) { |
||
| 129 | return [$user->id => $user->readable_name]; |
||
| 130 | } |
||
| 131 | })->config('minimumInputLength', 4)->ajax(route('admin.api.users')); |
||
| 132 | $filter->equal('pid', __('admin.submissions.pid'))->select(function($pid) { |
||
| 133 | $problem=Problem::find($pid); |
||
| 134 | if ($problem) { |
||
| 135 | return [$problem->pid => $problem->readable_name]; |
||
| 136 | } |
||
| 137 | })->config('minimumInputLength', 4)->ajax(route('admin.api.problems')); |
||
| 138 | $filter->equal('share', __('admin.submissions.share'))->select([ |
||
| 139 | 0 => __('admin.submissions.disableshare'), |
||
| 140 | 1 => __('admin.submissions.enableshare') |
||
| 141 | ]); |
||
| 142 | }); |
||
| 143 | }); |
||
| 144 | return $grid; |
||
| 145 | } |
||
| 253 |