public function handle() { $script = ''; foreach ($this->table->hasHasManyRelationList() as $relation) { $fromField = Field::find($relation['from_field_id']); $toModel = Table::find($relation['to_model_id']); $script .= $this->tab1 . 'public function ' . $relation['methodName'] . '(Request $request, ' . $this->table->model . ' $' . $this->table->variable . ')' . "\n"; $script .= $this->tab1 . '{' . "\n"; $script .= $this->tab2; $script .= '$' . $toModel->variablePlural . ' = $' . $this->table->variable . '->' . $relation['methodName'] . ';' . "\n"; if ($toModel->hasBelongsToRelation()) { $script .= $this->tab2; $script .= '$' . $toModel->variablePlural . ' -> load('; foreach ($toModel->belongsToRelationList() as $relation) { $script .= '\'' . $relation['methodName'] . '\', '; } $script = trim($script); $script = rtrim($script, ','); $script .= ');'; } $script .= "\n"; $script .= $this->tab2 . 'return response([\'data\' => $' . $toModel->variablePlural . ', \'status\' => \'success\', \'message\'=>\'\']);' . "\n" . "\n"; $script .= $this->tab1 . '}' . "\n\n"; } return $script; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update(Request $request, $field_obj) { $field = Field::find($field_obj->id); $field->student_label = $request->get('student_label'); $field->save(); return redirect()->back(); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($field, Request $request) { $field = Field::find($field->id); $field->category_label = $request->get('field'); $field->save(); $field->touch(); return redirect()->back(); }
public function processReportFields() { foreach ($this->reportFields as $report_field) { $report_field->field = Field::find($report_field->fieldId); $report_field->data = $this->processReportField($report_field); } return $this->reportFields; }
public function getModfield($id) { $field = Field::find($id); $request = InterRequest::find($field->requestid); $data = $this->LoadDataByID($request->id); for ($i = 0; $i < sizeof($data); $i++) { unset($data[$i][strtolower($field->name)]); } $arr = array(); $number = 0; $arr[$number++] = array_keys($data[0]); foreach ($data as $value) { $arr[$number++] = array_values($value); } $field->delete(); if (!$field->trashed()) { return $this->getRequest($request->id); } $this->SaveData($request->id, $arr); return $this->getRequest($request->id); }
public function handle() { $script = '<?php' . "\n\n"; $script .= "Route::group(['prefix'=>'api/" . $this->devis->app_name . "'], function () {" . "\n"; foreach ($this->devis->tables as $table) { if ($table->model != '') { $script .= "\t" . 'Route::resource("' . $table->name . '", "' . $table->controllerRouteApiClass() . '");' . "\n"; } if ($table->hasHasBelongsToRelation()) { $script .= "\t" . 'Route::get("' . $table->name . '/{' . $table->variable . '}/showWithRelations", "' . $table->controllerRouteApiClass() . '@showWithRelations");' . "\n"; } foreach ($table->hasHasManyRelationList() as $relation) { // var_dump($relation); $fromField = Field::find($relation['from_field_id']); $fromModel = Table::find($relation['model_id']); $toModel = Table::find($relation['to_model_id']); $script .= "\t\t" . 'Route::get("' . $table->name . '/{' . $fromModel->variable . '}/' . $relation['methodName'] . '", "' . $table->controllerRouteApiClass() . '@' . $relation['methodName'] . '");' . "\n"; } if ($this->getSpecialVueComponentList($table)) { $script .= "\n\n"; $script .= "//get Special Vue Component"; $script .= "\n"; foreach ($this->getSpecialVueComponentList($table) as $specialView) { $specialView = '\\Organit\\bootstrapping\\Vue\\MiddlesepcialComponentViews\\' . $this->devis->app_name . '\\' . $specialView; $script .= "\t\t" . (new $specialView($this->devis, $table))->CoreSpecialCompo()->RoutePHPLine(); $script .= "\n"; } } $script .= "\n\n"; } $script .= "});"; $this->createFile('../app/Http/' . $this->devis->app_name . '_api.php', $this->devis->app_name, $script); echo "<h1>-->Copier dans app\\Providers\\RouteServiceProvider.php</h1>"; echo "<pre>"; echo "\n require app_path('Http/" . $this->devis->app_name . "_routes.php');\n require app_path('Http/" . $this->devis->app_name . "_api.php');"; echo "</pre>"; echo '<a href="/' . $this->devis->app_name . '">Test Route</a>'; }
@if(isset($relation->pivot->laravel_name) && in_array($relation->pivot->laravel_name , ['hasMany', 'MorphToMany' ])) <?php $related_table = \App\Field::find($relation->pivot->to_field_id)->table()->first(); ?> <a href="{{route('admin.devis.{devis}.admin.table.edit', [$devis->id, $related_table->id])}}"><h3>{{$related_table->name }}</h3></a> {{$relation->pivot->to_field_id}} - {{\App\Field::find($relation->pivot->to_field_id)->name }} <span style="color:#ccc">(<i>{{App\Field::find($relation->pivot->to_field_id)->type->name }}</i>)</span> <b>{{\App\Field::find($relation->pivot->to_field_id)->table->first()->name }}</b><br> <i>{{\App\Field::find($relation->pivot->to_field_id)->name }}</i> @elseif($relation->pivot->laravel_name == 'belongsToMany') <?php // dd(\App\Field::find($relation->pivot->on_field_id)->table->get()); $related_table = \App\Table::find($relation->pivot->to_model); $related_field = \App\Field::find($relation->pivot->on_field_id); ?> <a href="{{route('admin.devis.{devis}.admin.table.edit', [$devis->id, $related_table->id])}}"><h3>{{$related_table->name }}</h3></a> {{-- {{dd($related_fields->)}} --}} {{$related_field->id}} - {{$related_field->name }} <span style="color:#ccc">(<i>{{$related_field->type->name }}</i>)</span> @endif </div> <div class="col-md-1"> {!! Form::open([ 'method'=>'DELETE', 'route' => ['admin.devis.{devis}.relation.delete', $devis->id,$relation->pivot->from_field_id ,$relation->pivot->to_field_id], 'style' => 'display:inline' ]) !!}
public function edit_announcement($id) { $fields = Field::orderBy('name')->lists('name', 'id'); $terms = Term::lists('name', 'id'); $municipalities = Municipality::lists('name', 'id'); $regions = Region::lists('name', 'id'); $type = array(0 => 'ვატარებ', 1 => 'ვეძებ'); $quarter = Quarter::all()->lists('name', 'id'); $months = Month::all()->lists('name', 'id'); $select = DB::select(' SELECT trainings.id, field_training.field_id, term_training.term_id, municipality_training.municipality_id, month_training.month_id FROM trainings JOIN field_training ON trainings.id = field_training.training_id JOIN term_training ON trainings.id = term_training.training_id JOIN municipality_training ON trainings.id = municipality_training.training_id JOIN month_training ON trainings.id = month_training.training_id where trainings.id = ' . $id . ' group by trainings.id '); $select = $select[0]; $training_filtered = new \stdClass(); $training_instance = Training::find($select->id); $training_field = Field::find($select->field_id); $training_municipality = Municipality::find($select->municipality_id); $training_months = DB::select('SELECT months.name FROM month_training JOIN months ON months.id = month_training.month_id WHERE training_id = ' . $training_instance->id); $training_terms = DB::select('SELECT terms.name FROM term_training JOIN terms ON terms.id = term_training.term_id WHERE training_id = ' . $training_instance->id); foreach ($training_months as $month) { $training_months_array[] = $month->name; } foreach ($training_terms as $term) { $training_terms_array[] = $term->name; } $training_filtered->id = $training_instance->id; $training_filtered->header = $training_instance->name; $training_filtered->description = $training_instance->description; $training_filtered->file = $training_instance->file; $training_filtered->link = $training_instance->link; $training_filtered->field['name'] = $training_field->name; $training_filtered->field['id'] = $training_field->id; $training_filtered->months = $training_months_array; $training_filtered->terms = $training_terms_array; $training_filtered->municipality['name'] = $training_municipality->name; $training_filtered->municipality['id'] = $training_municipality->id; $training_filtered->region = $training_municipality->region_id; $training_filtered->isAdmin = Auth::check(); return view('edit.edit_announcement', ['fields' => $fields, 'terms' => $terms, 'regions' => $regions, 'municipalities' => $municipalities, 'quarter' => $quarter, 'month' => $months, 'type' => $type, 'training' => $training_filtered]); }
/** * * Mass assign a value to many records at once, similar to update, but loops through all of them * * @param $pid * @param $fid * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function massAssignRecords($pid, $fid, Request $request) { if (!$this->checkPermissions($fid, 'modify')) { return redirect()->back(); } $flid = $request->input("field_selection"); if (!is_numeric($flid)) { flash()->overlay("That is not a valid field"); return redirect()->back(); } if ($request->has($flid)) { $form_field_value = $request->input($flid); //Note this only works when there is one form element being submitted, so if you have more, check Date } else { flash()->overlay("You didn't provide a value to assign to the records", "Whoops."); return redirect()->back(); } if ($request->has("overwrite")) { $overwrite = $request->input("overwrite"); //Overwrite field in all records, even if it has data } else { $overwrite = 0; } $field = Field::find($flid); foreach (Form::find($fid)->records()->get() as $record) { if ($field->type == "Text") { $matching_record_fields = $record->textfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $textfield = $matching_record_fields->first(); if ($overwrite == true || $textfield->text == "" || is_null($textfield->text)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $textfield->text = $form_field_value; $textfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $tf = new TextField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $tf->flid = $field->flid; $tf->rid = $record->rid; $tf->text = $form_field_value; $tf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Rich Text") { $matching_record_fields = $record->richtextfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $richtextfield = $matching_record_fields->first(); if ($overwrite == true || $richtextfield->rawtext == "" || is_null($richtextfield->rawtext)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $richtextfield->rawtext = $form_field_value; $richtextfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $rtf = new RichTextField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $rtf->flid = $field->flid; $rtf->rid = $record->rid; $rtf->rawtext = $form_field_value; $rtf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Number") { $matching_record_fields = $record->numberfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $numberfield = $matching_record_fields->first(); if ($overwrite == true || $numberfield->number == "" || is_null($numberfield->number)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $numberfield->number = $form_field_value; $numberfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $nf = new NumberField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $nf->flid = $field->flid; $nf->rid = $record->rid; $nf->number = $form_field_value; $nf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "List") { $matching_record_fields = $record->listfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $listfield = $matching_record_fields->first(); if ($overwrite == true || $listfield->option == "" || is_null($listfield->option)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $listfield->option = $form_field_value; $listfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $lf = new ListField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $lf->flid = $field->flid; $lf->rid = $record->rid; $lf->option = $form_field_value; $lf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Multi-Select List") { $matching_record_fields = $record->multiselectlistfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $multiselectlistfield = $matching_record_fields->first(); if ($overwrite == true || $multiselectlistfield->options == "" || is_null($multiselectlistfield->options)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $multiselectlistfield->options = implode("[!]", $form_field_value); $multiselectlistfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $mslf = new MultiSelectListField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $mslf->flid = $field->flid; $mslf->rid = $record->rid; $mslf->options = implode("[!]", $form_field_value); $mslf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Generated List") { $matching_record_fields = $record->generatedlistfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $generatedlistfield = $matching_record_fields->first(); if ($overwrite == true || $generatedlistfield->options == "" || is_null($generatedlistfield->options)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $generatedlistfield->options = implode("[!]", $form_field_value); $generatedlistfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $glf = new GeneratedListField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $glf->flid = $field->flid; $glf->rid = $record->rid; $glf->options = implode("[!]", $form_field_value); $glf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Date") { $matching_record_fields = $record->datefields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $datefield = $matching_record_fields->first(); if ($overwrite == true || $datefield->month == "" || is_null($datefield->month)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $datefield->circa = $request->input('circa_' . $flid, ''); $datefield->month = $request->input('month_' . $flid); $datefield->day = $request->input('day_' . $flid); $datefield->year = $request->input('year_' . $flid); $datefield->era = $request->input('era_' . $flid, 'CE'); $datefield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $df = new DateField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $df->circa = $request->input('circa_' . $flid, ''); $df->month = $request->input('month_' . $flid); $df->day = $request->input('day_' . $flid); $df->year = $request->input('year_' . $flid); $df->era = $request->input('era_' . $flid, 'CE'); $df->rid = $record->rid; $df->flid = $flid; $df->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Schedule") { $matching_record_fields = $record->schedulefields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $schedulefield = $matching_record_fields->first(); if ($overwrite == true || $schedulefield->events == "" || is_null($schedulefield->events)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $schedulefield->events = implode("[!]", $form_field_value); $schedulefield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $sf = new ScheduleField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $sf->flid = $field->flid; $sf->rid = $record->rid; $sf->events = implode("[!]", $form_field_value); $sf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } elseif ($field->type == "Geolocator") { $matching_record_fields = $record->geolocatorfields()->where("flid", '=', $flid)->get(); $record->updated_at = Carbon::now(); $record->save(); if ($matching_record_fields->count() > 0) { $geolocatorfield = $matching_record_fields->first(); if ($overwrite == true || $geolocatorfield->locations == "" || is_null($geolocatorfield->locations)) { $revision = RevisionController::storeRevision($record->rid, 'edit'); $geolocatorfield->locations = implode("[!]", $form_field_value); $geolocatorfield->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } else { continue; } } else { $gf = new GeolocatorField(); $revision = RevisionController::storeRevision($record->rid, 'edit'); $gf->flid = $field->flid; $gf->rid = $record->rid; $gf->locations = implode("[!]", $form_field_value); $gf->save(); $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); } } } flash()->overlay("The records were updated", "Good Job!"); return redirect()->action('RecordController@index', compact('pid', 'fid')); }
public function handle() { // dd('<-----FORM------->',$this->devis, $this->table ,$this->view); $viewScript = "@extends('layouts." . $this->table->the_namespace->theme->name . "')" . "\n\n"; $viewScript .= "@section('menu')" . "\n"; $viewScript .= $this->tab1 . "@include('" . $this->devis->app_name . "." . $this->table->the_namespace->name . "/" . $this->menuFileNameUsed() . "')" . "\n"; $viewScript .= "@endsection" . "\n"; $basePath = $this->table->devis->app_name . '.' . $this->table->the_namespace->name . "." . $this->table->variable; if ($this->table->the_namespace->name == 'Web') { $basePath = $this->table->devis->app_name . "." . $this->table->variable; } $viewScript .= "\n@section('content')\n <h1>" . $this->title . "</h1>\n <a href='{{ route('" . $basePath . ".create') }}' class='btn btn-success btn-sm'><i class='fa fa-plus'></i> Create</a>\n" . "\n\n"; $primary = ''; if ($this->table->getPrimaries()->first()) { // dd($primary, ) $primary = $this->table->getPrimaries()->first()->name; # code... } else { $viewScript .= "\n <div class='alert alert-error'>PAs de primary yey sur cette table - - les liens edt et create ne fonctionne pas</div>\n\n "; } $viewScript .= "\n<div class='table-responsive'>\n <table class='table table-striped table-bordered table-hover dataTables-example' data-toggle='table' data-search='true' data-show-columns='true' data-pagination='true' data-height='750'>\n <thead>\n <tr>\n <th>Actions</th>"; foreach ($this->table->fields()->where('is_on_index_view', 1)->orderBy('order', 'asc')->get() as $field) { $viewScript .= "\n <th>" . $field->label . "</th>"; } $viewScript .= "\n </tr>\n</thead>\n<tbody>\n @forelse(\$" . $this->table->variablePlural . " as \$" . $this->table->variable . ")\n<tr>\n\n\n\n <td>\n\n {{--\n <a href='{{ route('" . $basePath . ".edit', [\$" . $this->table->variable . "->" . $primary . "]) }}'><i class='fa fa-edit'></i></a>\n <a href='{{ route('" . $basePath . ".delete', [\$" . $this->table->variable . "->" . $primary . "]) }}'><i class='fa fa-times'></i></a>\n --}}\n\n <a href='{{ route('" . $basePath . ".edit', [\$" . $this->table->variable . "->" . $primary . "]) }}'><i class='fa fa-edit'></i></a>\n {!! Form::open([\n 'method'=>'DELETE',\n 'route' => ['" . $basePath . ".destroy', \$" . $this->table->variable . "->" . $primary . "],\n 'style' => 'display:inline'\n ]) !!}\n {!! Form::submit('Delete', ['class' => 'btn btn-danger btn-xs', 'onclick'=>'return confirm()']) !!}\n {!! Form::close() !!}\n\n\n </td>\n"; foreach ($this->table->fields()->where('is_on_index_view', 1)->orderBy('order', 'asc')->get() as $field) { $hasBelongsToRelation = false; // echo "--------------------------------------------<br>"; // echo "<h1>".$field->name."</h1>"; // echo "hasBelongsToRelation -->$hasBelongsToRelation"; foreach ($field->relations()->get() as $key => $relation) { if (in_array($relation->pivot->laravel_name, ['belongsTo'])) { $hasBelongsToRelation = true; $fromField = Field::find($relation->pivot->from_field_id); $toField = Field::find($relation->pivot->to_field_id); $toModel = $toField->table; $defaultFieldName = strtolower(snake_case($toModel->model)) . '_id'; if ($fromField->name == $defaultFieldName) { if ($toModel->variable == 'update') { $functionNamne = 'updat'; } else { $functionNamne = $toModel->variable; } } else { $functionNamne = camel_case($fromField->name); } $viewScript .= $this->tab3 . "<td>"; foreach ($toModel->fields()->where('is_on_foreign_label', 1)->get() as $fieldLabel) { // $viewScript.='789'; $viewScript .= "{{ \$" . $this->table->variable . "->" . $functionNamne . "->" . $fieldLabel->name . " or ''}} "; } $viewScript .= "</td> " . "\n"; } } // echo "hasBelongsToRelation2 -->$hasBelongsToRelation"; if ($this->table->name == 'accounts') { // var_dump('---->',$field->name); } if (!$hasBelongsToRelation) { //$viewScript.="<td>"; if ($field->type->name == 'text') { // str_limit('The PHP framework for web artisans.', 7); $viewScript .= $this->tab3 . "<td>{{ str_limit(\$" . $this->table->variable . "->" . $field->name . ", 7)}}</td> " . "\n"; } else { $viewScript .= $this->tab3 . "<td>{{ \$" . $this->table->variable . "->" . $field->name . "}}</td> " . "\n"; } } // $viewScript.= } $viewScript .= "\n <!--<td>\n {{ \$" . $this->table->variable . "->" . $field->name . " }}\n </td>-->\n</tr>\n\n @empty\n\n <tr><td>No data yet ...</td><tr>\n\n @endforelse\n </tbody>\n</table>\n</div>\n"; $viewScript .= "\n@endsection\n"; $this->createFile('../resources/views/' . $this->devis->app_name . '/' . $this->table->the_namespace->name . '/' . $this->table->model . '/' . $this->view . '.blade.php', $this->devis->app_name, $viewScript); }
public function create_belongsTo_relation_with(Request $request, Table $toModel) { $model = $this; $from_field_name = snake_case($toModel->model) . '_id'; if ($request->has('from_field_id') && $request->from_field_id != '') { $from_field_name = Field::find($request->from_field_id)->name; } //dd($model); // $from_field_name = snake_case($toModel->model).'_id'; $to_field_name = 'id'; if ($toModel->hasPrimaries()) { $to_field_name = $toModel->getPrimaries()->first()->name; } // old --- $to_field_name = 'id'; $field = $model->findOrCreate(['name' => $from_field_name, 'is_unsigned' => true, 'field_type_id' => 1]); $toField = $toModel->findOrCreate(['name' => $to_field_name, 'is_primary' => true, 'is_incrementable' => true, 'field_type_id' => 1]); // if ( ! $field->has_relation($toField)) { $field->relations()->attach($toField, ['from_field_name' => $field->name, 'to_field_name' => $toField->name, 'laravel_name' => $request->laravel_name, 'pivot_table_name' => '']); // } // else { // Flash::error('A relation Already exists beetween this 2 fields'); // return false; // } $toField->relations()->attach($field, ['from_field_name' => $toField->name, 'to_field_name' => $field->name, 'laravel_name' => 'hasMany', 'pivot_table_name' => '']); // if ( ! $toField->has_relation($field)) { // } // else { // Flash::error('A relation Already exists beetween this 2 fields'); // return false; // } }
/** * Remove metadata from a field * * @param int $pid, int $fid, Request $request * @return Response */ public function destroy($pid, $fid, Request $request) { $meta = Field::find($request->input('flid'))->metadata()->first(); if ($meta !== null) { $meta->delete(); } flash()->overlay('The field\'s metadata was deleted', 'Success!'); return response()->json('deleted'); }
public function handle() { $script = ''; //$script.= "{{ $".$this->relation['to_model']." }} "."\n"; $related_table = Table::find($this->relation['to_model_id']); $basePath = $related_table->devis->app_name . '.' . $related_table->the_namespace->name . "." . $related_table->variable; if ($related_table->the_namespace->name == 'Web') { $basePath = $related_table->devis->app_name . "." . $related_table->variable; } $primary = ''; if ($related_table->getPrimaries()->first()) { $primary = $related_table->getPrimaries()->first()->name; } else { $script .= "\n <div class='alert alert-error'>Pas de primary yey sur cette table - - les liens edt et create ne fonctionne pas</div>\n "; } // $script.= " // <h1>Liste</h1> // <a href='{{ route('".$basePath.".create') }}' class='btn btn-success btn-sm'><i class='fa fa-plus'></i> Create a ".$related_table->model."</a> // "."\n\n"; $script .= "\n <!-- Button trigger modal -->\n <button type='button' class='btn btn-success btn-sm' data-toggle='modal' data-target='#Modal_" . $this->relation['methodName'] . "'>\n <i class='fa fa-plus'></i> Add a " . $related_table->model . "\n </button>" . "\n\n"; $script .= "\n <div class='table-responsive'>\n <table class='table table-striped table-bordered table-hover dataTables-example' data-toggle='table' data-search='true' data-show-columns='true' data-pagination='true' data-height='750'>\n <thead>\n <tr>\n <th>Actions</th>"; foreach ($related_table->fields()->where('is_on_index_view', 1)->orderBy('order', 'asc')->get() as $field) { $script .= "\n <th>" . $field->label . "</th>"; } $script .= "\n </tr>\n </thead>\n <tbody>\n @forelse(\$" . $this->table->variable . "->" . $this->relation['methodName'] . " as \$" . $related_table->variable . ")\n <tr>\n <td>\n <a href='{{ route('" . $basePath . ".edit', [\$" . $related_table->variable . "->" . $primary . "]) }}'><i class='fa fa-edit'></i></a>\n {!! Form::open([\n 'method'=>'DELETE',\n 'route' => ['" . $basePath . ".destroy', \$" . $related_table->variable . "->" . $primary . "],\n 'style' => 'display:inline'\n ]) !!}\n {!! Form::submit('Delete', ['class' => 'btn btn-danger btn-xs', 'onclick'=>'return confirm()']) !!}\n {!! Form::close() !!}\n </td>\n "; foreach ($related_table->fields()->where('is_on_index_view', 1)->orderBy('order', 'asc')->get() as $field) { $hasBelongsToRelation = false; foreach ($field->relations()->get() as $key => $relation) { if (in_array($relation->pivot->laravel_name, ['belongsTo'])) { $hasBelongsToRelation = true; $fromField = Field::find($relation->pivot->from_field_id); $toField = Field::find($relation->pivot->to_field_id); $toModel = $toField->table; $defaultFieldName = strtolower(snake_case($toModel->model)) . '_id'; if ($fromField->name == $defaultFieldName) { if ($toModel->variable == 'update') { $functionNamne = 'updat'; } else { $functionNamne = $toModel->variable; } } else { $functionNamne = camel_case($fromField->name); } $script .= "<td>"; foreach ($toModel->fields()->where('is_on_foreign_label', 1)->get() as $fieldLabel) { $script .= "{{ \$" . $related_table->variable . "->" . $functionNamne . "->" . $fieldLabel->name . "}} "; } $script .= "</td> " . "\n"; } } if (!$hasBelongsToRelation) { if ($field->type->name == 'text') { $script .= "<td>{{ str_limit(\$" . $related_table->variable . "->" . $field->name . ", 7)}}</td> " . "\n"; } else { $script .= "<td>{{ \$" . $related_table->variable . "->" . $field->name . "}}</td> " . "\n"; } } } $script .= "\n </tr>\n @empty\n <tr><td>No data yet ...</td><tr>\n @endforelse\n </tbody>\n </table>\n </div>\n\n\n\n\n\n <div class='modal fade' id='Modal_" . $this->relation['methodName'] . "' tabindex='-1' role='dialog' aria-labelledby='myModalLabel'>\n <div class='modal-dialog modal-lg' role='document'>\n <div class='modal-content'>\n <div class='modal-header'>\n <button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>×</span></button>\n <h4 class='modal-title' id='myModalLabel'>Add a " . $related_table->model . "</h4>\n </div>\n <div class='modal-body'>\n\n @include('" . $related_table->viewPathInController() . ".form', [ 'foreign_key' => '" . $this->relation['to_field'] . "', '" . $this->relation['to_field'] . "' => \$" . $this->table->variable . ", 'primary'=>'" . $related_table->getPrimaries()->first()->name . "', 'form_name'=>'" . $relation['methodName'] . "' ])\n\n </div>\n <div class='modal-footer'>\n <button type='button' class='btn btn-default' data-dismiss='modal'>Close</button>\n <!--<button type='button' class='btn btn-primary'>Save changes</button>-->\n </div>\n </div>\n </div>\n </div>\n\n\n\n\n\n "; return $script; }
/** * Dynamically generate our validator based on rules in each field * @param [type] $request [description] * @return [type] [description] */ public function validateInputs($request) { $inputs = $request->all(); // We don't need the CSRF token, so drop it unset($inputs['_token']); $validator_rules = []; foreach ($inputs as $key => $input) { $field = Field::find($key); if (!$field) { continue; } $rules = !empty($field->getRules()) ? $field->getRules() : []; $fieldRules = []; foreach ($rules as $rule => $enabled) { if ($enabled) { $fieldRules[] = $rule; } } if (!empty($fieldRules)) { $fieldRules = implode('|', $fieldRules); $validator_rules[$field->id] = $fieldRules; } } $validator = Validator::make($request->all(), $validator_rules); return $validator; }
public function testRelations() { foreach ($this->tables()->where('model', '<>', '')->get() as $a => $table) { echo '<h5> <i style="color:green">></i> Preparing files for table <u style="color:#15c">'; echo $table->name; echo '</u></h5>'; $modelScript = '<?php' . "\n\n"; $modelScript .= 'namespace ' . $table->modelNamespace() . ';' . "\n\n"; $modelScript .= 'use Illuminate\\Database\\Eloquent\\Model;' . "\n\n"; $useList = []; // if($table->name == 'users'){ foreach ($table->fields as $field) { // echo $field->name.'<br>'; foreach ($field->relations as $relation) { // echo "<h1>".$relation->pivot->laravel_name."</h1>"; if ($relation->pivot->laravel_name == 'belongsToMany') { $related_table = \App\Table::find($relation->pivot->to_model); // $related_field = \App\Field::find($relation->pivot->on_field_id); // $useList[]=$related_table->modelNamespaceClass(); } else { $related_table = Field::find($relation->pivot->to_field_id)->table; } $useList[] = $related_table->modelNamespaceClass(); // echo $relation->table->modelNamespaceClass(); } } // dd('class=>',$table->modelNamespaceClass(), 'uses=>', $useList); // } // var_dump($this->renderUsesStatements($useList)); var_dump($useList); $modelScript .= 'class ' . $table->model . ' extends Model' . "\n"; $modelScript .= '{' . "\n\n"; // $modelScript.="\t TESTSTSTSTS"; $modelScript .= $this->tab1 . 'protected $guarded = [];' . "\n"; $modelScript .= $this->tab1 . 'protected $table = "' . $table->tablename . '";' . "\n"; $modelScript .= "\n"; foreach ($table->fields as $field) { foreach ($field->relations as $relation) { if (isset($relation->name)) { $related_table = Field::find($relation->pivot->to_field_id)->table()->first(); if ($relation->pivot->laravel_name == 'morphedByMany') { $modelScript .= $this->tab1 . 'public function ' . $related_table->variablePlural . '() {' . "\n"; $relation->pivot->to_field_id = Field::find($relation->pivot->to_field_id)->name; $modelScript .= $this->tab2 . 'return $this->morphedByMany(' . $related_table->modelNamespaceClass() . '::class);' . "\n"; $modelScript .= $this->tab1 . '}' . "\n"; } if ($relation->pivot->laravel_name == 'belongsTo') { $modelScript .= $this->tab1 . 'public function ' . $related_table->variable . '() {' . "\n"; $relation->pivot->to_field_id = Field::find($relation->pivot->to_field_id)->name; $modelScript .= $this->tab2 . 'return $this->belongsTo(' . $related_table->modelNamespaceClass() . '::class);' . "\n"; $modelScript .= $this->tab1 . '}' . "\n"; } if ($relation->pivot->laravel_name == 'hasMany') { $modelScript .= $this->tab1 . 'public function ' . $related_table->variablePlural . '() {' . "\n"; $relation->pivot->to_field_id = Field::find($relation->pivot->to_field_id)->name; $modelScript .= $this->tab2 . 'return $this->hasMany(' . $related_table->modelNamespaceClass() . '::class);' . "\n"; $modelScript .= $this->tab1 . '}' . "\n"; } // var_dump($relation->name); } } } $modelScript .= "\n\n"; $modelScript .= '}' . "\n\n"; // $modelScript=''; // echo "------>"; // if ($table->name == 'users') { // dd($modelScript); // } } //dd('stop script model'); }
public function handle() { // dd('<-----FORM------->',$this->devis, $this->table ,$this->view); var_dump('***********************************************************************************************************'); var_dump($this->table->name); $viewScript = "@extends('layouts." . $this->table->the_namespace->theme->name . "')" . "\n\n"; $viewScript .= "@section('menu')" . "\n"; $viewScript .= $this->tab1 . "@include('" . $this->devis->app_name . "." . $this->space->name . "/" . $this->menuFileNameUsed() . "')" . "\n"; $viewScript .= "@endsection" . "\n"; $viewScript .= "\n\n"; $viewScript .= "@section('content')" . "\n"; $viewScript .= '<h1>' . $this->title . '</h1>'; $viewScript .= "\n"; $viewScript .= "\n"; $hasHasManyRelation = false; $relatedHasManyModel = []; foreach ($this->table->fields as $field) { foreach ($field->relations as $relation) { var_dump($relation->pivot->laravel_name); if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsToMany', 'morphToMany'])) { $hasHasManyRelation = true; var_dump('HM'); $related_table = Field::find($relation->pivot->to_field_id)->table; $relatedHasManyModel[] = $relation; echo "related"; var_dump($related_table->name); } } } $viewScript .= "\n"; if (!empty($relatedHasManyModel)) { // if ($hasHasManyRelation) { $viewScript .= "\n <div>\n\n <!-- Nav tabs -->\n <ul class='nav nav-tabs' role='tablist'>\n <li role='presentation' class='active'><a href='#general' aria-controls='general' role='tab' data-toggle='tab'>General</a></li>" . "\n"; foreach ($relatedHasManyModel as $key => $relatedModel) { $viewScript .= "<li role='presentation'><a href='#" . $relatedModel->name . "' aria-controls='" . $relatedModel->name . "' role='tab' data-toggle='tab'>" . $relatedModel->name . "</a></li>" . "\n"; } $viewScript .= "\n </ul>\n\n <!-- Tab panes -->\n <div class='tab-content'>\n <div role='tabpanel' class='tab-pane fade in active' id='general'>@include('" . $this->table->viewPathInController() . ".form')</div>" . "\n"; //foreach ($relatedHasManyModel as $key => $relatedModel) { foreach ($this->table->fields as $field) { foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['belongsToMany', 'morphedByMany', 'morphToMany'])) { $related_table = \App\Table::find($relation->pivot->to_model); } if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsTo'])) { $related_table = Field::find($relation->pivot->to_field_id)->table; } $fromField = Field::find($relation->pivot->from_field_id); $toField = Field::find($relation->pivot->to_field_id); $toModel = $toField->table; if ($field->relations()->where('from_field_id', $fromField->id)->wherePivot('laravel_name', 'hasMany')->count() > 1) { $functionNamne = $related_table->variablePlural . '_' . $toField->name; $functionNamne = ends_with($functionNamne, '_id') ? substr($functionNamne, 0, -3) : $functionNamne; $functionNamne = camel_case($functionNamne); } else { $functionNamne = $related_table->variablePlural; } if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsToMany', 'morphToMany'])) { $viewScript .= "<div role='tabpanel' class='tab-pane fade' id='" . $functionNamne . "'>\n @forelse(\$" . $this->table->variable . "->" . $functionNamne . " as \$" . $relatedModel->variable . ")\n {{ \$" . $relatedModel->variable . " }}\n @empty\n No " . $relatedModel->name . " Yet\n @endforelse\n </div>" . "\n\n"; } } } //} $viewScript .= "\n\n </div>\n\n</div>\n "; } else { $viewScript .= $this->tab1 . "@include('" . $this->table->viewPathInController() . ".form')"; } //$viewScript.= $this->tab1.'<h1>'.$this->view.'</h1>'; $viewScript .= "\n"; $viewScript .= "\n"; $viewScript .= "@endsection"; // $viewScript.="\n\n"; $this->createFile('../resources/views/' . $this->devis->app_name . '/' . $this->table->the_namespace->name . '/' . $this->table->model . '/' . $this->view . '.blade.php', $this->devis->app_name, $viewScript); }
public function delete_relation(Devis $devis, $from_field_id, $to_field_id) { $fromField = Field::find($from_field_id); $toField = Field::find($to_field_id); //dd($fromField->relations()->where('to_field_id', $to_field_id)->get()); $laravel_name = $fromField->relations()->where('to_field_id', $to_field_id)->first()->pivot->laravel_name; if (in_array($laravel_name, ['belongsToMany'])) { $pivot_table_id = $fromField->relations()->where('to_field_id', $to_field_id)->first()->pivot->pivot_table_id; } $message = ''; if ($fromField->relations()->detach($toField)) { if (in_array($laravel_name, ['belongsToMany'])) { //$pivot_table_id = $fromField->relations()->where('to_field_id', $to_field_id)->first()->pivot->pivot_table_id; DB::table('relationships')->where('on_field_id', $from_field_id)->where('pivot_table_id', $pivot_table_id)->delete(); //suppression de la pivot_table Table::find($pivot_table_id)->remove(); } if (in_array($laravel_name, ['hasMany', 'belongsTo'])) { $pivot_table_id = $toField->relations()->detach($fromField); } $message .= 'relationhip has been removed'; if (!$fromField->is_primary) { // $fromField->delete(); // $message.= 'the field <b>'.$fromField.'</b> has been removed. <br>'; } if (!$toField->is_primary) { // $toField->delete(); // $message.= 'the field <b>'.$toField.'</b> has been removed. <br>'; } } if ($message) { Flash::success($message); } else { Flash::error('relation not found. Probably already deleted.'); } return redirect()->back(); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { return response()->json(Field::find($id)); }
public function formTtpe(Field $field) { $toReturn = "\n\n <div class='form-group @if (\$errors->has('" . $field->name . "')) has-error @endif'>\n {!!Form::label('" . $field->name . "', '{$field->label}', array('class' => 'control-label '));!!}\n <div class=''> " . "\n"; $has_relation = false; foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['belongsTo'])) { $has_relation = true; $related_model = \App\Field::find($relation->pivot->to_field_id)->table; $basePath = $related_model->devis->app_name . '.' . $related_model->the_namespace->name . "." . $related_model->variable; if ($this->table->the_namespace->name == 'Web') { $basePath = $related_model->devis->app_name . "." . $related_model->variable; } $toReturn .= "{!! Form::select('" . $field->name . "', \$" . $related_model->variablePlural . ", null, ['class'=>'form-control " . $field->name . "']) !!}" . "\n"; $toReturn .= "<a target='_blank' class='pull-right btn btn-sm btn-success' href='{{route('" . $basePath . ".create')}}'><i class='fa fa-plus'></i> Create a " . $related_model->variable . "</a>" . "\n"; // $toReturn.="<script> // $('select[name=".$field->name."]').select2({ // placeholder: '".$field->placeholder."', // allowClear: true // }); // </script>"."\n"; } elseif ($relation->pivot->laravel_name == 'belongsToMany') { $has_relation = true; $related_model = \App\Table::find($relation->pivot->to_model); } } if (!$has_relation) { $toReturn .= "\t\t"; switch ($field->type->name) { case 'integer': $toReturn .= "{!! Form::number('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'string': $toReturn .= "{!! Form::text('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'password': $toReturn .= "{!! Form::password('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'email': $toReturn .= "{!! Form::email('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'dateTime': $toReturn .= "{!! Form::date('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control datepicker', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'datetime': $toReturn .= "{!! Form::date('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control datepicker', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'time': $toReturn .= "{!! Form::date('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control datepicker', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'text': $toReturn .= "{!! Form::textarea('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'mediumtext': $toReturn .= "{!! Form::textarea('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'longtext': $toReturn .= "{!! Form::textarea('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'binary': $toReturn .= "{!! Form::textarea('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'decimal': $toReturn .= "{!! Form::number('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'bigint': $toReturn .= "{!! Form::number('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control ', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; case 'boolean': $toReturn .= "<label class='radio-inline'>{!! Form::radio('" . $field->name . "', 1, ['class' => '']) !!} @lang('core.yes')</label>" . "\n"; $toReturn .= "<label class='radio-inline'>{!! Form::radio('" . $field->name . "', 0, ['class' => '']) !!} @lang('core.no')</label>" . "\n"; break; case 'date': $toReturn .= "{!! Form::date('" . $field->name . "', Input::old('" . $field->name . "') , ['class' => 'form-control datepicker', 'placeholder'=>'" . $field->placeholder . "']) !!}" . "\n"; break; default: # code... break; } } $toReturn .= " </div><p class='text-danger'>@if (\$errors->has('" . $field->name . "')) <span class='error'>{{ \$errors->first('" . $field->name . "') }}</span> @endif</p></div> " . "\n\n"; return $toReturn; }
public function handle() { foreach ($this->devis->tables()->where('model', '<>', '')->get() as $a => $table) { // echo '<h5> <i style="color:green">></i> Preparing files for table <u style="color:#15c">'; // echo $table->name; // echo '</u></h5>'; $script = '<?php' . "\n\n"; // dd($table->modelNamespace()); $script .= 'namespace ' . $table->modelNamespace() . ';' . "\n\n"; $script .= 'use Illuminate\\Database\\Eloquent\\Model;' . "\n\n"; $useList = []; // if($table->name == 'users'){ foreach ($table->fields as $field) { // echo $field->name.'<br>'; foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['belongsToMany', 'morphedByMany', 'morphToMany'])) { $related_table = \App\Table::find($relation->pivot->to_model); } if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsTo'])) { $related_table = Field::find($relation->pivot->to_field_id)->table; } $useList[] = $related_table->modelNamespaceClass(); // echo $relation->table->modelNamespaceClass(); } } // dd('class=>',$table->modelNamespaceClass(), 'uses=>', $useList); // } // var_dump($this->renderUsesStatements($useList)); $script .= $this->renderUsesStatements($useList); $script .= 'class ' . $table->model . ' extends Model' . "\n"; $script .= '{' . "\n\n"; $script .= $this->tab1 . 'protected $guarded = [];' . "\n"; $script .= $this->tab1 . 'protected $table = "' . $table->tablename . '";' . "\n"; $dateFields = $table->fields->whereIn('field_type_id', [5, 6, 14]); // dd($dateFields->count()); if ($dateFields->count() > 0) { $script .= $this->tab1 . 'protected $dates = ['; foreach ($dateFields as $dateField) { $script .= '\'' . $dateField->name . '\'' . ','; } $script = rtrim($script, ','); $script .= '];' . "\n"; } //var_dump($table->getPrimaries()->count() > 0); if ($table->getPrimaries()->count() > 0) { if ($table->getPrimaries()->first()->name != 'id' && $table->getPrimaries()->count() == 1) { $script .= $this->tab1 . 'protected $primaryKey = "' . $table->getPrimaries()->first()->name . '";' . "\n"; } } $script .= "\n"; foreach ($table->relationship() as $relation) { if ($relation['laravel_name'] == 'belongsTo') { $defaultFieldName = strtolower(snake_case($relation['to_model'])) . '_id'; $script .= $this->tab1 . 'public function ' . $relation['methodName'] . '() {' . "\n"; $script .= $this->tab2 . 'return $this->belongsTo(' . $relation['to_model'] . '::class'; $showfirstArg = false; if ($relation['from_field'] != $defaultFieldName) { $showfirstArg = true; $script .= ', "' . $relation['from_field'] . '"'; } if ($relation['to_field'] != 'id') { if (!$showfirstArg) { $script .= ', "' . $relation['from_field'] . '"'; } $script .= ', "' . $relation['to_field'] . '"'; } $script .= ');' . "\n"; $script .= $this->tab1 . '}' . "\n"; } if ($relation['laravel_name'] == 'hasMany') { $defaultFieldName = strtolower(snake_case($relation['model'])) . '_id'; $script .= $this->tab1 . 'public function ' . $relation['methodName'] . '() {' . "\n"; $script .= $this->tab2 . 'return $this->hasMany(' . $relation['to_model'] . '::class'; $showfirstArg = false; if ($relation['to_field'] != $defaultFieldName) { $showfirstArg = true; $script .= ', "' . $relation['to_field'] . '"'; } if ($relation['from_field'] != 'id') { if (!$showfirstArg) { $script .= ', "' . $relation['to_field'] . '"'; } $script .= ', "' . $relation['from_field'] . '"'; } $script .= ');' . "\n"; $script .= $this->tab1 . '}' . "\n"; } if ($relation['laravel_name'] == 'belongsToMany') { /* ** defaultPivotTableName */ $array = array($relation['model'], $relation['to_model']); sort($array); $defaultPivotTableName = $this->devis->prefix() . strtolower($array[0] . '_' . $array[1]); //end defaultPivotTableName $script .= $this->tab1 . 'public function ' . $relation['methodName'] . '() {' . "\n"; //$relation->pivot->to_field_id = Field::find($relation->pivot->to_field_id)->name; $script .= $this->tab2 . 'return $this->belongsToMany(' . $relation['to_model'] . '::class'; // $prefixNull=false; // if ($this->devis->prefix() == '') { // $prefixNull=true; // // $script.=', "'.$this->devis->prefix().$relation['pivot_table'].'"'; // }else{ // $prefixNull=false; // // } $prefixNull = false; if ($this->devis->prefix() == '') { $prefixNull = true; } if ($this->devis->prefix() . $relation['pivot_table'] != $defaultPivotTableName || !$prefixNull) { $script .= ', "' . $this->devis->prefix() . $relation['pivot_table'] . '"'; } $script .= ');' . "\n"; $script .= $this->tab1 . '}' . "\n"; } } $script .= "\n\n"; /* ** specials methods fom the database class methods */ foreach ($table->methods as $method) { // if ($method->isValidPHP()) { $script .= $this->tab1 . 'public function ' . $method->name . ' () {' . "\n"; $script .= $this->tab2 . $method->content . "\n"; $script .= $this->tab1 . "}\n\n"; // } } $script .= "\n\n"; $script .= '}' . "\n\n"; // $script=''; // echo "------>"; // var_dump('../app/Models/'.$this->devis->app_name.'/'.$table->the_namespace->name.'/'.$table->model.'.php',$this->devis->app_name,$script); $this->createFile('../app/Models/' . $this->devis->app_name . '/' . $table->the_namespace->name . '/' . $table->model . '.php', $this->devis->app_name, $script, true); // die('++'); //dd('123'); // if ($table->name == 'users') { // dd($script); // } } //dd('stop script model'); }
public function get_seek_announcements(Request $request) { $field_search = input::get('field'); $term_search = input::get('term'); $region_search = input::get('region'); $municipalities_search = input::get('municipalities'); if ($field_search == '0' || empty($field_search)) { $fields_all = Field::all(['id']); foreach ($fields_all as $field) { $fields[] = $field->id; } } else { $fields[] = $field_search; } if ($term_search == '0' || empty($term_search)) { $terms_all = Term::all(['id']); foreach ($terms_all as $term) { $terms[] = $term->id; } } else { $terms[] = $term_search; } if ($municipalities_search[0] == '0' || empty($municipalities_search)) { if ($region_search != '0' && !empty($region_search)) { $any_municipality = Region::find($region_search)->get_municipalities()->get(); } else { $any_municipality = Municipality::all(['id']); } foreach ($any_municipality as $instance) { $municipality_id[] = $instance->id; } } else { $municipality_id = $municipalities_search; } $select = DB::select(' SELECT seek_trainings.id, field_seek_training.field_id, municipality_seek_training.municipality_id FROM seek_trainings JOIN field_seek_training ON seek_trainings.id = field_seek_training.seek_training_id JOIN municipality_seek_training ON seek_trainings.id = municipality_seek_training.seek_training_id WHERE field_seek_training.field_id in(' . implode(',', $fields) . ') AND municipality_seek_training.municipality_id in (' . implode(',', $municipality_id) . ') group by seek_trainings.id '); foreach ($select as $instance) { $seek_training_filtered = new \stdClass(); $seek_training_instance = SeekTraining::find($instance->id); $seek_training_field = Field::find($instance->field_id); $seek_training_municipality = Municipality::find($instance->municipality_id); $training_terms = DB::select('SELECT terms.name FROM seek_training_term JOIN terms ON terms.id = seek_training_term.term_id WHERE seek_training_id = ' . $instance->id); $seek_training_terms_array = []; foreach ($training_terms as $term) { $seek_training_terms_array[] = $term->name; } $seek_training_filtered->id = $seek_training_instance->id; $seek_training_filtered->header = $seek_training_instance->name; $seek_training_filtered->description = $seek_training_instance->description; $seek_training_filtered->file = $seek_training_instance->file; $seek_training_filtered->link = $seek_training_instance->link; $seek_training_filtered->per = $seek_training_instance->per; $seek_training_filtered->terms = implode(',', $seek_training_terms_array); $seek_training_filtered->contact = $seek_training_instance->contact; $seek_training_filtered->quantity = $seek_training_instance->quantity; $seek_training_filtered->field = $seek_training_field->name; $seek_training_filtered->municipality = $seek_training_municipality->name; $seek_training_filtered->isAdmin = !(!Auth::user() || Auth::user()->role == 100); $seek_training_filtered_array[] = $seek_training_filtered; unset($seek_training_filtered); unset($seek_training_months_array); unset($seek_training_terms_array); } return response(json_encode($seek_training_filtered_array), 200)->header('Content-Type', 'application/json'); }
public function handle() { $this->initializeMigrationsArray(); // $this->sortMigrationArray(); foreach ($this->migrationsArray as $key => $table) { // foreach ($this->devis->tables as $key=>$table) { // $table=Table::find($table_id); // echo '<h5> <i style="color:green">></i> Preparing files for table <u style="color:#15c">'; // echo $table->name; // echo '</u></h5>'; /* ** migrations */ // $migrationScript = 'sdfsdfsdf '."\n"; // $migrationScript.= 'sdfsdfsdf \n'; $migrationScript = '<?php' . "\n\n"; $migrationScript .= 'use Illuminate\\Database\\Schema\\Blueprint;' . "\n"; $migrationScript .= 'use Illuminate\\Database\\Migrations\\Migration;' . "\n\n"; $migrationClassName = $table->model == '' ? camel_case($table->name) : camel_case($table->model); $migrationScript .= 'class Create' . $this->devis->app_name . ucfirst($migrationClassName) . 'Table extends Migration' . "\n"; $migrationScript .= '{' . "\n"; $migrationScript .= "\t" . 'public function up()' . "\n"; $migrationScript .= "\t" . '{' . "\n"; $migrationScript .= "\t\t" . 'if( ! Schema::hasTable("' . $table->tableName . '")) {' . "\n"; $migrationScript .= "\t\t\t" . 'Schema::create("' . $table->tableName . '", function (Blueprint $table) {' . "\n"; foreach ($table->fields as $field) { if ($field->type->name) { // $migrationScript.= "\t\t\t".'$table->'.$this->typeLaravelMethod($field).'("'.$field->name.'");'."\n"; //work $onTable = ''; $referencesKey = ''; $has_constraint = false; foreach ($field->relations()->get() as $key => $relation) { if (in_array($relation->pivot->laravel_name, ['belongsTo'])) { $has_constraint = true; $onTable = Field::find($relation->pivot->to_field_id)->table->name; $referencesKey = Field::find($relation->pivot->to_field_id)->name; } else { if (in_array($relation->pivot->laravel_name, ['belongsToMany'])) { if ($field->is_incrementable) { $has_constraint = false; } else { $has_constraint = true; } } } if ($has_constraint) { if ($key == 0) { $migrationScript .= "\t\t\t\t" . '$table->' . $this->typeLaravelMethod($field) . '(' . $this->fieldsArguments($field) . ')->unsigned();' . "\n"; } $migrationScript .= "\t\t\t\t" . "//\$" . "table->foreign('" . $field->name . "')->references('" . $referencesKey . "')->on('" . $onTable . "');" . "\n\n"; } } if (!$has_constraint) { //la table pivot d'un belongs to Many n'est pas spécifiée dans les relations. Allos la chercher if ($table->getPrimaries()->count() > 1) { $onTable = \DB::table('relationships')->where('laravel_name', 'belongsToMany')->where('to_field_id', $field->id)->where('pivot_table_name', $table->name)->first(); $onTable = $onTable; if ($onTable) { $field_a = Field::find($onTable->from_field_id); $onTable = $field_a->table; $referencesKey = $field_a->name; $migrationScript .= "\t\t\t\t" . '$table->' . $this->typeLaravelMethod($field) . '(' . $this->fieldsArguments($field) . ')->unsigned();' . "\n"; $migrationScript .= "\t\t\t\t" . "//\$" . "table->foreign('" . $field->name . "')->references('" . $referencesKey . "')->on('" . $onTable->name . "');" . "\n\n"; } else { $migrationScript .= "\t\t\t\t" . '$table->' . $this->typeLaravelMethod($field) . '(' . $this->fieldsArguments($field) . ');' . "\n"; } } else { $migrationScript .= "\t\t\t\t" . '$table->' . $this->typeLaravelMethod($field) . '(' . $this->fieldsArguments($field) . ');' . "\n"; } } } } $migrationScript .= "\t\t\t\t" . '$table->timestamps();' . "\n"; $migrationScript .= "\t\t\t" . '});' . "\n"; $migrationScript .= "\t\t" . '}//endif' . "\n"; //endif $migrationScript .= "\t" . '}' . "\n\n\n"; //$migrationScript.='}'."\n"; $migrationScript .= "\t" . 'public function down()' . "\n"; $migrationScript .= "\t" . '{' . "\n"; $migrationScript .= "\t\t" . 'if( Schema::hasTable("' . $table->tableName . '")) {' . "\n"; $migrationScript .= "\t\t\t" . 'Schema::drop("' . $table->tableName . '");' . "\n"; $migrationScript .= "\t\t" . '}' . "\n"; $migrationScript .= "\t" . '}' . "\n"; $migrationScript .= '}' . "\n\n\n"; $order = $key; $nbOf0 = 6 - strlen($order); $zeros = ''; for ($i = 0; $i < $nbOf0; $i++) { $zeros .= '0'; } $order = $zeros . $order; $migrationTableName = $table->model == '' ? snake_case($table->name) : snake_case($table->model); //$migrationClassName= $table->model==''? camel_case($table->name):camel_case($table->model); // if ($table->name == 'contact_vehicle') { // dd($migrationTableName); // } $migrationFileName = Carbon::now()->format('Y_m_d') . '_' . $order . '_create_' . $this->devis->app_name . '_' . $migrationTableName . '_table.php'; $this->createFile('../database/migrations/' . $this->devis->app_name . '/' . $migrationFileName, $this->devis->app_name, $migrationScript, true); } echo "<div style='color:white; background-color:blue; padding:15px'>"; echo "php artisan migrate --path=/database/migrations/" . $this->devis->app_name; echo "</div>"; echo "<div style='color:white; background-color:purple; padding:15px'>"; echo "<p>to seed a specific file<p>"; echo "<h1>php artisan db:seed --class=MiddleDataBatch1Seeder</h1>"; echo "</div>"; \Artisan::call('migrate', array('--path' => '/database/migrations/' . $this->devis->app_name)); // die('+++++++++++++qsdqsdqsdss++++++++++'); }
public function handle() { foreach ($this->devis->tables()->where('model', '<>', '')->get() as $a => $table) { // echo '<h5> <i style="color:green">></i> Preparing UnitTest for table <u style="color:#15c">'; // echo $table->name; // echo '</u></h5>'; $modelScript = '<?php' . "\n\n"; // // $modelScript.='namespace '.$table->modelNamespace().';'."\n\n"; // // $modelScript.='use Illuminate\Database\Eloquent\Model;'."\n\n"; $useList = []; // if($table->name == 'users'){ foreach ($table->fields as $field) { // echo $field->name.'<br>'; foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['belongsToMany', 'morphedByMany', 'morphToMany'])) { $related_table = \App\Table::find($relation->pivot->to_model); } if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsTo'])) { $related_table = Field::find($relation->pivot->to_field_id)->table; } $useList[] = $related_table->modelNamespaceClass(); // echo $relation->table->modelNamespaceClass(); } } // dd('class=>',$table->modelNamespaceClass(), 'uses=>', $useList); // } // var_dump($this->renderUsesStatements($useList)); $modelScript .= $this->renderUsesStatements($useList); $modelScript .= 'class ' . $table->model . ' extends Model' . "\n"; $modelScript .= '{' . "\n\n"; $modelScript .= $this->tab1 . 'protected $guarded = [];' . "\n"; $modelScript .= $this->tab1 . 'protected $table = "' . $table->tablename . '";' . "\n"; $modelScript .= "\n"; foreach ($table->relationship() as $relation) { if ($relation['laravel_name'] == 'belongsTo') { $defaultFieldName = strtolower(snake_case($relation['to_model'])) . '_id'; $modelScript .= $this->tab1 . 'public function ' . $relation['methodName'] . '() {' . "\n"; $modelScript .= $this->tab2 . 'return $this->belongsTo(' . $relation['to_model'] . '::class'; $showfirstArg = false; if ($relation['from_field'] != $defaultFieldName) { $showfirstArg = true; $modelScript .= ', "' . $relation['from_field'] . '"'; } if ($relation['to_field'] != 'id') { if (!$showfirstArg) { $modelScript .= ', "' . $relation['from_field'] . '"'; } $modelScript .= ', "' . $relation['to_field'] . '"'; } $modelScript .= ');' . "\n"; $modelScript .= $this->tab1 . '}' . "\n"; } if ($relation['laravel_name'] == 'hasMany') { $defaultFieldName = strtolower(snake_case($relation['model'])) . '_id'; $modelScript .= $this->tab1 . 'public function ' . $relation['methodName'] . '() {' . "\n"; $modelScript .= $this->tab2 . 'return $this->hasMany(' . $relation['to_model'] . '::class'; if ($relation['to_field'] != $defaultFieldName) { $modelScript .= ', "' . $relation['from_field'] . '"'; } if ($relation['from_field'] != 'id') { $modelScript .= ', "' . $relation['to_field'] . '"'; } $modelScript .= ');' . "\n"; $modelScript .= $this->tab1 . '}' . "\n"; } if ($relation['laravel_name'] == 'belongsToMany') { # code... } } $modelScript .= "\n\n"; $modelScript .= '}' . "\n\n"; // $modelScript=''; // echo "------>"; // var_dump('../app/Models/'.$this->devis->app_name.'/'.$table->the_namespace->name.'/'.$table->model.'.php',$this->devis->app_name,$modelScript); $this->createFile('../app/Models/' . $this->devis->app_name . '/' . $table->the_namespace->name . '/' . $table->model . '.php', $this->devis->app_name, $modelScript, true); // die('++'); //dd('123'); // if ($table->name == 'users') { // dd($modelScript); // } } //dd('stop script model'); }
public function handle() { // $script = ' <style> </style> <template> <h1>' . $this->table->model . ' Index</h1> Mettre ici : <br> - menu des relations à plusieurs<br> - menu des specialcompo - acces a list - acces a create <br> <br> et le router-view '; $hasHasManyRelation = false; $ManyRelationQuantity_sup_4 = false; /* if ($table->hasHasManyRelation()) { $hasHasManyRelation = true; hasHasManyRelationList()->count(); } $hasSpecialVueComponent = false; if ($this->getSpecialVueComponentList($table)) { $hasSpecialVueComponent = true; } //// if (!$hasHasManyRelation && !$hasSpecialVueComponent) { //C # code... } */ $script = ' <template> <div class=row> <h1>Index <b>{{object.name}}</b></h1> <!--<ui-icon-button icon="navigate_before" @click.prevent="goBack" tooltip="Go back" type="primary" color="default" class="pull-left" ></ui-icon-button>--> </div> ' . "\n"; if ($this->table->hasHasManyRelation()) { $script .= ' <div class="tabbable"> <ul class="nav nav-pills nav-stacked col-md-3"> <li class="active"><a href="#general" data-toggle="tab">General</a></li> '; if ($this->getSpecialVueComponentList($this->table)) { foreach ($this->getSpecialVueComponentList($this->table) as $specialView) { $script .= '<li><a href="#' . $specialView . '" data-toggle="tab">' . $specialView . '</a></li>'; } } else { foreach ($this->table->hasHasManyRelationList() as $relation) { $script .= '<li class=""><a href="#' . $relation['methodName'] . '" data-toggle="tab">' . $relation['methodName'] . '</a></li>'; } } $script .= ' </ul> <div class="tab-content col-md-8"> <div class="tab-pane fade in active" id="general"> '; if ($this->table->name == 'vehicles') { $script .= ' <div> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"><a href="#form" aria-controls="home" role="tab" data-toggle="tab">' . $this->table->model . ' form</a></li> '; foreach ($this->table->hasHasManyRelationList() as $relation) { $script .= '<li><a href="#' . $relation['methodName'] . '" role="tab" data-toggle="tab">' . $relation['methodName'] . '</a></li>'; } $script .= ' </ul> <!-- Tab panes --> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="form"> <' . $this->table->VueTag('form') . ' :created-object.sync="created' . $this->table->model . '" ></' . $this->table->VueTag('form') . '> </div> '; foreach ($this->table->hasHasManyRelationList() as $relation) { $related_model = \App\Table::find($relation['to_model_id']); $fromField = \App\Field::find($relation['from_field_id']); $script .= ' <div class="tab-pane fade in" id="' . $relation['methodName'] . '"> <' . $related_model->VueTag('list', $relation['methodName']) . ' :from-id="getId" :url="getUrl(\'' . $relation['methodName'] . '\')"></' . $related_model->VueTag('list', $relation['methodName']) . '> </div>'; $script .= '' . "\n"; } $script .= ' </div> </div> '; } else { $script .= ' <' . $this->table->VueTag('form') . ' :created-object.sync="created' . $this->table->model . '" ></' . $this->table->VueTag('form') . '> '; } $script .= ' </div> '; if ($this->getSpecialVueComponentList($this->table)) { foreach ($this->getSpecialVueComponentList($this->table) as $specialView) { $script .= ' <div class="tab-pane fade in" id="' . $specialView . '"> <' . $this->table->VueTag('', $specialView) . ' :' . $this->table->variable . '="object"></' . $this->table->VueTag('', $specialView) . '> </div> '; } } else { foreach ($this->table->hasHasManyRelationList() as $relation) { $related_model = \App\Table::find($relation['to_model_id']); $fromField = \App\Field::find($relation['from_field_id']); $script .= ' <div class="tab-pane fade in" id="' . $relation['methodName'] . '"> <' . $related_model->VueTag('list', $relation['methodName']) . ' :from-id="getId()" :url="getUrl(\'' . $relation['methodName'] . '\')"></' . $related_model->VueTag('list', $relation['methodName']) . '> </div>'; ///api/'.$this->devis->app_name.'/'.$this->table->name.'//'.strtolower($relation['methodName']).' $script .= '' . "\n"; // $script.=$this->tab1.'import '.$related_model->vueComponentName('list') . ' from \'' . $this->table->vueComponentRelativePathTo($related_model, 'list').'\''."\n"; } } $script .= ' </div><!--tab content--> </div> '; } else { //doesn't have has many relation //-->load the form $script .= '<router-view></router-view> #98789444da9 --> router-view -> Afficher le formulaire #98789444da9 '; } if ($this->table->name == 'vehicles') { $script .= ' <h3>Financials</h3> <graph-line2></graph-line2> <h4>Actual</h4> <h4>Budget</h4> <h3>Cash fLOW FORECAST</h3> <graph-line1></graph-line1> ' . "\n\n"; } $script .= '</template>' . "\n\n"; $script .= "\n\n"; $script .= '<script>' . "\n\n"; $components = []; $script .= $this->tab1 . 'import ' . $this->table->vueComponentName('form') . ' from \'' . $this->table->vueComponentRelativePathTo($this->table, 'form') . '\'' . "\n"; $components[] = $this->table->vueComponentName('form'); $relationToModel = []; /* ** ajout des composant des relations */ foreach ($this->table->hasHasManyRelationList() as $relation) { $related_model = \App\Table::find($relation['to_model_id']); $fromField = \App\Field::find($relation['from_field_id']); $componentName = $related_model->vueComponentName('list', $relation['methodName']); $path = $this->table->vueComponentRelativePathTo($related_model, 'list'); // $relationToModel[]=$related_model->name; $components[] = $componentName; $script .= 'import ' . $componentName . ' from \'' . $path . '\'' . "\n"; //$script.=$this->tab1.'import '.$related_model->vueComponentName('list') . ' from \'' . $this->table->vueComponentRelativePathTo($related_model, 'list').'\''."\n"; } /* ** Ajout des special components */ if ($this->getSpecialVueComponentList($this->table)) { foreach ($this->getSpecialVueComponentList($this->table) as $specialView) { $componentName = $this->table->vueComponentName('', $specialView); $path = $this->table->vueComponentRelativePathTo($this->table, $specialView); $components[] = $componentName; $script .= 'import ' . $componentName . ' from \'' . $path . '\'' . "\n"; } } $script .= ' export default { components: {' . "\n"; foreach ($components as $component) { $script .= $this->tab4 . $component . ', ' . "\n"; } $script .= ' }, props :{ }, ready () { this.fetchObject() }, watch: { // \'object.crm_app.activity_id\': function (val, oldVal) { // console.log(`value changed from ${oldVal} to ${val}`) // }, }, data(){ return { object:{}, '; $components = []; foreach ($this->table->relationship() as $relation) { if (in_array($relation['laravel_name'], ['belongsTo']) && !in_array($relation['to_model_id'], $components)) { $script .= ''; $related_model = \App\Table::find($relation['to_model_id']); $components[] = $relation['to_model_id']; $script .= ' showForm_' . $related_model->variable . ' : false,' . "\n"; $script .= ' created' . $related_model->model . ' : {},' . "\n"; $script .= ' ' . $related_model->model . 'List:[],' . "\n"; } } $script .= ' }; }, filters:{ }, computed : { getId(){ return this.$route.params.' . strtolower(snake_case($this->table->model)) . '_id' . ' } }, methods: { fetchObject () { this.$http.get(\'/api/' . $this->devis->app_name . '/' . $this->table->name . '/\'+this.$route.params.' . strtolower(snake_case($this->table->model)) . '_id' . ').then(function (response) { this.object = response.data.data this.loading=false }, function (response) { // error callback }); }, goBack(){ this.$route.router.go(window.history.back()) }, getUrl(methodName){ id = this.$route.params.' . strtolower(snake_case($this->table->model)) . '_id' . ' return \'api/' . $this->devis->app_name . '/' . $this->table->name . '/\'+id+\'/\'+methodName }, getId(){ return this.$route.params.' . strtolower(snake_case($this->table->model)) . '_id' . ' } }, } '; // dd($script); $script .= '</script>' . "\n\n"; $script .= '<style>' . "\n\n"; $script .= '</style>' . "\n\n"; // File::put('uploads/bootstrapping/'.$this->devis->app_name.'/vue_components/'.$this->table->model.'/list.vue',$script); $this->createFile($this->path(), $this->devis->app_name, $script); }
Route::get('api/table/{table}/getHasManyRelations', function (App\Table $table) { // http://organit.app/api/table/1/fields return $table->hasHasManyRelationList(); }); Route::get('/api/allotments/{allotement}/allotmentFieldList', function (App\Allotment $allotement) { // http://organit.app/api/table/1/fields return $allotement->allotmentFields->load('allotment', 'field'); }); Route::post('api/table/createAllotmentOnTable/{table}/{raw}/{record}', function (App\Table $table, App\Raw $raw, App\Record $record) { // http://organit.app/api/table/1/fields // $aa = $record->record->records()->get(); // $field = \App\Field::find($record->field_id); foreach ($raw->records as $record) { $field = Field::find($record->field_id); if (Field::find($record->field_id)->name == 'slug') { $slugField = Field::find($record->field_id); continue; } } // dd($slugField); $slugRecord = Record::where('raw_id', $raw->id)->where('field_id', $slugField->id)->first(); $slugValue = $slugRecord->value; // dd($slugValue); $allotement = App\Allotment::create(['table_id' => $table->id, 'raw_id' => $raw->id, 'record_id' => $slugRecord->id]); return $allotement; // dd($aa); // dd($table->name, $record); }); Route::get('api/table/{table}/records', function (App\Table $table) { // http://organit.app/api/table/1/fields $class = $table->modelNamespaceClass();
public function handle() { $fakerScript = '<?php' . "\n\n"; foreach ($this->devis->tables()->where('model', '<>', '')->get() as $table) { // var_dump('------------------------',$table->name); // echo '<h5> <i style="color:green">></i> Preparing faker class for model <u style="color:#15c">'; // echo $table->name; // echo '</u></h5>'; if ($table->hasFixedRecords()) { $class = $table->modelNamespaceClass(); if (Schema::hasTable($table->TableName)) { $class::truncate(); } foreach ($table->raws as $raw) { $recordList = []; foreach ($raw->records as $record) { $recordList[$record->field->name] = $record->value; } $class::create($recordList); } continue; } //endif ($table->hasFixedRecords()) $fakerScript .= '$factory->define(' . $table->modelNamespace() . '\\' . $table->model . '::class, function (Faker\\Generator $faker) {' . "\n"; $fakerScript .= "\t" . '$faker = Faker\\Factory::create("fr_FR");' . "\n"; $fakerScript .= "\t" . 'return [' . "\n"; foreach ($table->fields as $field) { if ($field->is_incrementable) { continue; } $hasRelation = false; foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['hasMany', 'belongsTo'])) { $hasRelation = true; $related_table = Field::find($relation->pivot->to_field_id)->table; $toField = Field::find($relation->pivot->to_field_id); } // if ($related_table->name == 'vehicle_types') { // $fakerScript.="\t\t". '---->"'.$related_table->hasFixedRecords()."\n"; // # code... // } if ($related_table->hasFixedRecords()) { //dd($table->name,'123',$field->name); // $fakerScript.="\t\t". '"'.$field->name.'" => $faker->'.$toField->randomFixedRecord()."\n"; $fakerScript .= "\t\t" . '"' . $field->name . '" => $faker->randomElement($array = ' . $toField->randomFixedRecord() . '),' . "\n"; } else { $fakerScript .= "\t\t" . '"' . $field->name . '" => function () {' . "\n"; $fakerScript .= "\t\t\t" . 'return factory('; $fakerScript .= $related_table->modelNamespaceClass() . '::class'; $fakerScript .= ')->create()->'; //$fakerScript.='id'; $fakerScript .= $related_table->getPrimaries()->first()->name; $fakerScript .= ';' . "\n"; $fakerScript .= "\t\t" . '},' . "\n"; } } if (!$hasRelation) { $fakerScript .= "\t\t" . '"' . $field->name . '" => ' . $this->fakerMethod($field) . ',' . "\n"; } } $fakerScript .= "\t" . '];' . "\n"; $fakerScript .= '});' . "\n"; $fakerScript .= "\n\n"; } //File::put('uploads/bootstrapping/'.$this->devis->app_name.'/ModelFactory/ModelFactory.php',$fakerScript); $this->createFile('../database/factories/' . $this->devis->app_name . '_factory.php', $this->devis->app_name, $fakerScript); foreach ($this->devis->tables()->where('model', '<>', '')->get() as $table) { if ($table->hasFixedRecords()) { continue; } if (Schema::hasTable($table->tablename)) { // dd($table->modelNamespaceClass()); factory($table->modelNamespaceClass())->create(); // factory(\App\Models\Middle\Web\Provider::class)->create(); // echo "string"; } } // '../database/factories/'.$this->app_name.'_factory.php', }
public function VueformType(Field $field) { $asterix = ''; if ($field->isRequired()) { $asterix = '<span class="text-danger">*</span>'; } $toReturn = ' <div class="form-group ' . $field->name . '"> <div class="col-md-12 col-sm-12 "> <label for="' . $field->name . '" class="col-sm-2 control-label">' . $field->label . ' ' . $asterix . '</label> <div class="col-sm-10 "> ' . "\n"; $has_relation = false; foreach ($field->relations as $relation) { if (in_array($relation->pivot->laravel_name, ['belongsTo'])) { $has_relation = true; $related_model = \App\Field::find($relation->pivot->to_field_id)->table; $toReturn .= ' <div v-if="!showForm_' . $related_model->variable . '"> <select v-model="object.' . $field->name . '" class="form-control" ' . $field->vueValidateField() . '> <option v-for="' . $related_model->model . ' in ' . $related_model->model . 'List" :value="' . $related_model->model . '.' . $related_model->primary() . '"> '; foreach ($related_model->fields()->where('is_on_foreign_label', 1)->orderBy('order', 'asc')->get() as $foreignLabel) { $toReturn .= ' {{ ' . $related_model->model . '.' . $foreignLabel->name . ' }} '; } $toReturn .= ' </option> </select> '; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div> </div>' . "\n"; } $toReturn .= ' <div v-else> <input type="text" v-model="created' . $related_model->model . '.' . $related_model->primary() . '" v-validate:' . $field->vueValidationVariable() . '="{required:true}"> </div>'; // $toReturn.="<a target='_blank' class='pull-right btn btn-sm btn-success' href='{{route('".$basePath.".create')}}'><i class='fa fa-plus'></i> Create a ".$related_model->variable."</a>"."\n"; $toReturn .= ' <ui-icon-button v-if="!showForm_' . $related_model->variable . '" icon="add" @click.prevent="showForm_' . $related_model->variable . '= ! showForm_' . $related_model->variable . ', this.object.' . $related_model->variable . '_id=\'\'" tooltip="Add" type="normal" color="primary" class="pull-right" ></ui-icon-button> <ui-icon-button v-if="showForm_' . $related_model->variable . '" icon="remove" @click.prevent="showForm_' . $related_model->variable . '= ! showForm_' . $related_model->variable . '" tooltip="cancel" type="normal" color="default" class="pull-right" ></ui-icon-button> <div class="well" v-if="showForm_' . $related_model->variable . '"> <div v-if="created' . $related_model->model . '.' . $related_model->primary() . '">' . "\n"; $toReturn .= $this->tab7 . '<b>'; foreach ($related_model->fields()->where('is_on_foreign_label', 1)->orderBy('order', 'asc')->get() as $foreignLabel) { $toReturn .= ' {{ created' . $related_model->model . '.' . $foreignLabel->name . ' }} '; } $toReturn .= ' </b> </div> <div v-else> <' . $related_model->VueTag('form') . ' force-mode="create" :created-object.sync="created' . $related_model->model . '" ></' . $related_model->VueTag('form') . '> </div> </div> ' . "\n"; //:created-id.sync="object[\''.$field->name.'\']" } elseif ($relation->pivot->laravel_name == 'belongsToMany') { $has_relation = true; $related_model = \App\Table::find($relation->pivot->to_model); } } if (!$has_relation) { $toReturn .= "\t\t"; switch ($field->type->name) { case 'integer': case 'decimal': case 'bigint': $toReturn .= ' <input type="number" class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'string': $toReturn .= ' <input type="text" class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'password': $toReturn .= ' <input type="password" class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'email': $toReturn .= ' <input type="email" class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'currency': $toReturn .= '<input type="date" class="form-control datepicker" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'dateTime': case 'datetime': case 'time': case 'date': $toReturn .= '<input type="date" class="form-control datepicker" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'text': case 'mediumtext': case 'longtext': $toReturn .= ' <textarea class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '></textarea>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'binary': $toReturn .= ' <textarea class="form-control" v-model="object.' . $field->name . '" placeholder="' . $field->placeholder . '" ' . $field->vueValidateField() . '></textarea>' . "\n"; if ($field->hasValidation()) { $toReturn .= ' <div class="errors"> ' . $field->vueValidationErrors() . ' </div>' . "\n"; } break; case 'boolean': $toReturn .= ' <!-- <label class="radio-inline"> <input v-model="object.' . $field->name . '" type="radio" value="1"> Yes </label> <label class="radio-inline"> <input v-model="object.' . $field->name . '" type="radio" value="0"> No </label>--> <ui-switch :value.sync="object.' . $field->name . '" label="" ></ui-switch> '; break; } } // $toReturn.=" </div><p class='text-danger'>@if (\$errors->has('".$field->name."')) <span class='error'>{{ \$errors->first('".$field->name."') }}</span> @endif</p></div> "."\n\n"; $toReturn .= ' </div> </div> </div> ' . "\n\n"; return $toReturn; }