コード例 #1
0
ファイル: GroupTableSeeder.php プロジェクト: kocsenc/api
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $group = new Group();
     $group->name = 'Projects';
     $group->officer_id = 1;
     $group->save();
     $group->members()->attach(1);
 }
コード例 #2
0
 public function createGroup(Request $request)
 {
     $user = Auth::user();
     $group = new Group();
     $group->gname = $request->input('gname');
     $group->user_id = $user->id;
     $group->save();
     $group->members()->attach(array($user->id));
     //Adds user as member of group
     return Redirect::action('PagesController@dashboard');
 }
コード例 #3
0
 public function store()
 {
     $rules = ['name' => 'required'];
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     } else {
         $group = new Group(Input::only(['name', 'description']));
         $group->save();
         $memberDatas = [];
         $members = Input::has('members') ? Input::get('members') : [];
         foreach ($members as $member) {
             $memberDatas[$member] = ['is_owner' => 0];
         }
         $owners = Input::has('owners') ? Input::get('owners') : [];
         foreach ($owners as $owner) {
             $memberDatas[$owner] = ['is_owner' => 1];
         }
         $memberDatas[Auth::user()->id] = ['is_owner' => 1];
         $group->members()->sync($memberDatas);
         return Redirect::to(route('group.edit', ['groupId' => $group->id]))->with(['success_message' => 'Created!']);
     }
 }
コード例 #4
0
 /**
  * Sync list of members in the database
  *
  * @param Group $group      The group to sync members with
  * @param array $members    The members that belong in the group
  */
 public function syncMembers(Group $group, array $members)
 {
     $group->members()->sync($members);
 }
コード例 #5
0
ファイル: GroupController.php プロジェクト: abada/pleem
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $cfg = Config::first();
     // Check config if registration is enabled
     if (!$cfg->registration_enabled) {
         return response()->json(["msg" => "registrations are disabled"], 403);
     }
     $v = Validator::make($request->all(), ['name' => 'required|max:255|unique:groups', 'members' => 'required|array']);
     for ($n = 0; $n < count($request->members); $n++) {
         $v->sometimes("members.{$n}.email", 'required|email|max:255', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.password", 'required|confirmed|min:6', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.first_name", 'required|max:255', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.last_name", 'required|max:255', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.birthdate", 'required|date', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.sex", 'required|in:m,f', function ($input) use($n) {
             return count($input->members >= $n);
         });
         $v->sometimes("members.{$n}.country", 'required', function ($input) use($n) {
             return count($input->members >= $n);
         });
         //$v->sometimes("members.$n.cv", 'required|mimes:pdf', function($input) use($n) { return count($input->members >= $n); });
     }
     $v->after(function ($validator) use($request) {
         if (count($request->members) < 1 || count($request->members) > 3) {
             $validator->errors()->add('members', 'Only 1-3 members are accepted');
         }
     });
     if ($v->fails()) {
         return response()->json($v->errors(), 400);
     }
     // validate all members have correct auth or do not exist yet
     foreach ($request->members as $m) {
         $qm = Member::where('email', $m['email']);
         if ($qm->exists()) {
             // Check password
             if (!Auth::once(['email' => $m['email'], 'password' => $m['password']])) {
                 return response()->json(["msg" => "User already exists, and password is incorrect", "offender" => $m['email']], 400);
             }
         }
     }
     $group = new Group($request->only('name'));
     $group->save();
     // create or register to the group all the members
     foreach ($request->members as $m) {
         $qm = Member::where('email', $m['email']);
         if (!$qm->exists()) {
             $qm = new Member($m);
             $qm->password = Hash::make($m['password']);
             $group->members()->save($qm);
             // Handle cv PDF
             //if ($m['cv']->isValid()) {
             //    $m['cv']->move(storage_path('app/cvs'), $qm->id.'.pdf');
             //}
         }
     }
     Mail::send('emails.admin.groupCreated', ['group' => $group], function ($m) use($group, $cfg) {
         $m->from('*****@*****.**', 'EESTEC Android Competition');
         $m->to($cfg->admin_email, 'ECA Admin')->subject('New group registered!');
     });
     return response()->json($group);
 }