public function allServiceCats() { $all_cats = ServiceCategory::all(); return $all_cats; }
/** * [postData - handle company specific posted data] * @return [json] [DT compatible object] */ public function postData() { $Model = $this->modelName; // Build our Editor instance and process the data coming from _POST global $db; $data = Editor::inst($db, 'services')->fields(Field::inst('services.id'), Field::inst('services.name'), Field::inst('services.category_id'), Field::inst('service_categories.name'), Field::inst('services.invoice_periods_id'), Field::inst('invoice_periods.description'), Field::inst('services.status_id'), Field::inst('statuses.description'), Field::inst('services.default_monthly_costs'), Field::inst('services.comment'))->leftJoin('service_categories', 'service_categories.id', '=', 'services.category_id')->leftJoin('statuses', 'statuses.id', '=', 'services.status_id')->leftJoin('invoice_periods', 'invoice_periods.id', '=', 'services.invoice_periods_id')->process($_POST)->data(); $data['service_categories'] = ServiceCategory::all(['id AS value', 'name AS label']); $data['statuses'] = Status::all(['id AS value', 'description AS label']); $data['invoice_periods'] = Period::all(['id AS value', 'description AS label']); return Response::json($data); }
/** * [postModelData - handle company specific posted subscriptions data] * @param [Eloquent model] $model [company model] * @return [json] [DT compatible object] */ public function postModelData($model) { $Model = $this->modelName; if (isset($_POST["data"]) && !empty($_POST["data"])) { $tot_price_str = $_POST['data']['subscriptions']['total_price']; if (empty($tot_price_str)) { $subs_id = (int) $_POST['data']['subscriptions']['id']; $subscription = Subscription::find($subs_id); $tot_price_str = $this->subscriptionTotalPrice($_POST['data']['subscriptions']['subscription_start'], $_POST['data']['subscriptions']['subscription_end'], $_POST['data']['subscriptions']['invoice_periods_id'], $_POST['data']['subscriptions']['price']); $_POST['data']['subscriptions']['total_price'] = $tot_price_str; } //error_log("Le POST".json_encode($_POST['data']['subscriptions']['total_price'])); } // Build our Editor instance and process the data coming from _POST global $db; $data = Editor::inst($db, 'subscriptions')->fields(Field::inst('subscriptions.id'), Field::inst('subscriptions.company_id'), Field::inst('service_categories.id'), Field::inst('service_categories.name'), Field::inst('subscriptions.service_id'), Field::inst('services.name'), Field::inst('subscriptions.description'), Field::inst('subscriptions.price'), Field::inst('subscriptions.total_price'), Field::inst('subscriptions.subscription_start'), Field::inst('subscriptions.subscription_end')->validator(function ($val, $data, $opts) { $date_start = strtotime($data['subscriptions']['subscription_start']); $date_end = strtotime($data['subscriptions']['subscription_end']); return $date_end > $date_start ? true : "Error: End date precedes start date"; }), Field::inst('subscriptions.invoice_id'), Field::inst('subscriptions.invoice_periods_id'), Field::inst('invoice_periods.description'), Field::inst('subscriptions.status_id'), Field::inst('statuses.description'), Field::inst('subscriptions.status_date'))->leftJoin('invoice_periods', 'invoice_periods.id', '=', 'subscriptions.invoice_periods_id')->leftJoin('statuses', 'statuses.id', '=', 'subscriptions.status_id')->leftJoin('companies', 'companies.id', '=', 'subscriptions.company_id')->leftJoin('services', 'services.id', '=', 'subscriptions.service_id')->leftJoin('service_categories', 'service_categories.id', '=', 'services.category_id')->process($_POST)->data(); $data['companies'] = Company::all(['id AS value', 'bedrijfsnaam AS label']); $data['services'] = Service::all(['id AS value', 'name AS label']); $data['service_categories'] = ServiceCategory::all(['id AS value', 'name AS label']); $data['statuses'] = Status::all(['id AS value', 'description AS label']); $data['invoice_periods'] = Period::all(['id AS value', 'description AS label']); return Response::json($data); }