Пример #1
0
 /**
  * add or update organization by superadmin
  * @param null  $orgId
  * @param array $orgDetails
  * @return mixed|void
  */
 public function saveOrganization(array $orgDetails, $orgId = null)
 {
     try {
         $this->database->beginTransaction();
         $orgData = $this->makeOrganizationData($orgDetails);
         $organization = $this->organization->firstOrNew(['id' => $orgId]);
         $organization->fill($orgData)->save();
         $adminData = $this->makeAdminData($orgDetails, $organization->id);
         $user = $this->user->firstOrNew(['org_id' => $organization->id]);
         $user->fill($adminData)->save();
         $settingsData = $this->makeSettingsData($orgDetails, $organization->id);
         $settings = $this->settings->firstOrNew(['organization_id' => $organization->id]);
         $settings->fill($settingsData)->save();
         $this->database->commit();
         $this->logger->info($orgId ? 'Organization information Updated' : 'Organization added');
         $this->dbLogger->activity($orgId ? "activity.organization_updated" : "activity.organization_added", ['user_id' => $user->id, 'organization_id' => $orgId]);
     } catch (Exception $exception) {
         $this->database->rollback();
         $this->logger->error($exception, ['settings' => $orgDetails]);
     }
 }