コード例 #1
0
 /**
  * Returns a new form of the specified work order report.
  *
  * @param WorkOrder       $workOrder
  * @param WorkOrderReport $report
  *
  * @return \Orchestra\Contracts\Html\Builder
  */
 public function form(WorkOrder $workOrder, WorkOrderReport $report)
 {
     return $this->form->of('work-orders.report', function (FormGrid $form) use($workOrder, $report) {
         if ($report->exists) {
             $method = 'PATCH';
             $url = route('maintenance.work-orders.report.update', [$workOrder->getKey(), $report->getKey()]);
             $form->submit = 'Save';
         } else {
             $method = 'POST';
             $url = route('maintenance.work-orders.report.store', [$workOrder->getKey()]);
             $form->submit = 'Create';
         }
         $form->attributes(compact('method', 'url'));
         $form->with($report);
         $form->fieldset(function (Fieldset $fieldset) use($workOrder) {
             $fieldset->control('select', 'status')->options(function () {
                 $statuses = Status::all()->pluck('name', 'id');
                 $statuses[0] = 'None';
                 return $statuses;
             })->value(function () use($workOrder) {
                 if ($workOrder->status instanceof Status) {
                     return $workOrder->status->getKey();
                 }
             })->attributes(['class' => 'select2']);
             $fieldset->control('input:textarea', 'description');
         });
     });
 }