Controller::Base: init_p jetzt überall verfügbar
Auth: fehlerhafte JSON-Requests mit JSON und richtigem HTTP-Response-Code beantworten
Controller::send_file: rendern bei ajax abschalten können
Damit kann man weitere client_js-Kommandos absetzen.
Controller::send_file schickt jetzt über client_js wenn ajax
(cherry picked from commit 0f16bc87b4804cf05cefb5ac1514c7f565cfbfbd)
Controller::redirect_to: url_for nicht doppelt aufrufen, wenn ajax
Macht zwar nichts, muss aber auch nicht.
Controller::Base::url_for: nur noch fragment erlauben
Mit mosu darüber gesprochen, und folgende Argumente kamen:
Controller::Base: url_for unterstützt jetzt URI fragments.
SL::Controller->send_file: trueish zurückgeben
send_file meldet Fehler (z.B. »kann Datei nicht öffnen«) durchcroak(). Im Erfolgsfall sollte die Funktion aber regulär einen wahrenWert zurückgeben, um ordentlich in eval{} benutzt werden zu können.
Controller::Base: js accessor bereitstellen
Der wird eh überall benutzt, also kann er auch gleich dahin.
Controller: content for header rendern
Hat zur Folge, dass Presenterwidgets benötigte stylesheets undjavascripts anfordern können.
SL::Controller::Base->send_file: neuer Parameter unlink zum Löschen nach Senden
SL::Controller::Base::send_file: Unterstützung zum Senden von Skalarinhalten
$file_name kann nun auch eine Skalarreferenz sein. In diesem Fallewird der referenzierte Inhalt direkt geschickt.
Wenn es ein Skalar ist, wird es wie vorher auch als Dateiname interpretiert.
Unterstützung für andere Datenbankencodings als Unicode/UTF-8 entfernt
Admin: Teile von admin.pl in neuen Controller Admin verschoben; Mandanten anzeigen
client_js.js: Funktionen in namespace kivi verschoben
render() in Controller+Presenter: Support für Typ "text"
Controller-redirect_to-Funktion: Redirect bei AJAX via Antwort mittels ClientJS
Serverseitiges Erzeugen von im Client ausgeführten JavaScript-Befehlen
SL::{Controller::Base,Presenter}->render: Dokumentation
SL::{Controller,Presenter}->render: $template kann auch ref auf Instanz von EscapedText sein
Die folgenden Fälle werden nun für $template wie folgt behandelt:
- keine Ref: $tempalte wird als Dateiname interpretiert- Ref auf einen String (ref eq 'SCALAR'): Zu rendernder String,...
Refactoring: Parameterredesign SL::Controller::Base::render und SL::Presenter::render
Conflicts: SL/Controller/FinancialControllingReport.pm SL/Controller/ProjectType.pm
SL::Presenter -- die neue Präsentationsschicht
Lx-Office heißt nun kivitendo
Hinweise auf lx_office.conf in kivitendo.conf geändert
Fixt #2031.
Erste Version Frameless
Exceptions während Template-Ausführung ausgeben lassen
Controller-Base: _controller_name in controller_name umbenennen; action_name() ergänzt
SL::Controller::Base::_controller_name für Kontrollernamen mit :: im lokalen Part
_controller_name auch auf $class callbar
Controller-Basisklasse: bei run_before/after-Hooks den Namen der Action mitgeben
User-Login auf Controller umgestellt
Kosmetik: Doku-Formatierung
Dispatcher: Auch Controller ermöglichen, die Admin-Login benötigen
Default ist für Controller, dass all ihre Funktionen User-Loginsbenötigen. Kann ein Controller ändern, indem er die Sub"get_auth_level" überschreibt (siehe Doku inSL::Contrller::Base). Dies schafft die Basis dafür, auch Admin-Dinge...
sellprice information test commit
delay_flash_on_redirect Magie im Basecontroller.
Wenn von einem Controller explizit überladen, wird der normale Föash vor einemredirect_to automatisch upgegradet in ein flash_later.
Conflicts:
SL/Controller/Base.pm
$::cgi entfernt.
Verfahren:- Für alle Vorkommen von "my $cgi = $::cgi;": ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt
- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.
- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei...
pod syntax
raw option für Controller Base
Kosmetik
Eine Klasse & globale Variable zur Verwaltung von mandantenbasierter Konfiguration
Anstatt über "action_" zu croaken gibt der Base Controller jetzt eine freundliche Meldung.
Funktion "send_file" im Controller, um Dateien herunterzuladen
Flash-Objekt in SL::Controller-basierenden render-Templates zur Verfügung stellen
Gesamte %::lx_office_conf als Objekt an Controller-basierte Templates übergeben
Globale Variablen für Systemeinstellungen und Features nach %::lx_office_conf verschoben
Betroffen sind: $webdav $vertreter $lizenzen $show_best_before $parts_show_image $parts_image_css $parts_listing_images $eur $dbcharset $language
Globale Variablen für Druckvorlagen nach %::lx_office_conf verschoben
Betroffen sind: $latex_templates $excel_templates $opendocument_templates $openofficeorg_daemon $openofficeorg_daemon_port
Globale Variablen $::userspath, $::templates, $::membersfile nach %::lx_office_conf verschoben
Nicht exportierte constant muss unter strict als Funktion aufgerufen werden.
render() kann nun auch JavaScript-Templates rendern und dafür passende HTTP-Header erzeugen
Formatfixes in Dokumentation
Ein System von Hooks, die vor oder nach Actions ausgeführt werden können
Controller-Namensraum nur ohne "strict refs" durchsuchbar
use strict
Dokumentationsupdate
API-Umstellung von SL::Controller::Base::render
Siehe Dokumentation im File, wie das API nun aussieht.
render-Aufrufsyntax vereinfacht
Hilfsfunktion 'render()' zum Rendern von Templates inklusive Titel & $::form->header
zzgl. notwendiger Anpassung von locales.pl
Controller-Base: Methode für HTTP-Redirect implementiert
Dokumentation
url_for: Template übergibt Hash-Parameter als Hash-Referenz
Trennzeichen für Controller-Routing von :: auf / geändert
templates/webpages/messages/form.html templates/webpages/messages/list.html
Neuer Routingmechanismus für Controller, die als Package implementiert sind
Voraussetzungen: