/** * [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); }
public function insert_records() { $periods = Period::all(); $accounts = RegisterAccount::all(); $peirod_num = $periods->count(); $account_num = $accounts->count(); for ($i = 0; $i < 2000; ++$i) { $record = new RegisterRecord(); $account = $accounts[rand(0, $account_num - 1)]; $period = $periods[rand(0, $peirod_num - 1)]; $dt = rand(0, 99) < 90 ? $this->get_random_datetime() : date('Y-m-d H:i:s'); $record->created_at = $dt; $record->start = date('Y-m-d H:i:s', strtotime($dt) + 3600); if (rand(0, 1)) { $record->return_date = $this->get_random_date(); } $record->status = rand(0, 1); $record->fee = 1.0; if (rand(0, 1)) { $record->advice = "abcd1234"; } $record->account_id = $account->id; $record->user_id = $account->user_id; $record->period_id = $period->id; $record->doctor_id = $period->schedule->doctor_id; $period->current += 1; $period->save(); $record->save(); $message = new Message(); $message->from_uid = $record->user_id; $message->to_uid = $record->doctor->user->id; $message->content = $record->user->real_name . '挂号'; $message->timestamp = strtotime($dt); $message->status = 3; $message->save(); } }
/** * [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); }