model = $newsletter; parent::__construct(); } /** * Display a listing of the resource. * * @return Response */ public function index(NewsletterAdminRequest $request) { if ($request->wantsJson()) { $array = $this->model->json(); foreach ($array as $key => $row) { $array[$key] = array_only($row, config('d_m_newsletter.newsletter.listfields')); } return ['data' => $array]; } $this->theme->prependTitle(trans('d_m_newsletter::newsletter.names').' :: '); return $this->theme->of('d_m_newsletter::admin.newsletter.index')->render(); } /** * Display the specified resource. * * @param Request $request * @param int $id * * @return Response */ public function show(NewsletterAdminRequest $request, $id) { $newsletter = $this->model->find($id); if (empty($newsletter)) { if ($request->wantsJson()) { return []; } return view('d_m_newsletter::admin.newsletter.new'); } if ($request->wantsJson()) { return $newsletter; } Former::populate($newsletter); return view('d_m_newsletter::admin.newsletter.show', compact('newsletter')); } /** * Show the form for creating a new resource. * * @param Request $request * * @return Response */ public function create(NewsletterAdminRequest $request) { $newsletter = $this->model->findOrNew(0); Former::populate($newsletter); return view('d_m_newsletter::admin.newsletter.create', compact('newsletter')); } /** * Display the specified resource. * * @param Request $request * * @return Response */ public function store(NewsletterAdminRequest $request) { try { $attributes = $request->all(); $newsletter = $this->model->create($attributes); return $this->success(trans('messages.success.created', ['Module' => trans('d_m_newsletter::newsletter.name')])); } catch (Exception $e) { return $this->error($e->getMessage()); } } /** * Show the form for editing the specified resource. * * @param Request $request * @param int $id * * @return Response */ public function edit(NewsletterAdminRequest $request, $id) { $newsletter = $this->model->find($id); Former::populate($newsletter); return view('d_m_newsletter::admin.newsletter.edit', compact('newsletter')); } /** * Update the specified resource. * * @param Request $request * @param int $id * * @return Response */ public function update(NewsletterAdminRequest $request, $id) { try { $attributes = $request->all(); $newsletter = $this->model->update($attributes, $id); return $this->success(trans('messages.success.updated', ['Module' => trans('d_m_newsletter::newsletter.name')])); } catch (Exception $e) { return $this->error($e->getMessage()); } } /** * Remove the specified resource. * * @param int $id * * @return Response */ public function destroy(NewsletterAdminRequest $request, $id) { try { $this->model->delete($id); return $this->success(trans('message.success.deleted', ['Module' => trans('d_m_newsletter::newsletter.name')]), 200); } catch (Exception $e) { return $this->error($e->getMessage()); } } }