Example #1
0
 public function indexAction(Request $request, SessionInterface $session)
 {
     Util::checkUserIsLoggedInAndRedirect();
     $clientDomain = $session->get('client/company_domain');
     $organizationId = $request->query->get('id');
     $errors = array('empty_email' => false, 'email_not_valid' => false, 'email_already_exists' => false);
     $organizations = $this->getRepository(Organization::class)->getByClientId($session->get('client/id'));
     if ($request->request->has('confirm_new_customer')) {
         $email = Util::cleanRegularInputField($request->request->get('email'));
         $firstName = Util::cleanRegularInputField($request->request->get('first_name'));
         $lastName = Util::cleanRegularInputField($request->request->get('last_name'));
         if (empty($email)) {
             $errors['empty_email'] = true;
         } else {
             if (!Util::isValidEmail($email)) {
                 $errors['email_not_valid'] = true;
             }
         }
         $emailData = $this->getRepository(UbirimiUser::class)->getUserByClientIdAndEmailAddress($session->get('client/id'), mb_strtolower($email));
         if ($emailData) {
             $errors['email_already_exists'] = true;
         }
         if (Util::hasNoErrors($errors)) {
             $password = Util::randomPassword(8);
             $userId = UbirimiContainer::get()['user']->newUser(array('clientId' => $session->get('client/id'), 'firstName' => $firstName, 'lastName' => $lastName, 'password' => $password, 'email' => $email, 'isCustomer' => true, 'clientDomain' => $session->get('client/company_domain')));
             if ($organizationId) {
                 $this->getRepository(Customer::class)->create($organizationId, $userId);
                 return new RedirectResponse('/helpdesk/administration/customers?id=' . $organizationId);
             }
             return new RedirectResponse('/helpdesk/administration/customers');
         }
     }
     $menuSelectedCategory = 'general_user';
     $sectionPageTitle = $session->get('client/settings/title_name') . ' / GeneralSettings Settings / Create User';
     return $this->render(__DIR__ . '/../../../Resources/views/administration/customer/Add.php', get_defined_vars());
 }
Example #2
0
 public static function updatePasswordForClientAdministrator($userId)
 {
     $query = 'update general_user set password = ? where id = ? and client_administrator_flag = 1 limit 1';
     $pass = Util::randomPassword(8);
     $hash = UbirimiContainer::get()['password']->hash($pass);
     $stmt = UbirimiContainer::get()['db.connection']->prepare($query);
     $stmt->bind_param("si", $hash, $userId);
     $stmt->execute();
     return $pass;
 }