/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @param                           $id
  *
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request, $id)
 {
     $this->validate($request, ['name' => 'required']);
     $alias = new TermAlias(['name' => $request->name]);
     $term = Term::findOrFail($id)->aliases()->save($alias);
     return redirect()->action('TermAliasesController@create', [$id])->with('success', $alias);
 }
Пример #2
0
 /**
  * Display the specified term.
  *
  * @Get("/{id}")
  * @Transaction(
  *     @Response(200, body={"id": 1, "name": "Fall", "year": "2015"}),
  *     @Response(404, body={"error": "not found"})
  * )
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     try {
         $term = Term::findOrFail($id);
         return response()->json($term);
     } catch (ModelNotFoundException $e) {
         return new JsonResponse(['error' => 'not found'], Response::HTTP_NOT_FOUND);
     }
 }
Пример #3
0
 /**
  * Store a newly created resource in storage.
  *
  * @Response(201)
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['member_id' => 'required|exists:members,id', 'reason' => 'required', 'term_id' => 'required|exists:terms,id']);
     $member = Member::findOrFail($request->input('member_id'));
     $term = Term::findOrFail($request->input('term_id'));
     $membership = new Membership();
     $membership->reason = $request->input('reason');
     $membership->term_id = $request->input('term_id');
     $member->memberships()->save($membership);
     return new JsonResponse($membership, Response::HTTP_CREATED);
 }
Пример #4
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     /* @var \App\Term */
     $term = Term::findOrFail($id);
     $this->validate($request, ['name' => 'required|max:100', 'definition' => 'required']);
     $term->fill($request->all())->save();
     Event::fire(new TermUpdated($term));
     if ($request->ajax()) {
         return compact('term');
     }
     return redirect()->route('terms');
 }
Пример #5
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     //$this->validate($request, ['name' => 'required']); // Uncomment and modify if needed.
     $term = Term::findOrFail($id);
     $update = $request->all();
     // is new image uploaded?
     if ($file = Input::file('image')) {
         $fileName = $file->getClientOriginalName();
         $extension = $file->getClientOriginalExtension() ?: 'png';
         $folderName = '/uploads/';
         $destinationPath = Config::get('app.path') . $folderName;
         $safeName = time() . "_" . str_random(10) . '.' . $extension;
         $file->move($destinationPath, $safeName);
         //delete old pic if exists
         if (File::exists(Config::get('app.path') . $term->image)) {
             File::delete(Config::get('app.path') . $term->image);
         }
         $update['image'] = $safeName ? $folderName . $safeName : '';
     }
     if (isset(Term::$boolean)) {
         foreach (Term::$boolean as $field) {
             if (isset($update[$field]) && $update[$field] == "on") {
                 $update[$field] = 1;
             } else {
                 $update[$field] = 0;
             }
         }
     }
     $term->update($update);
     return redirect('admin/terms')->with('success', Lang::get('message.success.update'));
 }