Exemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $result = Validator::make(Input::all(), ['title' => 'required', 'author' => 'required', 'publisher' => 'required', 'isbn' => "required|max:13|min:13|regex:/^[1-9][0-9]{12}\$/"], ['title.required' => 'Book title is required', 'author.required' => 'Book author is required', 'isbn.required' => 'ISBN is required', 'isbn.max' => 'ISBN must be exactly 13 characters', 'isbn.min' => 'ISBN must be exactly 13 characters', 'isbn.regex' => 'ISBN must contain numbers only.', 'publisher.required' => 'Publisher is required']);
     if ($result->fails()) {
         $result->errors()->add('submitted', 1);
         $result->errors()->add('desc', Input::get('description') !== "" ? TRUE : FALSE);
         return redirect()->route('books.new')->withErrors($result->errors())->withInput();
     }
     $author_id = $request->get('author_id');
     if (intval($author_id) == -1) {
         $new_author = new Author();
         $new_author->author_name = $request->get('author');
         $new_author->save();
         $author_id = $new_author->id;
         // Create copy of newly created author
         $new_author = new Author();
         $new_author->author_name = $request->get('author');
         $new_author->record_id = $author_id;
         $new_author->save();
     }
     $publisher_id = $request->get('publisher_id');
     if (intval($publisher_id) == -1) {
         $new_publisher = new Publisher();
         $new_publisher->name = $request->get('publisher');
         $new_publisher->save();
         $publisher_id = $new_publisher->id;
         // Create copy of newly created publisher
         $new_publisher = new Publisher();
         $new_publisher->name = $request->get('publisher');
         $new_publisher->record_id = $publisher_id;
         $new_publisher->save();
     }
     $book = new Books();
     $book->title = $request->get("title");
     $book->author_id = $author_id;
     $book->publisher_id = $publisher_id;
     $book->isbn = $request->get("isbn");
     $book->description = $request->get('description');
     $book->date_published = $request->get('date_published');
     $book->save();
     $book_id = $book->id;
     // Create copy of newly created book
     $book = new Books();
     $book->title = $request->get("title");
     $book->author_id = $author_id;
     $book->publisher_id = $publisher_id;
     $book->isbn = $request->get("isbn");
     $book->description = $request->get('description');
     $book->date_published = $request->get('date_published');
     $book->record_id = $book_id;
     $book->save();
     return redirect()->route('books.home')->with('status', "New book created");
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     if ($request->get('type') == 'async') {
         $validator = Validator::make(Input::all(), ['publisher_name' => 'required|min:5'], ['publisher_name.required' => 'Publisher name is required. Publisher not saved.', 'publisher_name.min' => 'Publisher name must be minimum of 5 characters']);
         if ($validator->fails()) {
             $return['error'] = $validator->errors();
             $return['model'] = ['publisher_name' => FALSE, 'id' => FALSE];
             echo json_encode($return);
             return;
         }
         $return['error'] = $validator->errors();
         $publisher = new Publisher();
         $publisher->name = $request->get('publisher_name');
         $publisher->save();
         $publisher_id = $publisher->id;
         $publisher = new Publisher();
         $publisher->name = $request->get('publisher_name');
         $publisher->record_id = $publisher_id;
         $publisher->save();
         $return['model'] = ['publisher_name' => $request->get('publisher_name'), 'id' => $publisher_id];
         echo json_encode($return);
         return;
     }
 }
 public function getList()
 {
     $d = [];
     // GET LAST THREE YEARS OF DATA
     for ($i = 0; $i < 3; $i++) {
         $year = date("Y") - $i;
         $data = ['dependencia' => '901', "ejercicio" => $year];
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
         curl_setopt($ch, CURLOPT_URL, $this->apiContratos);
         curl_setopt($ch, CURLOPT_POST, true);
         curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
         $result = curl_exec($ch);
         $excercise = json_decode($result);
         $d = array_merge($d, $excercise);
     }
     // SAVE THEM TO THE DB
     foreach ($d as $c) {
         $contract = Contract::firstOrCreate(['ocdsid' => $c->ocdsID, 'ejercicio' => $c->ejercicio, 'cvedependencia' => $c->cveDependencia, 'nomDependencia' => $c->nomDependencia]);
         // save extra data
         $meta = $this->getMetaDataX($contract);
         if (!empty($meta) && !property_exists($meta, 'error')) {
             // add extra data to contracts
             $contract->uri = $meta->uri;
             $contract->published_date = date("Y-m-d", strtotime($meta->publishedDate));
             // create the publisher
             $contract->publisher_id = Publisher::firstOrCreate(["scheme" => $meta->publisher->scheme, "name" => $meta->publisher->name, "uri" => $meta->publisher->uri, "uid" => $meta->publisher->uid]);
             // update contract
             $contract->update();
             // create releases
             foreach ($meta->releases as $r) {
                 $release = Release::firstOrCreate(["local_id" => $r->id, "contract_id" => $contract->id, "ocid" => $contract->ocdsid, "date" => date("Y-m-d", strtotime($r->date)), "initiation_type" => $r->initiationType, "language" => $r->language]);
                 if (count($r->awards)) {
                     foreach ($r->awards as $aw) {
                         $award = Award::firstOrCreate(["release_id" => $release->id, "local_id" => $aw->id]);
                         $award->title = $aw->title;
                         $award->description = $aw->description;
                         $award->status = $aw->status;
                         $award->date = date("Y-m-d", strtotime($aw->date));
                         $award->value = $aw->value->amount;
                         $award->currency = $aw->value->currency;
                         $award->update();
                         if (count($aw->items)) {
                             foreach ($aw->items as $it) {
                                 $item = $award->items()->firstOrCreate(['local_id' => $it->id]);
                                 $item->quantity = $it->quantity;
                                 $item->description = $it->description;
                                 $item->unit = $it->unit->name;
                                 $item->update();
                             }
                         }
                         if (count($aw->suppliers)) {
                             foreach ($aw->suppliers as $sup) {
                                 $supplier = Supplier::firstOrCreate(["award_id" => $aw->id, "rfc" => $sup->identifier->id]);
                                 $supplier->name = $sup->name;
                                 $supplier->street = $sup->address->streetAddress;
                                 $supplier->locality = $sup->address->locality;
                                 $supplier->region = $sup->address->region;
                                 $supplier->zip = $sup->address->postalCode;
                                 $supplier->country = $sup->address->countryName;
                                 $supplier->contact_name = $sup->contactPoint->name;
                                 $supplier->email = $sup->contactPoint->email;
                                 $supplier->phone = $sup->contactPoint->telephone;
                                 $supplier->fax = $sup->contactPoint->faxNumber;
                                 $supplier->url = $sup->contactPoint->url;
                                 $supplier->update();
                             }
                         }
                     }
                 }
                 if (count($r->contracts)) {
                     foreach ($r->contracts as $single) {
                         $single_contract = SingleContract::firstOrCreate(["local_id" => $single->id, "release_id" => $release->id]);
                         $single_contract->award_id = $single->awardID;
                         $single_contract->title = $single->title;
                         $single_contract->description = $single->description;
                         $single_contract->status = $single->status;
                         $single_contract->contract_start = $single->period ? date("Y-m-d", strtotime($single->period->startDate)) : null;
                         $single_contract->contract_end = $single->period ? date("Y-m-d", strtotime($single->period->endDate)) : null;
                         $single_contract->amount = $single->value->amount;
                         $single_contract->currency = $single->value->currency;
                         $single_contract->date_signed = $single->dateSigned ? date("Y-m-d", strtotime($single->dateSigned)) : null;
                         $single_contract->documents = count($single->documents);
                         // ? implode(',',$r->tender->submissionMethod) : null;
                         $single_contract->update();
                         if (count($single->items)) {
                             foreach ($single->items as $it) {
                                 $item = $single_contract->items()->firstOrCreate(['local_id' => $it->id]);
                                 $item->quantity = $it->quantity;
                                 $item->description = $it->description;
                                 $item->unit = $it->unit->name;
                                 $item->update();
                             }
                         }
                     }
                 }
                 // create planning
                 if ($r->planning) {
                     $planning = Planning::firstOrCreate(["release_id" => $release->id]);
                     $planning->amount = $r->planning->budget->amount->amount;
                     $planning->currency = $r->planning->budget->amount->currency;
                     $planning->project = $r->planning->budget->project;
                     $planning->update();
                     //$release->planning_id = $planning->id;
                 }
                 // create tender
                 if ($r->tender) {
                     $tender = Tender::firstOrCreate(["release_id" => $release->id]);
                     $tender->local_id = $r->tender->id;
                     $tender->title = $r->tender->title;
                     $tender->description = $r->tender->description;
                     $tender->status = $r->tender->status;
                     $tender->amount = $r->tender->value ? $r->tender->value->amount : null;
                     $tender->currency = $r->tender->value ? $r->tender->value->currency : null;
                     $tender->procurement_method = $r->tender->procurementMethod;
                     $tender->award_criteria = $r->tender->awardCriteria;
                     $tender->tender_start = $r->tender->tenderPeriod ? date("Y-m-d", strtotime($r->tender->tenderPeriod->startDate)) : null;
                     $tender->tender_end = $r->tender->tenderPeriod ? date("Y-m-d", strtotime($r->tender->tenderPeriod->endDate)) : null;
                     $tender->enquiry_start = $r->tender->enquiryPeriod ? date("Y-m-d", strtotime($r->tender->enquiryPeriod->startDate)) : null;
                     $tender->enquiry_end = $r->tender->enquiryPeriod ? date("Y-m-d", strtotime($r->tender->enquiryPeriod->endDate)) : null;
                     $tender->award_start = $r->tender->awardPeriod ? date("Y-m-d", strtotime($r->tender->awardPeriod->startDate)) : null;
                     $tender->award_end = $r->tender->awardPeriod ? date("Y-m-d", strtotime($r->tender->awardPeriod->endDate)) : null;
                     $tender->has_enquiries = $r->tender->hasEnquiries;
                     $tender->eligibility_criteria = $r->tender->eligibilityCriteria;
                     $tender->submission_method = count($r->tender->submissionMethod) ? implode(',', $r->tender->submissionMethod) : null;
                     $tender->number_of_tenderers = $r->tender->numberOfTenderers;
                     $tender->update();
                     if (count($r->tender->tenderers)) {
                         foreach ($r->tender->tenderers as $tn) {
                             $tenderer = Tenderer::firstOrCreate(["rfc" => $tn->identifier->id]);
                             $tenderer->name = $tn->name;
                             $tenderer->street = $tn->address->streetAddress;
                             $tenderer->locality = $tn->address->locality;
                             $tenderer->region = $tn->address->region;
                             $tenderer->zip = $tn->address->postalCode;
                             $tenderer->country = $tn->address->countryName;
                             $tenderer->contact_name = $tn->contactPoint->name;
                             $tenderer->email = $tn->contactPoint->email;
                             $tenderer->phone = $tn->contactPoint->telephone;
                             $tenderer->fax = $tn->contactPoint->faxNumber;
                             $tenderer->url = $tn->contactPoint->url;
                             $tenderer->update();
                         }
                     }
                     if (count($r->tender->items)) {
                         foreach ($r->tender->items as $it) {
                             $item = $tender->items()->firstOrCreate(['local_id' => $it->id]);
                             $item->quantity = $it->quantity;
                             $item->description = $it->description;
                             $item->unit = $it->unit->name;
                             $item->update();
                         }
                     }
                 }
                 // create buyer
                 if ($r->buyer) {
                     $buyer = Buyer::firstOrCreate(["local_id" => $r->buyer->identifier->id, "name" => $r->buyer->name]);
                     $buyer->uri = $r->buyer->identifier->uri;
                     $buyer->update();
                     $release->buyer_id = $buyer->id;
                     $release->update();
                 }
             }
         }
     }
     echo ":D";
 }
Exemplo n.º 4
0
 public function edit($bookID)
 {
     if ($this->petugas == null) {
         header("Location: " . base . "/Auth");
         exit;
     }
     $book = Book::find($bookID);
     $categories = Category::all();
     $publishers = Publisher::all();
     $this->view->render('admin/add_book', ['categories' => $categories, 'publishers' => $publishers, 'book' => $book, 'petugas' => $this->petugas]);
 }
Exemplo n.º 5
0
                    data-success-message="Category %name% successfully created"
                    class="btn btn-link add-new">
                Add new
            </button>
        </div>
    </div>
    <div class="form-group">
        <label for="publisher" class="col-lg-2 control-label">Publisher</label>

        <div class="col-lg-8">
            <select id="publisher"
                    class="selectpicker form-control"
                    name="publisherId"
                    data-live-search="true">
                <?php 
$rows = Publisher::find()->all();
?>
                <?php 
foreach ($rows as $row) {
    ?>
                    <?php 
    if (!empty($model->bookPublisher)) {
        ?>
                        <?php 
        $selectedRow = $model->bookPublisher->id === $row->id;
        ?>
                    <?php 
    } elseif (!empty($formData['publisher'])) {
        ?>
                        <?php 
        $selectedRow = $row->id == $formData['publisher'][0];
Exemplo n.º 6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getBookPublisher()
 {
     return $this->hasOne(Publisher::className(), ['id' => 'publisherId']);
 }
 private function savePublisher($contract, $data)
 {
     // create the publisher
     $contract->publisher_id = Publisher::firstOrCreate(["scheme" => $data->publisher->scheme, "name" => $data->publisher->name, "uri" => $data->publisher->uri, "uid" => $data->publisher->uid]);
     $contract->update();
     return $contract;
 }
Exemplo n.º 8
0
 public function delete($publisherID)
 {
     Publisher::destroy($publisherID);
     header("Location: " . base . "/Publisher");
 }
Exemplo n.º 9
0
            Route::post('/modify-genre', ['as' => 'genre.async.modifyGenre', 'middleware' => 'web', 'uses' => 'GenresController@update']);
            Route::post('/list', ['as' => 'genres.async.list', 'middleware' => 'web', 'uses' => 'GenresController@index']);
        });
    });
    Route::group(['prefix' => 'author'], function () {
        Route::group(['prefix' => '/async'], function () {
            Route::get('/all', ['as' => 'author.async.all', function () {
                return \App\Models\Author::where('record_id', NULL)->orderBy('author_name')->get();
            }]);
            Route::post('/new-author', ['as' => 'author.async.newAuthor', "middleware" => "web", 'uses' => 'AuthorsController@store']);
        });
    });
    Route::group(['prefix' => 'publisher'], function () {
        Route::group(['prefix' => '/async'], function () {
            Route::get('/all', ['as' => 'publisher.async.all', function () {
                return \App\Models\Publisher::where('record_id', NULL)->get();
            }]);
            Route::post('/new-publisher', ['as' => 'publisher.async.newPublisher', "middleware" => "web", 'uses' => 'PublishersController@store']);
        });
    });
});
Route::any('/', ["as" => "catalog.index", "uses" => "CatalogController@index"]);
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|