public function __construct($organisationId) { parent::__construct(); $this->organisation = ModelOrganisation::getById($organisationId); if (!$this->organisation->hasRow()) { redirect(url('admin.home')); } $this->organisationsMenu = new Menu(); $this->organisationsMenu->addItem(lang('Overview'), url('admin.organisation.home', ['organisationId' => $this->organisation->id])); $this->organisationsMenu->addItem(lang('Activity'), url('admin.organisation.activity', ['organisationId' => $this->organisation->id])); $this->organisationsMenu->addItem(lang('Invoices'), url('admin.organisation.invoices', ['organisationId' => $this->organisation->id])); }
public function handle(Request $request) { $this->request = $request; // Extending this class requires the user to be authenticated if (!ModelUser::isLoggedIn()) { $this->setMessage('This page can only be viewed when logged in', 'warning', 'main'); redirect(url('home'), 301); } $this->request->user = ModelUser::current(); $this->validateOrganisation(); if ($this->request->user->getActiveOrganisation()) { $this->request->organisation = ModelOrganisation::getById($this->request->user->getActiveOrganisation()); } }
public function __construct($organisationId) { parent::__construct(); $this->organisation = ModelOrganisation::getById($organisationId); if (!$this->organisation->hasRow()) { $this->setError(lang('Organisation not found')); redirect(url('admin.payment')); } $this->startDate = $this->input('start_date', date('Y-m-01', strtotime('-1 month'))); $this->endDate = $this->input('end_date', date('Y-m-t', strtotime('-1 month'))); $this->settings = ModelSettings::getInstance(); $this->payments = ModelPayment::getByOrganisationPeriod($this->organisation->id, $this->startDate, $this->endDate); $this->chargeCustomer(); $this->markPayed(); }
public function __construct() { parent::__construct(); $this->prependSiteTitle(lang('Register')); $this->currency = ModelSettings::getInstance(); $role = UserRole::TYPE_OWNER; if ($this->get->email->getValue()) { $this->invite = OrganisationInvite::getByEmail($this->get->email->getValue()); if ($this->invite->hasRow()) { $this->organisation = ModelOrganisation::getById($this->invite->organisation_id); $role = $this->invite->role; } } if ($this->isPostBack()) { $this->post->name->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->email->addValidation(new ValidateInputEmail()); if ($this->organisation === null || !$this->organisation->hasRow()) { $this->post->company->addValidation(new ValidateInputNotNullOrEmpty()); } $this->post->password->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->terms->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->password_repeat->addValidation(new ValidateInputNotNullOrEmpty()); if (!$this->hasErrors()) { // Do not create organisation if invite is available if ($this->organisation === null || !$this->organisation->hasRow()) { // Check if organisation name is taken if (ModelOrganisation::getByName($this->input('company'))->hasRow()) { $this->setError(lang('An organisation with the name %s already exists - please request an invite from the organisation owner instead.', $this->input('company'))); response()->refresh(); } $organisation = new ModelOrganisation(); $organisation->setName($this->input('company')); $organisation->save(); $role = UserRole::TYPE_OWNER; } else { $organisation = $this->organisation; } $user = new ModelUser(); $user->username = $this->post->email->getValue(); $user->data->name = $this->input('name'); $user->setPassword($this->input('password')); try { $user->save(); $this->sendWelcomeMail($user); } catch (UserException $e) { if ($e->getCode() === ModelUser::ERROR_TYPE_EXISTS) { $error = lang('The e-mail is already registered.'); } else { $error = $e->getMessage(); } $this->setError($error); response()->refresh(); } $user->addOrganisation($organisation, $role); $user->auth(); // Delete invite if ($this->invite && $this->invite->hasRow()) { $this->invitationAcceptedMail($this->invite, $organisation, $user); $this->invite->delete(); } redirect(url('controlpanel.organisations')); } } }
public function getOrganisation() { return ModelOrganisation::getById($this->organisation_id); }