예제 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  PersonCreate  $request
  * @return Response
  */
 public function store(PersonCreate $request)
 {
     $date = $request->all();
     //
     $user = User::find($request->user);
     $pinfo = new Person();
     $pinfo->email = $request->input('email');
     $pinfo->phoneNumber = $request->input('phoneNumber');
     $pinfo->personalNumber = $request->input('personalNumber');
     //dd($pinfo);
     $user->Person()->save($pinfo);
     $persons = Person::All();
     return redirect()->action('PersonController@index');
 }
 /**
  * Update a new task: load date and forward to view
  *
  * @param  Request  $request, Task $task
  * @return view
  */
 public function update(Request $request, Person $person)
 {
     $user = User::find($request->user()->id);
     $categories = Category::where('is_note', '=', 0)->orderBy('seq')->get();
     $tags = Tag::All(['id', 'name', 'css_class']);
     $parents = Person::All(['id', 'lastname', 'surname']);
     //get next id
     $persons = DB::table('persons')->leftjoin('categories', 'persons.category_id', '=', 'categories.id')->select('persons.id as id');
     //handle categories
     $ses_category_id = $request->session()->get('person_category_id');
     if ($ses_category_id) {
         $persons->where('category_id', '=', $ses_category_id);
     }
     //handle search tags
     $search = $request->session()->get('person_search');
     if (strlen($search) > 0) {
         $search_array = explode(",", $search);
         $tags_sel = Tag::find($search_array);
         foreach (explode(",", $search) as $s) {
             $persons->where('tag_ids', 'like', "%" . $s . "%");
         }
     }
     //handle search text
     $search_text = $request->session()->get('person_search_text');
     if (strlen($search_text) > 0) {
         $persons->where('persons.searchname', 'like', "%" . $search_text . "%");
     }
     //handle sort order
     $order = $request->session()->get('person_order');
     if (!$order) {
         $order = 'lastname';
     }
     //handle sort direction
     $dir = $request->session()->get('person_dir');
     if (!$dir) {
         $dir = 'ASC';
     }
     //handle filters
     $filter_parent = $request->session()->get('filter_parent');
     if ($filter_parent == 1) {
         $persons->where('parent_id', '=', 0);
     }
     $filter_child = $request->session()->get('filter_child');
     if ($filter_child == 1) {
         $persons->where('parent_id', '>', 0);
     }
     $filter_birthday = $request->session()->get('filter_birthday');
     if ($filter_birthday == 1) {
         $persons->where('birthday', '>', 0);
         $order = 'birthday';
     }
     $pagination_number = $request->session()->get('pagination_number');
     $persons = $persons->orderBy($order, $dir)->orderBy('searchname')->paginate($pagination_number);
     $previous_id = 0;
     $next_id = 0;
     $counter = 0;
     $found = false;
     foreach ($persons as $temp) {
         if ($found) {
             $next_id = $temp->id;
             break;
         }
         if ($temp->id == $person->id) {
             $found = true;
         }
         $counter++;
         if (!$found) {
             $previous_id = $temp->id;
         }
     }
     $tags_sel = Tag::find(explode(",", $person->tag_ids));
     $children = Person::where('parent_id', '=', $person->id)->orderBy('searchname')->get();
     return view('persons.update', ['categories' => $categories, 'person' => $person, 'category_id' => False, 'tags' => $tags, 'tags_sel' => $tags_sel, 'parents' => $parents, 'next_id' => $next_id, 'previous_id' => $previous_id, 'counter' => $counter, 'total' => count($persons), 'children' => $children, 'page' => $request->session()->get('person_page')])->withPerson($person);
 }