Esempio n. 1
0
 /**
  * Handle a member sign-up received through Typeform
  *
  * @param $data
  */
 protected function handleSignup($data)
 {
     $user = new User();
     $membership = null;
     foreach ($data->form_response->answers as $answer) {
         switch ($answer->field->id) {
             case 34684524:
                 // "Hva heter du?"
                 $user->name = $answer->text;
                 break;
             case 34684651:
                 // "Hva er mobilnummeret ditt?"
                 $user->phone = $answer->text;
                 break;
             case 34684952:
                 // "Hva er e-postadressen din?"
                 $user->email = $answer->email;
                 break;
             case 34688420:
                 // "Når ble du født?"
                 $user->birth_date = $answer->date;
                 break;
             case 35451671:
                 // "Hva er postnummeret ditt?"
                 $user->postal_code = $answer->text;
                 break;
             case 34686331:
                 // "Hvordan ble du kjent med Alternativet?"
                 break;
             case 34688877:
                 // "Vil du være med på dugnad?"
                 break;
             case 34685729:
                 // "Ønsker du medlemskap i Alternativet?"
                 $membership = new Membership();
                 $membership->valid_from = Carbon::now();
                 $membership->valid_to = Carbon::now()->addYear();
                 break;
             case 34685206:
                 // "Vil du bidra med penger til Alternativets aktiviteter?"
                 break;
             case 34688977:
                 //
                 break;
         }
     }
     // Check if there's a already a registered user with the same email address and/or phone number
     if (User::where('email', $user->email)->count() > 0) {
         // User already exists, so we'll send an email instead of overwriting the existing record
         // @todo
         return;
     }
     $user->save();
     if (isset($membership)) {
         $membership->user()->associate($user);
         $membership->save();
     }
 }
Esempio n. 2
0
 /**
  * Activate the user's membership
  */
 public function activateMembership()
 {
     $user = JWTAuth::parseToken()->authenticate();
     if (!$user->membership->isEmpty()) {
         throw new \Dingo\Api\Exception\StoreResourceFailedException('Membership already exists.');
     }
     $membership = new Membership();
     $membership->user()->associate($user);
     $membership->save();
     // Mail::to($user->email)->send(new ResetPassword($user, $token));
 }