Reply to comment

Benutzer löschen implementiert, viele Warnungen beseitigt und (hoffentlich entgültig) SVN Problem gelöst

Einen schönen Sonntag Abend an alle ;)

Zum einen habe ich (bereits seit gestern online) die Funktion "Benutzer löschen" (durch den Admin) implementiert. Die Benutzer werden dabei nicht entgültig gelöscht, sondern vielmehr wird ein Flag gesetzt, das sie als "gelöscht" markiert. Danach kann sich der Benutzer nicht mehr einloggen (das Flag wird jedes mal beim Login geprüft und wenn gesetzt, wird der Benutzer behandelt als wäre er nicht vorhanden).

Um festzulegen, welche Benutzer überhaupt gelöscht werden können, wird die Capability canBeDeleted benutzt. Nur wenn ein Benutzer diese hat, kann er gelöscht werden.

Des weiteren gibt es eine Capability canDeleteAccount, die festlegt, ob sich ein Benutzer selbst löschen kann.

Last but not least:
Die PortalUser Klasse führt ein paar neue Methoden ein:

  • canBeDeleted gibt true zurück, wenn der Benutzer gelöscht werden kann. Die Implementierung in der PortalUser Klasse macht nichts weiter, als zu überprüfen, ob die Instanz die canBeDeleted Capability hat. Allerdings kann diese Methode dann einfach in den entsprechenden Klassen überschrieben werden, um etwa bei einem Vermieter zu prüfen, ob er nicht doch durch laufende Buchungen ans System gebunden ist.
  • onDelete wird durch die deleteMe Methode aufgerufen und kann dazu benutzt werden, "Aufräumaktionen" durchzuführen. Sprich: Bei einem Vermieter würden an der Stelle alle Häuser zumindest ebenfalls als gelöscht markiert werden.

Daneben habe ich eine Reihe von Warnmeldungen entfernt, die hauptsächlich auf nicht benötigte Includes zurückzuführen waren.

Ich hab das ganze außerdem nochmal getestet: Die Seite scheint jetzt wohl auch mit Tiles seine Dienste zu tun. Allerdings glaube ich, das Tiles die Verwendung von "Cancelable" bei Forms nicht erlaubt. Zumindest kam es dabei bei meiner ResetPasswordAction zu einer Fehlermeldung, das eine Methode oder so nicht gefunden wurde. Das ganze kann aber durch eine zusätzliche Zeile in der getMappings der Action behoben werden, indem einfach der Cancel-Button ebenfalls abgefragt wird.

Als letztes noch ne frohe Botschaft:
Der Kampf Stefan vs. SVN scheint entgültig vorbei 8)
Und wie zu erwarten, lag das Problem ganz woanders als erwartet. Und zwar beim Router selbst. Dieser hatte - statt wie üblich die DNS Server einfach an die Clients durchzureichen - sich selbst als DNS Server ausgegeben (und die Requests dann anscheinend selbst an die DNS Server weitergeleitet und dann durchgegeben). Das Problem konnte recht leicht gelöst werden, indem die DNS Server im NetworkManager statisch hinterlegt wurden ;)

Reply

  • Use [toc list: ol; title: Table of Contents; minlevel: 2; maxlevel: 3; attachments: yes;] to insert a mediawiki style collapsible table of contents. All the arguments are optional.
  • Allowed HTML tags: <del> <a> <em> <strong> <strike> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <span> <pre> <h1> <h2> <h3> <h4> <h5> <h6> <!--tableofcontents--> <sub> <sup> <table> <tr> <td> <th> <blockquote> <br> <p> <object> <embed> <param>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.
  • Pairs of<blockquote> tags will be styled as a block that indicates a quotation.
  • This is an example format which provides a wikimedia-style input format.
  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo], [[foo]].
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.
Copyright (c) RPdev 2008 - 2011