public function postNew() { if (Input::get('name') != null) { $vis = new \App\VisualizationProject(); $vis->name = Input::get('name'); $user = Auth::user(); $vis->user_id = $user->id; $dataset = Dataset::findOrFail(Input::get('datasetid')); $dataset->projects()->save($vis); Session::put('visualizationid', $vis->id); return redirect('dataset/selection/' . $vis->id); } else { return response()->json(['status' => 'failed']); } }
* Dataset Routes */ Route::get('dataset', 'DatasetController@index'); Route::get('dataset/create', function () { return view('back.dataset.create'); }); Route::post('dataset', 'DatasetController@store'); Route::get('dataset/{id}/edit', 'DatasetController@edit'); Route::post('dataset/update', 'DatasetController@update'); Route::get('dataset/{id}/destroy', 'DatasetController@destroy'); Route::get('dataset/{id}/import/standarditem', function ($id) { return view('back.dataset.import.standarditem')->with('dataset', \App\Dataset::findOrFail($id)); }); Route::post('dataset/import/standarditem', 'DatasetController@importStandardItem'); Route::get('dataset/{id}/import/item', function ($id) { return view('back.dataset.import.item')->with('dataset', \App\Dataset::findOrFail($id)); }); Route::post('dataset/import/item', 'DatasetController@importItem'); /** * Goods Routes */ Route::get('goods/create', 'GoodsController@create'); Route::post('goods/store', 'GoodsController@store'); Route::get('goods', 'GoodsController@index'); Route::get('goods/{id}/edit', 'GoodsController@edit'); Route::post('goods/update', 'GoodsController@update'); Route::get('goods/{id}/destroy', 'GoodsController@destroy'); Route::get('goods/{id}/available', 'GoodsController@available'); Route::get('goods/{id}/unavailable', 'GoodsController@unavailable'); /** * Awards Routes
public function getIndex() { //return response()->json(Session::get('mappings')); // get selected mapping $mappingid = Input::get('mappingid'); $mappings = Session::get('mappings'); $mapping = $mappings[$mappingid]; // get selected columns name $header = []; $dataset = \App\Dataset::findOrFail($mapping->datasetid); $tablename = $dataset->table_name; $attributes = $dataset->attributes()->get(); $header = $mapping->mappingname; // get project $project = \App\VisualizationProject::findOrFail(Session::get('visualizationid')); // select only selected columns only $datasetdata = DB::connection('dataset')->table($tablename)->select($header); $sortdata = null; foreach ($project->dataSelections as $selection) { if ($selection->operand == "##SORTBY##") { $sortdata = $selection; } else { $datasetdata = $datasetdata->where($selection->column_name, $selection->operator, $selection->operand); } } if ($sortdata !== null) { $sorttype = $sortdata->operator == '>' ? 'asc' : 'desc'; $datasetdata = $datasetdata->orderBy($sortdata->column_name, $sorttype); } $datasetdata = $datasetdata->get(); if (Session::get('aggregate')) { // aggregate dataset foreach ($header as $attribute) { // check if there is an attribute that contain aggregation information $categoryData = $dataset->categories()->where('name', $attribute)->first(); if ($categoryData != null) { $categories = DB::connection('dataset')->table($tablename)->select($attribute)->distinct()->get(); $rowsData = []; foreach ($categories as $category) { $rows = DB::connection('dataset')->table($tablename)->where($attribute, $category->{$attribute})->get(); $rowData = (object) []; // initialize rowdata foreach ($header as $att) { $rowData->{$att} = 0; } foreach ($rows as $row) { foreach ($header as $att) { if ($att == $attribute) { $rowData->{$att} = $row->{$att}; } else { if (is_numeric($row->{$att})) { $rowData->{$att} += $row->{$att}; //var_dump($row->$att); } else { $rowData->{$att} = $row->{$att}; } } } } //exit(); $rowsData[] = $rowData; if ($categoryData->type == "AVERAGE") { foreach ($header as $att) { if ($att != $attribute) { if (is_numeric($row->{$att})) { $rowData->{$att} /= count($rows); } } } } } $datasetdata = $rowsData; break; } } } // join dataset with header $data[] = $header; foreach ($datasetdata as $set) { $row = []; foreach ($set as $value) { $row[] = $value; } $data[] = $row; } // get visualization visual variable information $visualization = \App\Visualization::findOrFail($mapping->visualizationid); $category = []; // save which data/column is used as category for ($i = 0; $i < count($visualization->visualVariables); $i++) { if ($visualization->visualVariables[$i]->pivot->type == "category") { $category[] = $header[$i]; } $test[] = [$i, $visualization->visualVariables[$i]->pivot->type]; } //return response()->json($test); $visdata = ['visualization' => $visualization->name, 'category' => $category, 'header' => $header, 'data' => $data, 'activities' => $visualization->activities]; Session::put('visdata', (object) $visdata); // Call the view and then wait for data request return view('visualization.view', ['projectname' => $project->name]); }
public function standardItem2DBImpl($path, $datasetId) { if (StandardItem::where('dataset_id', $datasetId)->count() == 0) { $maxID = DB::table("standard_items")->max('id'); if ($maxID == null) { $maxID = 1; } else { $maxID += 1; } $dataset = Dataset::findOrFail($datasetId); $dataset->current_standard_id = $maxID; $dataset->save(); } $fh = fopen($path, 'r'); while ($line = fgets($fh)) { $row = explode(",", $line); StandardItem::create(['name' => $row[0], 'slug' => $row[1], 'path' => $row[2], 'dataset_id' => $datasetId]); } fclose($fh); }