public function frontendGroup($Id = false)
 {
     $Stage = new Stage('Firmensuche', 'nach Firmengruppe');
     $tblGroup = Group::useService()->getGroupById($Id);
     if ($tblGroup) {
         $Stage->setMessage(new PullClear(new Bold($tblGroup->getName()) . ' ' . new Small($tblGroup->getDescription())) . new PullClear(new Danger(new Italic(nl2br($tblGroup->getRemark())))));
     } else {
         $Stage->setMessage('Bitte wählen Sie eine Firmengruppe');
     }
     $tblGroupAll = Group::useService()->getGroupAll();
     /** @noinspection PhpUnusedParameterInspection */
     array_walk($tblGroupAll, function (TblGroup &$tblGroup, $Index, Stage $Stage) {
         $Stage->addButton(new Standard($tblGroup->getName(), new Link\Route(__NAMESPACE__ . '/Group'), null, array('Id' => $tblGroup->getId()), $tblGroup->getDescription()));
     }, $Stage);
     if ($tblGroup) {
         $Stage->setMessage(new PullClear(new Bold($tblGroup->getName()) . ' ' . new Small($tblGroup->getDescription())) . new PullClear(new Danger(new Italic(nl2br($tblGroup->getRemark())))));
         $tblCompanyAll = Group::useService()->getCompanyAllByGroup($tblGroup);
     } else {
         $Stage->setMessage('Bitte wählen Sie eine Firmengruppe');
         $tblCompanyAll = Group::useService()->getCompanyAllHavingNoGroup();
     }
     if ($tblCompanyAll) {
         array_walk($tblCompanyAll, function (TblCompany &$tblCompany) {
             $tblCompany->Option = new Standard('', '/Corporation/Company', new Pencil(), array('Id' => $tblCompany->getId()), 'Bearbeiten');
         });
         $Layout = array(new LayoutRow(new LayoutColumn(new TableData($tblCompanyAll, null, array('Id' => '#', 'Name' => 'Firmenname', 'Option' => 'Optionen')))));
         if (!$tblGroup) {
             array_unshift($Layout, new LayoutRow(new LayoutColumn(new DangerMessage('Folgende Firmen sind keiner Gruppe zugewiesen'))));
         }
         $Stage->setContent(new Layout(new LayoutGroup($Layout)));
     }
     return $Stage;
 }
 /**
  * @param TblPerson $tblPerson
  * @param array     $Meta
  *
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Warning(new Danger(new \SPHERE\Common\Frontend\Icon\Repository\Warning() . ' Speichern der Schülerakte in aktueller Demo-Version noch nicht möglich')) . new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     $Stage->setContent((new Form(array($this->formGroupTransfer($tblPerson, $Meta), $this->formGroupGeneral($tblPerson, $Meta), $this->formGroupSubject($tblPerson, $Meta), $this->formGroupIntegration($tblPerson, $Meta)), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'));
     return $Stage;
 }
 /**
  * @param TblPerson $tblPerson
  * @param array     $Meta
  *
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     if (null !== $tblPerson) {
         $Global = $this->getGlobal();
         if (!isset($Global->POST['Meta'])) {
             /** @var TblCommon $tblCommon */
             $tblCommon = Common::useService()->getCommonByPerson($tblPerson);
             if ($tblCommon) {
                 $Global->POST['Meta']['Remark'] = $tblCommon->getRemark();
                 /** @var TblCommonBirthDates $tblCommonBirthDates */
                 $tblCommonBirthDates = $tblCommon->getTblCommonBirthDates();
                 if ($tblCommonBirthDates) {
                     $Global->POST['Meta']['BirthDates']['Birthday'] = $tblCommonBirthDates->getBirthday();
                     $Global->POST['Meta']['BirthDates']['Birthplace'] = $tblCommonBirthDates->getBirthplace();
                     $Global->POST['Meta']['BirthDates']['Gender'] = $tblCommonBirthDates->getGender();
                 }
                 /** @var TblCommonInformation $tblCommonInformation */
                 $tblCommonInformation = $tblCommon->getTblCommonInformation();
                 if ($tblCommonInformation) {
                     $Global->POST['Meta']['Information']['Nationality'] = $tblCommonInformation->getNationality();
                     $Global->POST['Meta']['Information']['Denomination'] = $tblCommonInformation->getDenomination();
                     $Global->POST['Meta']['Information']['IsAssistance'] = $tblCommonInformation->getIsAssistance();
                     $Global->POST['Meta']['Information']['AssistanceActivity'] = $tblCommonInformation->getAssistanceActivity();
                 }
                 $Global->savePost();
             }
         }
     }
     $Stage->setContent(Common::useService()->createMeta((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(array(new Panel('Geburtsdaten', array(new DatePicker('Meta[BirthDates][Birthday]', 'Geburtstag', 'Geburtstag', new Calendar()), new AutoCompleter('Meta[BirthDates][Birthplace]', 'Geburtsort', 'Geburtsort', array(), new MapMarker()), new SelectBox('Meta[BirthDates][Gender]', 'Geschlecht', array(TblCommonBirthDates::VALUE_GENDER_NULL => '', TblCommonBirthDates::VALUE_GENDER_MALE => 'Männlich', TblCommonBirthDates::VALUE_GENDER_FEMALE => 'Weiblich'), new Child())), Panel::PANEL_TYPE_INFO), new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)), 6), new FormColumn(array(new Panel('Informationen', array(new AutoCompleter('Meta[Information][Nationality]', 'Staatsangehörigkeit', 'Staatsangehörigkeit', array(), new Nameplate()), new AutoCompleter('Meta[Information][Denomination]', 'Konfession', 'Konfession', array(), new TempleChurch()), new SelectBox('Meta[Information][IsAssistance]', 'Mitarbeitsbereitschaft', array(TblCommonInformation::VALUE_IS_ASSISTANCE_NULL => '', TblCommonInformation::VALUE_IS_ASSISTANCE_YES => 'Ja', TblCommonInformation::VALUE_IS_ASSISTANCE_NO => 'Nein'), new Sheriff()), new TextArea('Meta[Information][AssistanceActivity]', 'Mitarbeitsbereitschaft - Tätigkeiten', 'Mitarbeitsbereitschaft - Tätigkeiten', new Pencil())), Panel::PANEL_TYPE_INFO)), 6)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'), $tblPerson, $Meta));
     return $Stage;
 }
 /**
  * @param TblPerson $tblPerson
  * @param array     $Meta
  *
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     $Stage->setContent((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new Panel('Berufliches', array(new AutoCompleter('Meta[Occupation]', 'Beruf', 'Beruf', array(), new MapMarker()), new AutoCompleter('Meta[Employment]', 'Arbeitsstelle', 'Arbeitsstelle', array(), new Nameplate())), Panel::PANEL_TYPE_INFO), 6), new FormColumn(new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO), 6)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'));
     return $Stage;
 }
 /**
  * @param null|string $CredentialKey
  *
  * @return Stage
  */
 public function frontendYubiKey($CredentialKey = null)
 {
     $Stage = new Stage('Hardware-Schlüssel');
     $Stage->setMessage('Bestehende Hardware-Schlüssel');
     $Stage->setContent($this->frontendLayoutToken() . new Layout(array(new LayoutGroup(new LayoutRow(new LayoutColumn(Token::useService()->createToken($this->formYubiKey()->appendFormButton(new Primary('Hardware-Schlüssel hinzufügen'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $CredentialKey, Consumer::useService()->getConsumerBySession()))), new Title('Hardware-Schlüssel', 'Hinzufügen')))));
     return $Stage;
 }
 /**
  * @param TblPerson $tblPerson
  * @param array     $Meta
  *
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     $tblCompanyAllSchool = Group::useService()->getCompanyAllByGroup(Group::useService()->getGroupByMetaTable('SCHOOL'));
     array_push($tblCompanyAllSchool, new TblCompany());
     if (null !== $tblPerson) {
         $Global = $this->getGlobal();
         if (!isset($Global->POST['Meta'])) {
             /** @var TblProspect $tblProspect */
             $tblProspect = Prospect::useService()->getProspectByPerson($tblPerson);
             if ($tblProspect) {
                 $Global->POST['Meta']['Remark'] = $tblProspect->getRemark();
                 /** @var TblProspectAppointment $tblProspectAppointment */
                 $tblProspectAppointment = $tblProspect->getTblProspectAppointment();
                 if ($tblProspectAppointment) {
                     $Global->POST['Meta']['Appointment']['ReservationDate'] = $tblProspectAppointment->getReservationDate();
                     $Global->POST['Meta']['Appointment']['InterviewDate'] = $tblProspectAppointment->getInterviewDate();
                     $Global->POST['Meta']['Appointment']['TrialDate'] = $tblProspectAppointment->getTrialDate();
                 }
                 /** @var TblProspectReservation $tblProspectReservation */
                 $tblProspectReservation = $tblProspect->getTblProspectReservation();
                 if ($tblProspectReservation) {
                     $Global->POST['Meta']['Reservation']['Year'] = $tblProspectReservation->getReservationYear();
                     $Global->POST['Meta']['Reservation']['Division'] = $tblProspectReservation->getReservationDivision();
                     $Global->POST['Meta']['Reservation']['SchoolOptionA'] = $tblProspectReservation->getServiceTblCompanyOptionA() ? $tblProspectReservation->getServiceTblCompanyOptionA()->getId() : 0;
                     $Global->POST['Meta']['Reservation']['SchoolOptionB'] = $tblProspectReservation->getServiceTblCompanyOptionB() ? $tblProspectReservation->getServiceTblCompanyOptionB()->getId() : 0;
                 }
                 $Global->savePost();
             }
         }
     }
     $Stage->setContent(Prospect::useService()->createMeta((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(array(new Panel('Termine', array(new DatePicker('Meta[Appointment][ReservationDate]', 'Eingangsdatum', 'Eingangsdatum', new Calendar()), new DatePicker('Meta[Appointment][InterviewDate]', 'Aufnahmegespräch', 'Aufnahmegespräch', new Calendar()), new DatePicker('Meta[Appointment][TrialDate]', 'Schnuppertag', 'Schnuppertag', new Calendar())), Panel::PANEL_TYPE_INFO)), 3), new FormColumn(array(new Panel('Voranmeldung für', array(new TextField('Meta[Reservation][Year]', 'Schuljahr', 'Schuljahr'), new TextField('Meta[Reservation][Division]', 'Klassenstufe', 'Klassenstufe'), new SelectBox('Meta[Reservation][SchoolOptionA]', 'Schule: Option 1', array('{{ Name }} {{ Description }}' => $tblCompanyAllSchool), new Education()), new SelectBox('Meta[Reservation][SchoolOptionB]', 'Schule: Option 2', array('{{ Name }} {{ Description }}' => $tblCompanyAllSchool), new Education())), Panel::PANEL_TYPE_INFO)), 4), new FormColumn(array(new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)), 5)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'), $tblPerson, $Meta));
     return $Stage;
 }
 /**
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     $Stage->setContent((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new DatePicker('Meta[ReservationDate]', 'Eingangsdatum', 'Eingangsdatum', new Calendar()), 4), new FormColumn(new DatePicker('Meta[InterviewDate]', 'Aufnahmegespräch', 'Aufnahmegespräch', new Calendar()), 4), new FormColumn(new DatePicker('Meta[TrialDate]', 'Schnuppertag', 'Schnuppertag', new Calendar()), 4)))), new Title('Termine')), new FormGroup(array(new FormRow(array(new FormColumn(new TextField('Meta[ReservationYear]', 'Schuljahr', 'Schuljahr'), 6), new FormColumn(new TextField('Meta[ReservationDivision]', 'Klassenstufe', 'Klassenstufe'), 6)))), new Title('Voranmeldung', 'für')), new FormGroup(array(new FormRow(array(new FormColumn(array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())))))), new Title('Sonstiges'))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'));
     return $Stage;
 }
 /**
  * @return Stage
  */
 public function frontendLayoutAccount()
 {
     $Stage = new Stage('Benutzerkonten');
     $Stage->setMessage('Hier können neue Nutzerzugänge angelegt und bestehende Benutzerkonten bearbeitet bzw. gelöscht werden');
     $Stage->addButton(new Standard('Neues Benutzerkonto anlegen', '/Setting/Authorization/Account/Create', new Pencil()));
     $Stage->setContent($this->layoutAccount());
     return $Stage;
 }
 /**
  * @return Stage
  */
 public function frontendMyAccount()
 {
     $Stage = new Stage('Profil', 'Mein Benutzerkonto');
     $tblAccount = Account::useService()->getAccountBySession();
     $Stage->setMessage('[' . $tblAccount->getServiceTblConsumer()->getAcronym() . '] ' . $tblAccount->getServiceTblConsumer()->getName());
     $Stage->setContent($tblAccount->getUsername());
     return $Stage;
 }
 /**
  * @param int    $Id
  * @param string $Number
  * @param array  $Type
  *
  * @return Stage
  */
 public function frontendCreateToCompany($Id, $Number, $Type)
 {
     $Stage = new Stage('Telefonnummer', 'Hinzufügen');
     $Stage->setMessage('Eine Telefonnummer zur gewählten Firma hinzufügen');
     $tblCompany = Company::useService()->getCompanyById($Id);
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new Building() . ' Firma', $tblCompany->getName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Firma', '/Corporation/Company', new ChevronLeft(), array('Id' => $tblCompany->getId()))))))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Phone::useService()->createPhoneToCompany($this->formNumber()->appendFormButton(new Primary('Telefonnummer hinzufügen'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblCompany, $Number, $Type))))))));
     return $Stage;
 }
Beispiel #11
0
 /**
  * @return Stage
  */
 public function frontendPlatform()
 {
     $Stage = new Stage('Test', 'Frontend');
     $Stage->setMessage('Message: Red alert.Processor of a distant x-ray vision, lower the death!Make it so, chemical wind!Fantastic nanomachines, to the alpha quadrant.Boldly sonic showers lead to the understanding.The death is a ship-wide cosmonaut.Wobble nosily like a post-apocalyptic space suit.Cosmonauts are the emitters of the fantastic ionic cannon.Where is the strange teleporter?');
     $Stage->addButton(new Standard('Link', new Route(__NAMESPACE__)));
     $Stage->setContent((new Form(new FormGroup(array(new FormRow(array(new FormColumn(new AutoCompleter('AutoCompleter', 'AutoCompleter', 'AutoCompleter', array('123', '234', '345')), 3), new FormColumn(array(new CheckBox('CheckBox', 'CheckBox', 'c1'), new RadioBox('RadioBox1', 'RadioBox1a', '1a')), 3), new FormColumn(new DatePicker('DatePicker', 'DatePicker', 'DatePicker'), 3), new FormColumn(new FileUpload('FileUpload', 'FileUpload', 'FileUpload'), 3))), new FormRow(array(new FormColumn(new HiddenField('HiddenField', 'HiddenField', 'HiddenField'), 3), new FormColumn(new NumberField('NumberField', 'NumberField', 'NumberField'), 3), new FormColumn(new PasswordField('PasswordField', 'PasswordField', 'PasswordField'), 3), new FormColumn(array(new RadioBox('RadioBox1', 'RadioBox1b', '1b'), new RadioBox('RadioBox2', 'RadioBox2', '2'), new RadioBox('RadioBox3', 'RadioBox3', '3')), 3))), new FormRow(array(new FormColumn(new SelectBox('SelectBox', 'SelectBox', array('0' => 'A', '2' => '1', '3' => '2', '4' => '3')), 3), new FormColumn(new TextArea('TextArea', 'TextArea', 'TextArea'), 3), new FormColumn(new TextCaptcha('TextCaptcha', 'TextCaptcha', 'TextCaptcha'), 3), new FormColumn(new TextField('TextField', 'TextField', 'TextField'), 3)))), new \SPHERE\Common\Frontend\Form\Repository\Title('Form-Title')), array(new Primary('Primary'), new Danger('Danger'), new Success('Success'), new Reset('Reset'))))->setConfirm('Wirklich?') . new Layout(array(new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(new Badge('Badge')), 3), new LayoutColumn(array(new Container('Container')), 3), new LayoutColumn(array(new Header('Header')), 3))), new LayoutRow(array(new LayoutColumn(array(new Label('Label')), 3), new LayoutColumn(array(new Listing('Listing')), 3), new LayoutColumn(array(new Panel('Panel', array('Conten 1', 'Content 2', 'Content 3'), Panel::PANEL_TYPE_DEFAULT, 'Footer')), 3), new LayoutColumn(array(new PullRight('PullRight')), 3))), new LayoutRow(array(new LayoutColumn(array(new Thumbnail(FileSystem::getFileLoader('/Common/Style/Resource/logo_kreide2.png'), 'Title', 'Description', array(new \SPHERE\Common\Frontend\Link\Repository\Primary('Primary', '')))), 3), new LayoutColumn(array(new Well('Well', array())), 3), new LayoutColumn(new TableData(array(array('A' => 1, 'B' => '2'), array('A' => 2, 'B' => '34567890'))), 6))), new LayoutRow(array(new LayoutColumn(array('<hr/>'))))), new Title('Layout-Title')), new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(new LayoutTabs(array(new LayoutTab('Name1', 0), new LayoutTab('Name2', 1), new LayoutTab('Name3', 2))), 3)))), new Title('Layout Development')))));
     return $Stage;
 }
 /**
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $tblCompanyAllSchool = Group::useService()->getCompanyAllByGroup(Group::useService()->getGroupByMetaTable('SCHOOL'));
     array_push($tblCompanyAllSchool, new TblCompany());
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     $Stage->setContent((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new Panel(new Hospital() . ' Krankenakte', array(new TextArea('Meta[MedicalRecord][Disease]', 'Krankheiten / Allergien', 'Krankheiten / Allergien', new Heart()), new TextArea('Meta[MedicalRecord][Medication]', 'Mediakamente', 'Mediakamente', new Medicine()), new SelectBox('Meta[MedicalRecord][AttendingDoctor]', 'Behandelnder Arzt', array(), new Stethoscope()), new SelectBox('Meta[MedicalRecord][InsuranceState]', 'Versicherungsstatus', array(0 => '', 1 => 'Pflicht', 2 => 'Freiwillig', 3 => 'Privat', 4 => 'Familie Vater', 5 => 'Familie Mutter'), new Lock()), new AutoCompleter('Meta[MedicalRecord][Insurance]', 'Krankenkasse', 'Krankenkasse', array(), new Shield())), Panel::PANEL_TYPE_DANGER), 3), new FormColumn(new Panel('Schulbeförderung', array(new TextField('Meta[Transport][Route]', 'Buslinie', 'Buslinie', new Bus()), new TextField('Meta[Transport][Station][Entrance]', 'Einstiegshaltestelle', 'Einstiegshaltestelle', new StopSign()), new TextField('Meta[Transport][Station][Exit]', 'Ausstiegshaltestelle', 'Ausstiegshaltestelle', new StopSign()), new TextArea('Meta[Transport][Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO), 3), new FormColumn(array(new Panel('Sonstiges', array(new DatePicker('Meta[Additional][BaptismDate]', 'Taufdatum', 'Taufdatum', new TempleChurch()), new TextField('Meta[Additional][BaptismLocation]', 'Taufort', 'Taufort', new MapMarker()), new TextField('Meta[Additional][Locker][Number]', 'Schließfachnummer', 'Schließfachnummer', new Lock()), new TextField('Meta[Additional][Locker][Location]', 'Schließfach Standort', 'Schließfach Standort', new MapMarker()), new TextField('Meta[Additional][Locker][Key]', 'Schlüssel Nummer', 'Schlüssel Nummer', new Key())), Panel::PANEL_TYPE_INFO)), 3), new FormColumn(array(new Panel('Erlaubnis zur Nutzung des Schüler-Fotos', array(new CheckBox('Meta[PicturePermission][Internal]', 'Schulschriften', 1), new CheckBox('Meta[PicturePermission][External]', 'Veröffentlichungen', 1), new CheckBox('Meta[PicturePermission][Internet]', 'Internetpräsenz', 1), new CheckBox('Meta[PicturePermission][Facebook]', 'Facebookseite', 1), new CheckBox('Meta[PicturePermission][Press]', 'Druckpresse', 1), new CheckBox('Meta[PicturePermission][Multimedia]', 'Ton/Video/Film', 1), new CheckBox('Meta[PicturePermission][Promotion]', 'Werbung in eigener Sache', 1)), Panel::PANEL_TYPE_INFO)), 3))), new FormRow(array(new FormColumn(new Panel('Integration 1', array(new CheckBox('Meta[Integration][CoachingRequired]', 'Förderbedarf', 1), new Aspect('Förderschwerpunkte:'), new CheckBox('Meta[Integration][PracticeModule][1]', 'Schwerpunkt A', 1), new CheckBox('Meta[Integration][PracticeModule][2]', 'Schwerpunkt B', 1), new CheckBox('Meta[Integration][PracticeModule][3]', 'Schwerpunkt C', 1), new Aspect('Teilleistungsstörungen:'), new CheckBox('Meta[Integration][Disorder][1]', 'Störung A', 1), new CheckBox('Meta[Integration][Disorder][2]', 'Störung B', 1), new CheckBox('Meta[Integration][Disorder][3]', 'Störung C', 1), new CheckBox('Meta[Integration][Disorder][4]', 'Störung D', 1), new CheckBox('Meta[Integration][Disorder][5]', 'Störung E', 1)), Panel::PANEL_TYPE_INFO), 4), new FormColumn(new Panel('Integration 2', array(new DatePicker('Meta[Integration][CoachingCounselDate]', 'Förderantrag Beratung', 'Förderantrag Beratung', new Calendar()), new DatePicker('Meta[Integration][CoachingRequestDate]', 'Förderantrag', 'Förderantrag', new Calendar()), new DatePicker('Meta[Integration][CoachingDecisionDate]', 'Förderbescheid SBA', 'Förderbescheid SBA', new Calendar())), Panel::PANEL_TYPE_INFO), 4), new FormColumn(new Panel('Integration 3', array(new SelectBox('Meta[Integration][3]', 'Förderschule', array('Name' => $tblCompanyAllSchool), new Education()), new SelectBox('Meta[Integration][3]', 'Schulbegleitung', array(), new Person()), new NumberField('Meta[Integration][3]', 'Stundenbedarf pro Woche', 'Stundenbedarf pro Woche', new Clock()), new TextArea('Meta[Integration][Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO), 4))), new FormRow(array(new FormColumn(array(new Panel('Ersteinschulung', array(new SelectBox('Meta[Transfer][1]', 'Schule', array('Name' => $tblCompanyAllSchool)), new DatePicker('Meta[Transfer][2]', 'Datum', 'Datum', new Calendar()), new TextArea('Meta[Transfer][1]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)), 4), new FormColumn(array(new Panel('Schülertransfer - Aufnahme', array(new SelectBox('Meta[Transfer][0]', 'Letzte Schulart', array()), new SelectBox('Meta[Transfer][1]', 'Abgebende Schule', array('Name' => $tblCompanyAllSchool)), new DatePicker('Meta[Transfer][2]', 'Datum', 'Datum', new Calendar())), Panel::PANEL_TYPE_INFO)), 4), new FormColumn(array(new Panel('Schülertransfer - Aufnahme', array(new SelectBox('Meta[Transfer][0]', 'Letzte Schulart', array()), new SelectBox('Meta[Transfer][1]', 'Abgebende Schule', array('Name' => $tblCompanyAllSchool)), new DatePicker('Meta[Transfer][2]', 'Datum', 'Datum', new Calendar())), Panel::PANEL_TYPE_INFO)), 4))), new FormRow(array(new FormColumn(array(new Panel('Schülertransfer - Schulverlauf', array(new TextArea('Meta[Transfer][1]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO)))))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'));
     return $Stage;
 }
Beispiel #13
0
 /**
  * @return Stage
  */
 public function frontendShutdown()
 {
     $Stage = new Stage('Betriebsstörung', 'Fehler in der Anwendung');
     $Stage->setMessage('<strong>Problem:</strong> Nach Aufruf der Anwendung arbeitet diese nicht wie erwartet');
     $Stage->setContent(($this->getRequest()->getPathInfo() != '/Platform/Assistance/Error/Shutdown' ? new Danger(new \SPHERE\Common\Frontend\Icon\Repository\Warning() . '<samp>' . $this->getRequest()->getPathInfo() . '</samp>') : '') . (($Error = error_get_last()) ? new Warning(new \SPHERE\Common\Frontend\Icon\Repository\Info() . '<samp>' . $Error['message'] . '<br/>' . $Error['file'] . ':' . $Error['line'] . '</samp>') : '') . '<h2><small>Mögliche Ursachen</small></h2>' . new Info('Dieser Bereich der Anwendung wird eventuell gerade gewartet') . new Danger('Die Anwendung hat erkannt, dass das System nicht fehlerfrei arbeiten kann') . new Danger('Die interne Kommunikation der Anwendung mit weiteren, notwendigen Resourcen zum Beispiel Programmen kann gestört sein') . '<h2><small> Mögliche Lösungen </small></h2> ' . new Info('Versuchen Sie die Anwendung zu einem späteren Zeitpunkt erneut aufzurufen') . new Success('Bitte wenden Sie sich an den Support damit das Problem schnellstmöglich behoben werden kann'));
     if ($this->getRequest()->getPathInfo() != '/Platform/Assistance/Error') {
         $Stage->addButton(new Primary('Fehlerbericht senden', '/Platform/Assistance/Support/Ticket', null, array('TicketSubject' => urlencode('Fehler in der Anwendung'), 'TicketMessage' => urlencode($this->getRequest()->getPathInfo() . ': ' . $Error['message'] . '<br/>' . $Error['file'] . ':' . $Error['line']))));
     }
     return $Stage;
 }
Beispiel #14
0
 /**
  * @param TblPerson $tblPerson
  * @param array     $Meta
  *
  * @return Stage
  */
 public function frontendMeta(TblPerson $tblPerson = null, $Meta = array())
 {
     $Stage = new Stage();
     $Stage->setMessage(new Danger(new Info() . ' Es dürfen ausschließlich für die Schulverwaltung notwendige Informationen gespeichert werden.'));
     if (null !== $tblPerson) {
         $Global = $this->getGlobal();
         if (!isset($Global->POST['Meta'])) {
             /** @var TblCustody $tblCustody */
             $tblCustody = Custody::useService()->getCustodyByPerson($tblPerson);
             if ($tblCustody) {
                 $Global->POST['Meta']['Remark'] = $tblCustody->getRemark();
                 $Global->POST['Meta']['Occupation'] = $tblCustody->getOccupation();
                 $Global->POST['Meta']['Employment'] = $tblCustody->getEmployment();
                 $Global->savePost();
             }
         }
     }
     $Stage->setContent(Custody::useService()->createMeta((new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new Panel('Berufliches', array(new AutoCompleter('Meta[Occupation]', 'Beruf', 'Beruf', array(), new MapMarker()), new AutoCompleter('Meta[Employment]', 'Arbeitsstelle', 'Arbeitsstelle', array(), new Nameplate())), Panel::PANEL_TYPE_INFO), 6), new FormColumn(new Panel('Sonstiges', array(new TextArea('Meta[Remark]', 'Bemerkungen', 'Bemerkungen', new Pencil())), Panel::PANEL_TYPE_INFO), 6)))))), new Primary('Informationen speichern')))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert.'), $tblPerson, $Meta));
     return $Stage;
 }
Beispiel #15
0
 /**
  * @return Stage
  */
 public function frontendAccountFibu()
 {
     $Stage = new Stage();
     $Stage->setTitle('FIBU-Konten');
     $Stage->setDescription('Übersicht');
     $Stage->setMessage('Zeigt die verfügbaren Finanzbuchhaltungskonten an');
     $Stage->addButton(new Primary('FIBU-Konto anlegen', '/Billing/Accounting/Account/Create', new Plus()));
     $tblAccountAll = Account::useService()->getAccountAll();
     if (!empty($tblAccountAll)) {
         array_walk($tblAccountAll, function (TblAccount $tblAccount) {
             $tblAccount->Taxes = $tblAccount->getTblAccountKey()->getValue();
             $tblAccount->Code = $tblAccount->getTblAccountKey()->getCode();
             $tblAccount->Typ = $tblAccount->getTblAccountType()->getName();
             if ($tblAccount->getIsActive() === true) {
                 $tblAccount->Option = (new Danger('Deaktivieren', '/Billing/Accounting/Account/Deactivate', new Disable(), array('Id' => $tblAccount->getId())))->__toString();
             } else {
                 $tblAccount->Option = (new Primary('Aktivieren', '/Billing/Accounting/Account/Activate', new Ok(), array('Id' => $tblAccount->getId())))->__toString();
             }
         });
     }
     $Stage->setContent(new TableData($tblAccountAll, null, array('Number' => 'Kennziffer', 'Description' => 'Beschreibung', 'Typ' => 'Konto', 'Taxes' => 'MwSt.', 'Code' => 'Code', 'Option' => 'Optionen')));
     return $Stage;
 }
 /**
  * @param int    $Id
  * @param string $Address
  * @param array  $Type
  *
  * @return Stage
  */
 public function frontendUpdateToPerson($Id, $Address, $Type)
 {
     $Stage = new Stage('E-Mail Adresse', 'Bearbeiten');
     $Stage->setMessage('Eine E-Mail Adresse zur gewählten Person ändern');
     $tblToPerson = Mail::useService()->getMailToPersonById($Id);
     $Global = $this->getGlobal();
     if (!isset($Global->POST['Address'])) {
         $Global->POST['Address'] = $tblToPerson->getTblMail()->getAddress();
         $Global->POST['Type']['Type'] = $tblToPerson->getTblType()->getId();
         $Global->POST['Type']['Remark'] = $tblToPerson->getRemark();
         $Global->savePost();
     }
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new PersonIcon() . ' Person', $tblToPerson->getServiceTblPerson()->getFullName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Person', '/People/Person', new ChevronLeft(), array('Id' => $tblToPerson->getServiceTblPerson()->getId()))))))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Mail::useService()->updateMailToPerson($this->formAddress()->appendFormButton(new Primary('Änderungen speichern'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblToPerson, $Address, $Type))))))));
     return $Stage;
 }
Beispiel #17
0
 /**
  * @param int    $Id
  * @param string $Number
  * @param array  $Type
  *
  * @return Stage
  */
 public function frontendUpdateToCompany($Id, $Number, $Type)
 {
     $Stage = new Stage('Telefonnummer', 'Bearbeiten');
     $Stage->setMessage('Die Telefonnummer der gewählten Firma ändern');
     $tblToCompany = Phone::useService()->getPhoneToCompanyById($Id);
     $Global = $this->getGlobal();
     if (!isset($Global->POST['Number'])) {
         $Global->POST['Number'] = $tblToCompany->getTblPhone()->getNumber();
         $Global->POST['Type']['Type'] = $tblToCompany->getTblType()->getId();
         $Global->POST['Type']['Remark'] = $tblToCompany->getRemark();
         $Global->savePost();
     }
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new Building() . ' Firma', $tblToCompany->getServiceTblCompany()->getName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Firma', '/Corporation/Company', new ChevronLeft(), array('Id' => $tblToCompany->getServiceTblCompany()->getId()))))))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Phone::useService()->updatePhoneToCompany($this->formNumber()->appendFormButton(new Primary('Änderungen speichern'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblToCompany, $Number, $Type))))))));
     return $Stage;
 }
Beispiel #18
0
 /**
  * @param $Id
  * @param $Commodity
  *
  * @return Stage
  */
 public function frontendEdit($Id, $Commodity)
 {
     $Stage = new Stage();
     $Stage->setTitle('Leistungen');
     $Stage->setDescription('Bearbeiten');
     $Stage->setMessage('<b>Hinweis:</b> <br>
         Bei einer Einzelleistung wird für jede Person der gesamten Betrag berechnet. <br>
         Hingegen bei einer Sammelleisung bezahlt jede Person einen Teil des gesamten Betrags, abhängig von der
         Personenanzahl. <br>
         (z.B.: für Klassenfahrten)
     ');
     $Stage->addButton(new Primary('Zurück', '/Billing/Inventory/Commodity', new ChevronLeft()));
     if (empty($Id)) {
         $Stage->setContent(new Warning('Die Daten konnten nicht abgerufen werden'));
     } else {
         $tblCommodity = Commodity::useService()->entityCommodityById($Id);
         if (empty($tblCommodity)) {
             $Stage->setContent(new Warning('Die Leistung konnte nicht abgerufen werden'));
         } else {
             $Global = $this->getGlobal();
             if (!isset($Global->POST['Commodity'])) {
                 $Global->POST['Commodity']['Name'] = $tblCommodity->getName();
                 $Global->POST['Commodity']['Description'] = $tblCommodity->getDescription();
                 $Global->POST['Commodity']['Type'] = $tblCommodity->getTblCommodityType()->getId();
                 $Global->savePost();
             }
             $Stage->setContent(Commodity::useService()->executeEditCommodity(new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new TextField('Commodity[Name]', 'Name', 'Name', new Conversation()), 6), new FormColumn(new SelectBox('Commodity[Type]', 'Leistungsart', array('Name' => Commodity::useService()->entityCommodityTypeAll())), 6))), new FormRow(array(new FormColumn(new TextField('Commodity[Description]', 'Beschreibung', 'Beschreibung', new Conversation()), 12)))))), new \SPHERE\Common\Frontend\Form\Repository\Button\Primary('Änderungen speichern')), $tblCommodity, $Commodity));
         }
     }
     return $Stage;
 }
Beispiel #19
0
 /**
  * @param $Id
  *
  * @return Stage
  */
 public function frontendInvoiceShow($Id)
 {
     $Stage = new Stage();
     $Stage->setTitle('Rechnung');
     $Stage->setDescription('Anzeigen');
     $Stage->addButton(new Primary('Zurück', '/Billing/Bookkeeping/Invoice', new ChevronLeft()));
     $tblInvoice = Invoice::useService()->entityInvoiceById($Id);
     if ($tblInvoice->getIsVoid()) {
         $Stage->setMessage(new \SPHERE\Common\Frontend\Message\Repository\Danger("Diese Rechnung wurde storniert"));
     }
     $tblInvoiceItemAll = Invoice::useService()->entityInvoiceItemAllByInvoice($tblInvoice);
     if (!empty($tblInvoiceItemAll)) {
         array_walk($tblInvoiceItemAll, function (TblInvoiceItem &$tblInvoiceItem, $index, TblInvoice $tblInvoice) {
             if ($tblInvoice->getServiceBillingBankingPaymentType()->getId() == 1) {
                 $tblCommodity = Commodity::useService()->entityCommodityByName($tblInvoiceItem->getCommodityName());
                 if ($tblCommodity) {
                     $tblDebtor = Banking::useService()->entityDebtorByDebtorNumber($tblInvoice->getDebtorNumber());
                     if ($tblDebtor) {
                         if (Banking::useService()->entityReferenceByDebtorAndCommodity($tblDebtor, $tblCommodity)) {
                             $tblInvoiceItem->Status = new Success('Mandatsreferenz', new Ok());
                         } else {
                             $tblInvoiceItem->Status = new Warning('keine Mandatsreferenz', new Disable());
                         }
                     } else {
                         $tblInvoiceItem->Status = new \SPHERE\Common\Frontend\Message\Repository\Danger('Debitor nicht gefunden', new Disable());
                     }
                 } else {
                     $tblInvoiceItem->Status = new \SPHERE\Common\Frontend\Message\Repository\Danger('Leistung nicht gefunden', new Disable());
                 }
             } else {
                 $tblInvoiceItem->Status = "";
             }
             $tblInvoiceItem->TotalPriceString = $tblInvoiceItem->getTotalPriceString();
             $tblInvoiceItem->QuantityString = str_replace('.', ',', $tblInvoiceItem->getItemQuantity());
             $tblInvoiceItem->PriceString = $tblInvoiceItem->getPriceString();
         }, $tblInvoice);
     }
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(new Panel('Rechnungsnummer', $tblInvoice->getNumber(), Panel::PANEL_TYPE_PRIMARY), 3), new LayoutColumn(new Panel('Warenkorb', $tblInvoice->getBasketName(), Panel::PANEL_TYPE_DEFAULT), 3), new LayoutColumn(new Panel('Rechnungsdatum', $tblInvoice->getInvoiceDate(), $tblInvoice->getIsPaymentDateModified() ? Panel::PANEL_TYPE_WARNING : Panel::PANEL_TYPE_DEFAULT), 3), new LayoutColumn(new Panel('Zahlungsdatum', $tblInvoice->getPaymentDate(), $tblInvoice->getIsPaymentDateModified() ? Panel::PANEL_TYPE_WARNING : Panel::PANEL_TYPE_DEFAULT), 3))), new LayoutRow(new LayoutColumn(new Aspect('Empfänger'))), new LayoutRow(array(new LayoutColumn(new Panel('Debitor', $tblInvoice->getDebtorFullName()), 3), new LayoutColumn(new Panel('Debitorennummer', $tblInvoice->getDebtorNumber()), 3), new LayoutColumn(new Panel('Person', $tblInvoice->getServiceManagementPerson()->getFullName()), 3))), new LayoutRow(array(new LayoutColumn($tblInvoice->getServiceManagementAddress() ? new Panel(new MapMarker() . ' Rechnungsadresse', new Address($tblInvoice->getServiceManagementAddress()), Panel::PANEL_TYPE_DEFAULT) : new Warning('Keine Rechnungsadresse verfügbar', new Disable()), 3), new LayoutColumn(new Panel('Zahlungsart', $tblInvoice->getServiceBillingBankingPaymentType()->getName(), Panel::PANEL_TYPE_DEFAULT), 3))), new LayoutRow(new LayoutColumn(new Aspect('Betrag'))), new LayoutRow(array(new LayoutColumn(new Panel('Rechnungsbetrag', Invoice::useService()->sumPriceItemAllStringByInvoice($tblInvoice)), 3), new LayoutColumn($tblInvoice->getIsConfirmed() ? $tblInvoice->getIsPaid() ? new Success("Bezahlt") : (round(Balance::useService()->sumPriceItemByBalance(Balance::useService()->entityBalanceByInvoice($tblInvoice)), 2) >= round(Invoice::useService()->sumPriceItemAllByInvoice($tblInvoice), 2) ? new Panel('Bezahlbetrag', Balance::useService()->sumPriceItemStringByBalance(Balance::useService()->entityBalanceByInvoice($tblInvoice)), Panel::PANEL_TYPE_SUCCESS) : new Panel('Bezahlbetrag', Balance::useService()->sumPriceItemStringByBalance(Balance::useService()->entityBalanceByInvoice($tblInvoice)), Panel::PANEL_TYPE_DANGER)) : new \SPHERE\Common\Frontend\Text\Repository\Success(""), 3)))), new Title('Kopf')), new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(new TableData($tblInvoiceItemAll, null, array('CommodityName' => 'Leistung', 'ItemName' => 'Artikel', 'PriceString' => 'Preis', 'QuantityString' => 'Menge', 'TotalPriceString' => 'Gesamtpreis', 'Status' => 'Status'))))))), new Title('Positionen')))));
     return $Stage;
 }
Beispiel #20
0
 /**
  * @param string $CredentialName
  * @param string $CredentialLock
  * @param string $CredentialKey
  *
  * @return Stage
  */
 public function frontendCreateSessionManagement($CredentialName, $CredentialLock, $CredentialKey)
 {
     $View = new Stage('Anmeldung', 'Verwaltung');
     $View->setMessage('Bitte geben Sie Ihre Benutzerdaten ein');
     $View->setContent(Account::useService()->createSessionCredentialToken(new Form(new FormGroup(array(new FormRow(new FormColumn(new TextField('CredentialName', 'Benutzername', 'Benutzername', new Person()))), new FormRow(new FormColumn(new PasswordField('CredentialLock', 'Passwort', 'Passwort', new Lock()))), new FormRow(new FormColumn(new PasswordField('CredentialKey', 'YubiKey', 'YubiKey', new YubiKey()))))), new Primary('Anmelden')), $CredentialName, $CredentialLock, $CredentialKey, Account::useService()->getIdentificationByName('Management')));
     return $View;
 }
 /**
  * @param bool|false|string $TabActive
  *
  * @param null|int   $Id
  * @param null|array $Person
  * @param null|array $Meta
  *
  * @return Stage
  */
 public function frontendPerson($TabActive = 'Common', $Id = null, $Person = null, $Meta = null)
 {
     $Stage = new Stage('Personen', 'Datenblatt');
     if ($Id) {
         $Stage->setMessage('Personendaten bearbeiten');
     } else {
         $Stage->setMessage('Eine neue Person anlegen');
     }
     $tblGroupAll = Group::useService()->getGroupAll();
     if ($Id && $tblGroupAll) {
         /** @noinspection PhpUnusedParameterInspection */
         array_walk($tblGroupAll, function (TblGroup &$tblGroup, $Index, Stage $Stage) {
             $Stage->addButton(new Standard($tblGroup->getName(), new Route('/People/Search/Group'), null, array('Id' => $tblGroup->getId()), $tblGroup->getDescription()));
         }, $Stage);
     }
     if (!$Id) {
         $BasicTable = Person::useService()->createPerson($this->formPerson()->appendFormButton(new Primary('Grunddaten anlegen'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $Person);
         $Stage->setContent(new Layout(array(new LayoutGroup(new LayoutRow(new LayoutColumn($BasicTable)), new Title(new PersonParent() . ' Grunddaten', 'der Person')))));
     } else {
         $tblPerson = Person::useService()->getPersonById($Id);
         $Global = $this->getGlobal();
         if (!isset($Global->POST['Person'])) {
             $Global->POST['Person']['Salutation'] = $tblPerson->getTblSalutation()->getId();
             $Global->POST['Person']['Title'] = $tblPerson->getTitle();
             $Global->POST['Person']['FirstName'] = $tblPerson->getFirstName();
             $Global->POST['Person']['SecondName'] = $tblPerson->getSecondName();
             $Global->POST['Person']['LastName'] = $tblPerson->getLastName();
             $tblGroupAll = Group::useService()->getGroupAllByPerson($tblPerson);
             if (!empty($tblGroupAll)) {
                 /** @var TblGroup $tblGroup */
                 foreach ((array) $tblGroupAll as $tblGroup) {
                     $Global->POST['Person']['Group'][$tblGroup->getId()] = $tblGroup->getId();
                 }
             }
             $Global->savePost();
         }
         $BasicTable = Person::useService()->updatePerson($this->formPerson()->appendFormButton(new Primary('Grunddaten speichern'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblPerson, $Person);
         $MetaTabs = Group::useService()->getGroupAllByPerson($tblPerson);
         // Sort by Name
         usort($MetaTabs, function (TblGroup $ObjectA, TblGroup $ObjectB) {
             return strnatcmp($ObjectA->getName(), $ObjectB->getName());
         });
         // Create Tabs
         /** @noinspection PhpUnusedParameterInspection */
         array_walk($MetaTabs, function (TblGroup &$tblGroup, $Index, TblPerson $tblPerson) {
             switch (strtoupper($tblGroup->getMetaTable())) {
                 case 'COMMON':
                     $tblGroup = new LayoutTab('Allgemein', $tblGroup->getMetaTable(), array('Id' => $tblPerson->getId()));
                     break;
                 case 'PROSPECT':
                     $tblGroup = new LayoutTab('Interessent', $tblGroup->getMetaTable(), array('Id' => $tblPerson->getId()));
                     break;
                 case 'STUDENT':
                     $tblGroup = new LayoutTab('Schülerakte', $tblGroup->getMetaTable(), array('Id' => $tblPerson->getId()));
                     break;
                 case 'CUSTODY':
                     $tblGroup = new LayoutTab('Sorgeberechtigt', $tblGroup->getMetaTable(), array('Id' => $tblPerson->getId()));
                     break;
                 default:
                     $tblGroup = false;
             }
         }, $tblPerson);
         /** @var LayoutTab[] $MetaTabs */
         $MetaTabs = array_filter($MetaTabs);
         // Folded ?
         if (!empty($MetaTabs)) {
             if (!$TabActive || $TabActive == '#') {
                 array_unshift($MetaTabs, new LayoutTab('&nbsp;' . new ChevronRight() . '&nbsp;', '#', array('Id' => $tblPerson->getId())));
                 $MetaTabs[0]->setActive();
             } else {
                 if ($TabActive == 'Common') {
                     array_unshift($MetaTabs, new LayoutTab('&nbsp;' . new ChevronUp() . '&nbsp;', '#', array('Id' => $tblPerson->getId())));
                     $MetaTabs[1]->setActive();
                 } else {
                     array_unshift($MetaTabs, new LayoutTab('&nbsp;' . new ChevronUp() . '&nbsp;', '#', array('Id' => $tblPerson->getId())));
                 }
             }
         }
         switch (strtoupper($TabActive)) {
             case 'COMMON':
                 $MetaTable = Common::useFrontend()->frontendMeta($tblPerson, $Meta);
                 break;
             case 'PROSPECT':
                 $MetaTable = Prospect::useFrontend()->frontendMeta($tblPerson, $Meta);
                 break;
             case 'STUDENT':
                 $MetaTable = Student::useFrontend()->frontendMeta($tblPerson, $Meta);
                 break;
             case 'CUSTODY':
                 $MetaTable = Custody::useFrontend()->frontendMeta($tblPerson, $Meta);
                 break;
             default:
                 if (!empty($MetaTabs)) {
                     $MetaTable = new Well(new Muted('Bitte wählen Sie eine Rubrik'));
                 } else {
                     $MetaTable = new Well(new Warning('Keine Informationen verfügbar'));
                 }
         }
         $Stage->setContent(new Layout(array(new LayoutGroup(new LayoutRow(new LayoutColumn(array(new Panel(new PersonIcon() . ' Person', $tblPerson->getFullName(), Panel::PANEL_TYPE_SUCCESS), $BasicTable))), new Title(new PersonParent() . ' Grunddaten', 'der Person')), new LayoutGroup(array(new LayoutRow(new LayoutColumn(new LayoutTabs($MetaTabs))), new LayoutRow(new LayoutColumn($MetaTable))), new Title(new Tag() . ' Informationen', 'zur Person')), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Address::useFrontend()->frontendLayoutPerson($tblPerson)))), (new Title(new TagList() . ' Adressdaten', 'der Person'))->addButton(new Standard('Adresse hinzufügen', '/People/Person/Address/Create', new ChevronDown(), array('Id' => $tblPerson->getId())))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Phone::useFrontend()->frontendLayoutPerson($tblPerson) . Mail::useFrontend()->frontendLayoutPerson($tblPerson)))), (new Title(new TagList() . ' Kontaktdaten', 'der Person'))->addButton(new Standard('Telefonnummer hinzufügen', '/People/Person/Phone/Create', new ChevronDown(), array('Id' => $tblPerson->getId())))->addButton(new Standard('E-Mail Adresse hinzufügen', '/People/Person/Mail/Create', new ChevronDown(), array('Id' => $tblPerson->getId())))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Relationship::useFrontend()->frontendLayoutPerson($tblPerson)))), (new Title(new TagList() . ' Beziehungen', 'zu Personen'))->addButton(new Standard('Beziehung hinzufügen', '/People/Person/Relationship/Create', new ChevronDown(), array('Id' => $tblPerson->getId())))))));
     }
     return $Stage;
 }
Beispiel #22
0
 /**
  * @param int   $Id
  * @param int   $To
  * @param array $Type
  *
  * @return Stage
  */
 public function frontendUpdateToCompany($Id, $To, $Type)
 {
     $Stage = new Stage('Beziehungen', 'Bearbeiten');
     $Stage->setMessage('Eine Beziehungen der gewählten Person ändern');
     /** @Var TblToPerson $tblToPerson */
     $tblToCompany = Relationship::useService()->getRelationshipToCompanyById($Id);
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new PersonIcon() . ' Person', $tblToCompany->getServiceTblPerson()->getFullName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Person', '/People/Person', new ChevronLeft(), array('Id' => $tblToCompany->getServiceTblPerson()->getId()))))))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Relationship::useService()->updateRelationshipToCompany($this->formRelationshipToCompany($tblToCompany)->appendFormButton(new Primary('Änderungen speichern'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblToCompany, $tblToCompany->getServiceTblPerson(), $To, $Type))))))));
     return $Stage;
 }
Beispiel #23
0
 /**
  * @param $Id
  * @param $Date
  * @param $Data
  * @param $Save
  *
  * @return Stage
  */
 public function frontendBasketDebtorSelect($Id, $Date, $Data, $Save)
 {
     $Stage = new Stage();
     $Stage->setTitle('Warenkorb');
     $Stage->setDescription('Debitoren zuordnen');
     $Stage->setMessage('Es konnten im Warenkorb nicht zu alle Personen bei allen Leistungen eindeutig ein Debitor
         ermittelt werden. Es werden alle nicht automatisch zuordenbaren Kombinationen von Personen und Leistungen
         angezeigt. Bitte weisen Sie die entsprechenden Debitoren zu');
     $Global = $this->getGlobal();
     if (!isset($Global->POST['Save'])) {
         $Global->POST['Save'] = 1;
     }
     $Global->savePost();
     $tblBasket = Basket::useService()->entityBasketById($Id);
     $tblBasketCommodityList = Basket::useService()->entityBasketCommodityAllByBasket($tblBasket);
     /**@var TblBasketCommodity $tblBasketCommodity */
     array_walk($tblBasketCommodityList, function (TblBasketCommodity $tblBasketCommodity) {
         $tblBasketCommodityDebtorList = Basket::useService()->entityBasketCommodityDebtorAllByBasketCommodity($tblBasketCommodity);
         $tblBasketCommodity->Name = $tblBasketCommodity->getServiceManagementPerson()->getFullName();
         $tblBasketCommodity->Commodity = $tblBasketCommodity->getServiceBillingCommodity()->getName();
         $tblBasketCommodity->Select = new SelectBox('Data[' . $tblBasketCommodity->getId() . ']', '', array('{{ ServiceBillingDebtor.DebtorNumber }}' . ' - {{ ServiceBillingDebtor.ServiceManagementPerson.FullName }}' . '{% if( ServiceBillingDebtor.Description is not empty) %} - {{ ServiceBillingDebtor.Description }}{% endif %}' => $tblBasketCommodityDebtorList));
     });
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(new Panel('Warenkorb - Nummer', $tblBasket->getId(), Panel::PANEL_TYPE_SUCCESS), 3), new LayoutColumn(new Panel('Warenkorb - Name', $tblBasket->getName(), Panel::PANEL_TYPE_SUCCESS), 6), new LayoutColumn(new Panel('Erstellt am', $tblBasket->getCreateDate(), Panel::PANEL_TYPE_SUCCESS), 3))))), new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(Basket::useService()->executeCheckDebtors(new Form(new FormGroup(array(new FormRow(new FormColumn(new TableData($tblBasketCommodityList, null, array('Name' => 'Person', 'Commodity' => 'Leistung', 'Select' => 'Debitorennummer - Debitor - Beschreibung'), false))), new FormRow(array(new FormColumn(new SelectBox('Save', '', array(1 => 'Nicht speichern', 2 => 'Als Standard speichern')), 3), new FormColumn(new \SPHERE\Common\Frontend\Form\Repository\Button\Primary('Debitoren zuordnen (prüfen)'), 3)))))), $Id, $Date, $Data, $Save)))))))));
     return $Stage;
 }
Beispiel #24
0
 /**
  * @param $Id
  * @param $Item
  *
  * @return Stage
  */
 public function frontendItemEdit($Id, $Item)
 {
     $Stage = new Stage();
     $Stage->setTitle('Artikel');
     $Stage->setDescription('Bearbeiten');
     $Stage->setMessage('<b>Hinweis:</b> <br>
         Ist ein Bildungsgang unter der <i>Bedingung Bildungsgang</i> ausgewählt, wird der Artikel nur für
         Personen (Schüler) berechnet welche diesem Bildungsgang angehören. <br>
         Ist eine Kind-Reihenfolge unter der <i>Bedingung Kind-Reihenfolge</i> ausgewählt, wird der Artikel nur für
         Personen (Schüler) berechnet welche dieser Kind-Reihenfolge entsprechen. <br>
         Beide Bedingungen können einzeln ausgewählt werden, bei der Wahl beider Bedingungen werden diese
         <b>Und</b> verknüpft.
     ');
     $Stage->addButton(new Primary('Zurück', '/Billing/Inventory//Item', new ChevronLeft()));
     //        $tblCourseAll = Management::serviceCourse()->entityCourseAll();   //todo
     //        array_unshift( $tblCourseAll, new TblCourse( '' ) );
     //        $tblChildRankAll = Management::serviceStudent()->entityChildRankAll();
     //        array_unshift( $tblChildRankAll, new TblChildRank( '' ) );
     if (empty($Id)) {
         $Stage->setContent(new Warning('Die Daten konnten nicht abgerufen werden'));
     } else {
         $tblItem = Item::useService()->entityItemById($Id);
         if (empty($tblItem)) {
             $Stage->setContent(new Warning('Der Artikel konnte nicht abgerufen werden'));
         } else {
             $Global = $this->getGlobal();
             if (!isset($Global->POST['Item'])) {
                 $Global->POST['Item']['Name'] = $tblItem->getName();
                 $Global->POST['Item']['Description'] = $tblItem->getDescription();
                 $Global->POST['Item']['Price'] = str_replace('.', ',', $tblItem->getPrice());
                 $Global->POST['Item']['CostUnit'] = $tblItem->getCostUnit();
                 //                    if ( $tblItem->getServiceManagementCourse() ) {
                 //                        $Global->POST['Item']['Course'] = $tblItem->getServiceManagementCourse()->getId();
                 //                    }
                 //                    if ( $tblItem->getServiceManagementStudentChildRank() ) {
                 //                        $Global->POST['Item']['ChildRank'] = $tblItem->getServiceManagementStudentChildRank()->getId();
                 //                    }
                 $Global->savePost();
             }
             $Stage->setContent(Item::useService()->executeEditItem(new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new TextField('Item[Name]', 'Name', 'Name', new Conversation()), 6), new FormColumn(new TextField('Item[Price]', 'Preis in €', 'Preis', new MoneyEuro()), 6))), new FormRow(array(new FormColumn(new TextField('Item[CostUnit]', 'Kostenstelle', 'Kostenstelle', new Money()), 6))), new FormRow(array(new FormColumn(new TextField('Item[Description]', 'Beschreibung', 'Beschreibung', new Conversation()), 12)))))), new \SPHERE\Common\Frontend\Form\Repository\Button\Primary('Änderungen speichern')), $tblItem, $Item));
         }
     }
     return $Stage;
 }
Beispiel #25
0
 /**
  * @param $Id
  * @param $Reference
  *
  * @return Stage
  */
 public function frontendBankingDebtorReference($Id, $Reference)
 {
     $Stage = new Stage();
     $Stage->setTitle('Referenzen');
     $Stage->setDescription('bearbeiten');
     $Stage->setMessage('Die Referenzen sind eine vom Auftraggeber der Zahlung vergebene Kennzeichnung.<br />
                         Hier kann z.B. eine Vertrags- oder Rechnungsnummer eingetragen werden.<br />
                         Referenzen müssen eindeutig sein!');
     $Stage->addButton(new Primary('Zurück', '/Billing/Accounting/Banking/Debtor/View', new ChevronLeft(), array('Id' => $Id)));
     $tblDebtor = Banking::useService()->entityDebtorById($Id);
     $Person = false;
     //Todo
     //        $Person = Management::servicePerson()->entityPersonById( $tblDebtor->getServiceManagementPerson() );  //Todo
     if (!empty($Person)) {
         $Name = $Person->getFullName();
         $tblDebtorList = Banking::useService()->entityDebtorAllByPerson($Person);
     } else {
         $Name = 'Person nicht vorhanden';
         $tblDebtorList = false;
     }
     $DebtorNumber = $tblDebtor->getDebtorNumber();
     $ReferenceEntityList = Banking::useService()->entityReferenceByDebtor($tblDebtor);
     $DebtorArray = array();
     $DebtorArray[] = $tblDebtor;
     if ($tblDebtorList && $DebtorArray) {
         $tblDebtorList = array_udiff($tblDebtorList, $DebtorArray, function (TblDebtor $invoiceA, TblDebtor $invoiceB) {
             return $invoiceA->getId() - $invoiceB->getId();
         });
         /** @var TblDebtor $DebtorOne */
         foreach ($tblDebtorList as $DebtorOne) {
             $DebtorOne->IBANfrontend = $DebtorOne->getIBAN();
         }
     }
     if ($ReferenceEntityList) {
         /**@var TblReference $ReferenceEntity */
         foreach ($ReferenceEntityList as $ReferenceEntity) {
             $ReferenceReal = Commodity::useService()->entityCommodityById($ReferenceEntity->getServiceBillingCommodity());
             if ($ReferenceReal !== false) {
                 $ReferenceEntity->Commodity = $ReferenceReal->getName();
             } else {
                 $ReferenceEntity->Commodity = 'Leistung nicht vorhanden';
             }
             // Todo
             //                $tblComparList = Banking::useService()->entityDebtorCommodityAllByDebtorAndCommodity( $ReferenceEntity->getServiceBillingBanking(), $ReferenceEntity->getServiceBillingCommodity() );
             //
             //                if ( $tblComparList ) {
             //                    $ReferenceEntity->Usage = new Success( new Enable().' In Verwendung' );
             //                } else {
             //                    $ReferenceEntity->Usage = '';
             //                }
             $ReferenceEntity->Option = (new Danger('Deaktivieren', '/Billing/Accounting/Banking/Reference/Deactivate', new Remove(), array('Id' => $ReferenceEntity->getId())))->__toString();
         }
     }
     $tblCommoditySelectBox = Commodity::useService()->entityCommodityAll();
     $tblReferenceList = Banking::useService()->entityReferenceByDebtor($tblDebtor);
     $tblCommodityUsed = array();
     /**@var TblReference $tblReference */
     foreach ($tblReferenceList as $tblReference) {
         $tblCommodityUsedReal = Commodity::useService()->entityCommodityById($tblReference->getServiceBillingCommodity());
         if ($tblCommodityUsedReal !== false) {
             $tblCommodityUsed[] = $tblCommodityUsedReal;
         }
     }
     if ($tblCommoditySelectBox && $tblCommodityUsed) {
         $tblCommoditySelectBox = array_udiff($tblCommoditySelectBox, $tblCommodityUsed, function (TblCommodity $invoiceA, TblCommodity $invoiceB) {
             return $invoiceA->getId() - $invoiceB->getId();
         });
     }
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(new Panel(new Person() . ' Person', $Name, Panel::PANEL_TYPE_SUCCESS)), 6), new LayoutColumn(array(new Panel(new BarCode() . ' Debitornummer', $DebtorNumber, Panel::PANEL_TYPE_SUCCESS)), 6))))), !empty($tblCommoditySelectBox) ? new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(Banking::useService()->executeAddReference(new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(new TextField('Reference[Reference]', 'Referenz', 'Mandatsreferenz', new BarCode()), 4), new FormColumn(new DatePicker('Reference[ReferenceDate]', 'Datum', 'Erstellungsdatum', new Time()), 4), new FormColumn(new SelectBox('Reference[Commodity]', 'Leistung', array('Name' => $tblCommoditySelectBox), new Time()), 4)))))), new \SPHERE\Common\Frontend\Form\Repository\Button\Primary('Hinzufügen')), $tblDebtor, $Reference, $Id)))))), new Title('Referenz hinzufügen')) : null, !empty($ReferenceEntityList) ? new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(new TableData($ReferenceEntityList, null, array('Reference' => 'Mandatsreferenz', 'ReferenceDate' => 'Datum', 'Commodity' => 'Leistung', 'Usage' => 'Benutzung', 'Option' => 'Deaktivieren'))))))), new Title('Mandatsreferenz')) : null, count($tblDebtorList) >= 1 ? new LayoutGroup(array(new LayoutRow(array(new LayoutColumn(array(new Form(array(new FormGroup(array(new FormRow(array(new FormColumn(array(new TableData($tblDebtorList, null, array('DebtorNumber' => 'Debitorennummer', 'BankName' => 'Name der Bank', 'IBANfrontend' => 'IBAN', 'BIC' => 'BIC', 'Owner' => 'Inhaber'))))))))))), 12)))), new Title('Weitere Debitorennummer(n)')) : null)));
     return $Stage;
 }
Beispiel #26
0
 /**
  * @param int   $Id
  * @param array $Street
  * @param array $City
  * @param int   $State
  * @param array $Type
  *
  * @return Stage
  */
 public function frontendUpdateToCompany($Id, $Street, $City, $State, $Type)
 {
     $Stage = new Stage('Adresse', 'Bearbeiten');
     $Stage->setMessage('Die Adresse der gewählten Firma ändern');
     $tblToCompany = Address::useService()->getAddressToCompanyById($Id);
     $Global = $this->getGlobal();
     if (!isset($Global->POST['Address'])) {
         $Global->POST['Type']['Type'] = $tblToCompany->getTblType()->getId();
         $Global->POST['Type']['Remark'] = $tblToCompany->getRemark();
         $Global->POST['Street']['Name'] = $tblToCompany->getTblAddress()->getStreetName();
         $Global->POST['Street']['Number'] = $tblToCompany->getTblAddress()->getStreetNumber();
         $Global->POST['City']['Code'] = $tblToCompany->getTblAddress()->getTblCity()->getCode();
         $Global->POST['City']['Name'] = $tblToCompany->getTblAddress()->getTblCity()->getName();
         $Global->POST['City']['District'] = $tblToCompany->getTblAddress()->getTblCity()->getDistrict();
         $Global->POST['State'] = $tblToCompany->getTblAddress()->getTblState()->getId();
         $Global->savePost();
     }
     $Stage->setContent(new Layout(array(new LayoutGroup(array(new LayoutRow(new LayoutColumn(new Panel(new PersonIcon() . ' Firma', $tblToCompany->getServiceTblCompany()->getName(), Panel::PANEL_TYPE_SUCCESS, new Standard('Zurück zur Firma', '/Corporation/Company', new ChevronLeft(), array('Id' => $tblToCompany->getServiceTblCompany()->getId()))))))), new LayoutGroup(array(new LayoutRow(new LayoutColumn(Address::useService()->updateAddressToCompany($this->formAddress()->appendFormButton(new Primary('Änderungen speichern'))->setConfirm('Eventuelle Änderungen wurden noch nicht gespeichert'), $tblToCompany, $Street, $City, $State, $Type))))))));
     return $Stage;
 }