Jan Büren [Thu, 2 Mar 2017 15:09:38 +0000 (16:09 +0100)]
WebDAV: Überflüssigen Aufruf webdav_path im Frontend entfernt
WebDAV::get_all_objects ruft in der Methode seit Anbeginn des Moduls
schon ein webdav_path auf, von daher schreddern bevor noch mehr
copy & waste im Programm passiert
Moritz Bunkus [Thu, 2 Mar 2017 15:02:44 +0000 (16:02 +0100)]
SL::Template::*: Form::template direkt nutzen, nicht mehr Form::init_template
Form::init_template wurde bei der Umstellung entfernt, bei der nur
noch die eine Template-Instanz im SL::Presenter genutzt wird, und Form
keine eigene mehr beinhaltet.
Moritz Bunkus [Thu, 2 Mar 2017 14:13:47 +0000 (15:13 +0100)]
Mailer: Zeichensatzattribut bei Anhängen nur bei Text-Anhängen setzen
Ein als Binärdaten zu behandelnder Anhang darf nicht natürlich nicht
umcodiert werden. Normalerweise ignorieren E-Mail-Programme bei
Nicht-Text-Anhängen den Zeichensatz, wenn er gesetzt ist, aber wir
sollten diesbezüglich auch einfach saubere E-Mails senden.
Moritz Bunkus [Thu, 2 Mar 2017 14:11:27 +0000 (15:11 +0100)]
Mailer: Attribut »path« bei »Content-Type« nicht setzen
Darin steht der Pfad auf dem lokalen System und ist damit ein
information leak, z.B. /var/www/kundenname/kivitendo/files/…
Moritz Bunkus [Thu, 2 Mar 2017 13:57:47 +0000 (14:57 +0100)]
LXDebug::dump: Objekte aus Namensraum SL::* ohne »as_debug_info« wie Hash behandeln
Moritz Bunkus [Wed, 1 Mar 2017 16:21:40 +0000 (17:21 +0100)]
LXDebug::dump: nur Form-Instanzen als Hash behandeln, nicht alle Hash-basierten Objekte
Moritz Bunkus [Wed, 1 Mar 2017 15:54:59 +0000 (16:54 +0100)]
LXDebug::dump: Unterstützung für zirkuläre Strukturen
Durch die Umstellung auf vorheriges Reduzieren auf essenzielle
Informationen muss dump() sicherstellen, dass es bei zirkulären
Strukturen nicht in eine Endlosschleife gerät.
Weiterhin müssen alle Rückwärtsreferenzen aufgeweicht
werden (Scalar::Util::weaken), damit sie von der garbage collection
normal aufgeräumt werden.
Moritz Bunkus [Wed, 1 Mar 2017 14:43:48 +0000 (15:43 +0100)]
kivi.File.js: Debugcode wieder entfernt
Moritz Bunkus [Wed, 1 Mar 2017 14:12:02 +0000 (15:12 +0100)]
LXDebug::dump: Interna von Rose-DB- und DateTime-Objekten nicht mehr ausgeben
dump arbeitet nun nicht mehr direkt auf dem zu dumpenden Objekt,
sondern auf Kopien, die je nach Typ auf ihre essenziellen
Informationen zusammengeschrumpft werden. Dafür kann ein Objekt eine
Methode »as_debug_info« bereitstellen, die eine solche Essenz
zurückgibt.
Für SL::DB::Object ist eine Implementation beigelegt, die nur die
Spalten mit ihren stringifizierten Werten zurückgibt, nicht aber mehr
die ganzen Interna wie z.B. Meta-Informationen enthält.
Arrays und Hashes (und Objekte, die auf diesen simplen Typen basieren
und keine eigene »as_debug_info« zurückgeben) werden rekursiv geklont.
Alles andere definierte wird stringifiziert.
Dafür wurde die Funktion LXDebug::dump_object entfernt, die etwas
Ähnliches gemacht hat, aber nur für eine einzelne Rose-DB-Instanz.
Moritz Bunkus [Wed, 1 Mar 2017 13:16:31 +0000 (14:16 +0100)]
Dateimanagement: Fehler beim Umbenennen richtig zurückgeben
Ist man z.B. bei den Artikelstammdaten und versucht, eine Datei
umzubenennen, und ändert den Namen nicht, so sollte eine Fehlermeldung
angezeigt werden. Wurde sie aber nicht, weil Folgendes passierte:
• Im ClientJS-Flash wird Fehlermeldung erzeugt und das ClientJS sofort
gerendert, anschließend mit »return« der innerste Block verlassen
• Der innerste Block ist aber ein »eval { … }«, und nicht die Funktion
selber. Daher geht der Kontrollfluss nach dem »eval« weiter. Dabei
werden mehr Sachen auf das ClientJS raufgepusht und aschließend
erneut gerendert.
Dieses zweite Rendern schreibt dann erneut HTTP-Response-Zeilen sowie
ein vollständiges Array von ClientJS-Aktionen.
Der JavaScript-Code auf der Browser-Seite bekommen somit:
• HTTP-Response-Zeilen #1
• ClientJS-Array #1
• HTTP-Response-Zeilen #2
• ClientJS-Array #2
Damit kann er natürlich nicht umgehen, ignoriert die komplette
Antwort, und die Fehlermeldung wird somit nicht angezeigt.
Der Fix ist, nur das Umbenennen innerhalb des »eval« zu machen, und
den Rückgabewert außerhalb des »eval« zu prüfen. Bei einem anderen
Wert als SL::File::RENAME_OK wird das ClientJS dann nur einmal
gerendert und anschließend die Funktion verlassen.
Moritz Bunkus [Wed, 1 Mar 2017 12:46:34 +0000 (13:46 +0100)]
Dateimanagement: Stammdaten: DOM-Elemente bei multiples Tab-Aufrufen nicht duplizieren
Der Aufruf des Tabs »Dateianhänge« in den Artikelstammdaten liefert
einen Tab aus, in dem der HTML-Code für den Umbenennen-Dialog
vorhanden ist (initial versteckt). Ruft man den Dialog dann auf, so
verschieb jQuery den in dem Moment im DOM an eine ganz andere
Stelle (an den Ende vom <body>), sodass der Dialog-Code nun nicht mehr
innerhalb des <div> liegt, das für den Tab geladen wurde.
Wechselt man nur zu einem anderen Tab und ruft den Tab »Dateianhänge«
erneut auf, so wird die bisherige <div> für den Tab entfernt und neu
geladen. Beim Neuladen wird natürlich auch wieder eine Kopie des
HTML-Codes für den Dialog mitgeschickt.
Die erste Kopie befindet sich zu dem Zeitpunkt aber weiterhin im DOM,
weil sie ja kein Kind des ursprünglichen Tab-<div>s mehr ist. Somit
haben wir nun zwei Kopien des HTML-Codes im DOM.
Das führt dazu, dass auch die Inputs doppelt vorhanden sind. Es wird
dann die falsche Input (nicht die, die der Benutzer*in angezeigt wird)
an den Server geschickt.
Der Fix sorgt dafür, dass der Dialog beim Schließen wieder an seine
ursprüngliche Stelle im DOM verschoben wird. Dadurch wird der beim
Neuladen des Tabs zusammen mit dem alten Tab-<div> sauber entfernt.
Moritz Bunkus [Wed, 1 Mar 2017 12:45:05 +0000 (13:45 +0100)]
kivi.popup_dialog: Dialog vor »custom close function« schließen
Wenn die »custom close function« den Dialog im DOM verschieben möchte,
so macht sie das mit $dlg.remove().appendTo('#new_parent_id'). Dabei
geht aber die Dialog-Initialisierung flöten.
Wird also erst anschließend $dlg.dialog('close') ausgeführt, so hagelt
das eine Fehlermeldung.
Moritz Bunkus [Wed, 1 Mar 2017 11:52:16 +0000 (12:52 +0100)]
generic/exception.html wiederhergestellt
Die Vorlage wurde im Commit
9d8f72a0f92d01e1e25b14788b193cd662cad0d3
entfernt, weil fälschlicherweise gedacht wurde, dass sie nicht mehr
benutzt wird, da locales.pl eine Warnung diesbezüglich ausgab.
Tatsächlich wird sie aber noch benutzt, und zwar als generische
Fehler-Seite für das Template-Modul. Dieser Fall wurde von locales.pl
mangels Markup aber nicht erkannt.
Moritz Bunkus [Wed, 1 Mar 2017 11:49:31 +0000 (12:49 +0100)]
locales: Update nach Umstellung der Hintergrundjobverwaltung auf ActionBar
Moritz Bunkus [Tue, 28 Feb 2017 16:48:25 +0000 (17:48 +0100)]
E-Mail-Dialog: Cc, Bcc standardmäßig verstecken; Dateianhang nach unten
Wichtige Felder sollen damit näher zusammenrücken, und unwichtige
Felder normalerweise gar nicht erst angezeigt werden.
Moritz Bunkus [Tue, 28 Feb 2017 16:28:45 +0000 (17:28 +0100)]
Einheiten bearbeiten: SL::DB::Language nutzen
Alter Code zum Auslesen der Sprachliste, AM::language, wurde im Zuge
der ActionBar-Umstellung entfernt.
Ups :)
Moritz Bunkus [Tue, 28 Feb 2017 16:00:23 +0000 (17:00 +0100)]
Dateimanagement: Anhänge nicht als Referenz an SL::Mailer übergeben
SL::Mailer erwartet, dass der Inhalt der Anhänge, die in
$mailer->{attachments} übergeben werden, direkt im Attribut »content«
gespeichert ist.
Das Interface von SL::File hingegen gibt nur eine Skalarreferenz auf
den Dateiinhalt zurück. Daher kann diese nicht 1:1 an den SL::Mailer
übergeben werden, da es ansonsten zu Fehlermeldungen von Rose beim
Speichern im E-Mail-Journal kommt (»cannot bind reference«).
Moritz Bunkus [Tue, 28 Feb 2017 14:39:23 +0000 (15:39 +0100)]
ActionBar: Verwendung bei »Verlauf der Hintergrund-Jobs«
Moritz Bunkus [Tue, 28 Feb 2017 14:34:13 +0000 (15:34 +0100)]
ActionBar: Verwendung bei »Aktuelle Hintergrund-Jobs anzeigen«
Moritz Bunkus [Tue, 28 Feb 2017 13:26:23 +0000 (14:26 +0100)]
ActionBar: kivitendo.css: bei Hover auf Deaktivierte die Border nicht umfärben
Sven Schöling [Tue, 28 Feb 2017 13:20:59 +0000 (14:20 +0100)]
ActionBar: Border von ActionBar buttons nicht in common.css clobbern
Sven Schöling [Tue, 28 Feb 2017 13:17:17 +0000 (14:17 +0100)]
Revert "ActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern"
This reverts commit
e51d60046fda454e4a1c5c6a6b287622d8fb9cc8.
Moritz Bunkus [Tue, 28 Feb 2017 13:15:20 +0000 (14:15 +0100)]
ActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern
Moritz Bunkus [Tue, 28 Feb 2017 12:05:57 +0000 (13:05 +0100)]
MetaSetup-Update für DB-Upgrade »filemanagement_feature«
Moritz Bunkus [Tue, 28 Feb 2017 12:00:23 +0000 (13:00 +0100)]
Versehentlich entfernte Fremdschlüssel auf sepa_export_items wieder hinzugefügt
Das DB-Upgrade-Script
»auto_delete_sepa_export_items_on_ap_ar_deletion.pl« hat via
»SL::DBUpgrade2::Base::drop_constraints« alle Constraints auf
»sepa_export_items« entfernt, dann aber nur zwei davon (mit anderen
Bedingungen) neu angelegt — nicht aber die für die Spalten »chart_id«
und »sepa_export_id«.
Resultat ist, dass die Relationships aus den MetaSetups rausfliegen,
wenn man die von einer sauberen DB erzeugen lässt (z.B. mit
Scriptoption »--test-client«).
Moritz Bunkus [Tue, 28 Feb 2017 11:43:24 +0000 (12:43 +0100)]
MetaSetup-Update zu DB-Upgrade »part_classifications.sql«
Moritz Bunkus [Tue, 28 Feb 2017 11:42:46 +0000 (12:42 +0100)]
MetaSetup-Update zum DB-Upgrade »defaults_bcc_to_login.sql«
Moritz Bunkus [Tue, 28 Feb 2017 11:40:14 +0000 (12:40 +0100)]
ActionBar: SL::Layout::get: bei nicht existierendem Sub-Layout leere Liste zurückgeben
Moritz Bunkus [Tue, 28 Feb 2017 10:57:01 +0000 (11:57 +0100)]
ActionBar: Verwendung bei »Task-Server-Steuerung«
Moritz Bunkus [Tue, 28 Feb 2017 10:33:11 +0000 (11:33 +0100)]
ActionBar: Verwendung beim Massendruck von Lieferscheinen
Moritz Bunkus [Tue, 28 Feb 2017 10:32:40 +0000 (11:32 +0100)]
PrintOptions: Checkbox »Beidseitig« optional anzeigen
Moritz Bunkus [Tue, 28 Feb 2017 10:31:54 +0000 (11:31 +0100)]
PrintOptions: keine Warnungen wegen einmaliger Verwendung bekannter Variablen
Moritz Bunkus [Tue, 28 Feb 2017 10:17:41 +0000 (11:17 +0100)]
kivi.run: leeres Array (keine Argumente) nutzen, wenn args nicht übergeben wird
Moritz Bunkus [Tue, 28 Feb 2017 08:38:11 +0000 (09:38 +0100)]
ActionBar: »Anhänge aller Artikel herunterladen« bei Angeboten/Aufträgen wieder implementiert
Moritz Bunkus [Mon, 27 Feb 2017 16:03:46 +0000 (17:03 +0100)]
ActionBar: Verwendung im »SimpleSystemSetting«-Controller
Moritz Bunkus [Mon, 27 Feb 2017 15:49:07 +0000 (16:49 +0100)]
ActionBar: Verwendung undefinierter Werte in Tests vermeiden
Moritz Bunkus [Mon, 27 Feb 2017 15:09:39 +0000 (16:09 +0100)]
ActionBar: POD-Fix
Moritz Bunkus [Tue, 31 Jan 2017 14:39:10 +0000 (15:39 +0100)]
ActionBar: Verwendung bei »Steuern«
Moritz Bunkus [Tue, 31 Jan 2017 14:29:53 +0000 (15:29 +0100)]
ActionBar: Verwendung bei »Steuerzonen«
Moritz Bunkus [Tue, 31 Jan 2017 10:41:55 +0000 (11:41 +0100)]
ActionBar: Verwendung bei Buchungsgruppen
Moritz Bunkus [Tue, 31 Jan 2017 10:20:35 +0000 (11:20 +0100)]
ActionBar: Verwendung bei »Konto erfassen/bearbeiten«
Moritz Bunkus [Mon, 30 Jan 2017 16:14:47 +0000 (17:14 +0100)]
ActionBar: Verwendung bei Mahnungskonfiguration
Moritz Bunkus [Mon, 30 Jan 2017 16:13:03 +0000 (17:13 +0100)]
ActionBar: Verwendung bei UStVa-Konfiguration
Moritz Bunkus [Mon, 30 Jan 2017 15:41:34 +0000 (16:41 +0100)]
ActionBar: Verwendung bei Mandantenkonfiguration
Moritz Bunkus [Mon, 30 Jan 2017 15:36:49 +0000 (16:36 +0100)]
ActionBar: Verwendung bei »Preise aktualisieren«
Moritz Bunkus [Thu, 26 Jan 2017 16:17:01 +0000 (17:17 +0100)]
ActionBar: Verwendung beim CSV-Import
Moritz Bunkus [Thu, 26 Jan 2017 15:22:31 +0000 (16:22 +0100)]
ActionBar: programmatisches Interface für Änderungen On-The-Fly
Moritz Bunkus [Thu, 26 Jan 2017 14:37:55 +0000 (15:37 +0100)]
ActionBar: Objekte & Funktionen in Namespace kivi.ActionBar verschoben
Moritz Bunkus [Thu, 26 Jan 2017 13:59:09 +0000 (14:59 +0100)]
ActionBar: Verwendung bei »Benutzereinstellungen«
Moritz Bunkus [Thu, 26 Jan 2017 13:53:43 +0000 (14:53 +0100)]
ActionBar: Verwendung bei Wiedervorlagen
Moritz Bunkus [Thu, 26 Jan 2017 13:04:20 +0000 (14:04 +0100)]
ActionBar: Verwendung beim Massendruck
Moritz Bunkus [Thu, 26 Jan 2017 12:43:34 +0000 (13:43 +0100)]
ActionBar: Verwendung bei »Kontenabgleich«
Moritz Bunkus [Thu, 26 Jan 2017 12:38:16 +0000 (13:38 +0100)]
ActionBar: Verwendung bei »Kontenabgleich mit Bank«
Moritz Bunkus [Thu, 26 Jan 2017 10:53:32 +0000 (11:53 +0100)]
ActionBar: Vernwendung bei Bankbewegungen
Moritz Bunkus [Thu, 26 Jan 2017 10:37:07 +0000 (11:37 +0100)]
ActionBar: Verwendung bei »Kontoauszug importieren«
Moritz Bunkus [Wed, 25 Jan 2017 15:57:54 +0000 (16:57 +0100)]
ActionBar: Verwendung bei SEPA-Einzügen/-Überweisungen
Moritz Bunkus [Wed, 25 Jan 2017 14:06:58 +0000 (15:06 +0100)]
ActionBar: Verwendung bei Zahlungsein-/-ausgang
Moritz Bunkus [Wed, 25 Jan 2017 09:51:31 +0000 (10:51 +0100)]
ActionBar: Verwendung bei Liquiditätsübersicht
Moritz Bunkus [Wed, 18 Jan 2017 16:01:59 +0000 (17:01 +0100)]
ActionBar: Verwendung im E-Mail-Journal
Moritz Bunkus [Wed, 18 Jan 2017 15:44:58 +0000 (16:44 +0100)]
ActionBar: Verwendung bei UStVA
Moritz Bunkus [Wed, 18 Jan 2017 15:25:31 +0000 (16:25 +0100)]
ActionBar: ReportGenerator nutzt per Default nun die ActionBar
Moritz Bunkus [Wed, 18 Jan 2017 15:11:18 +0000 (16:11 +0100)]
ActionBar: Verwendung bei Berichte → SuSa, GuV, BWA, Bilanz, Projektbuchungen
Moritz Bunkus [Wed, 18 Jan 2017 14:49:10 +0000 (15:49 +0100)]
ActionBar: Verwendung bei »offene Forderungen/Verbindlichkeiten«
Moritz Bunkus [Wed, 18 Jan 2017 12:52:15 +0000 (13:52 +0100)]
ActionBar: Verwendung bei Jahresendbuchungen
Moritz Bunkus [Wed, 18 Jan 2017 12:40:10 +0000 (13:40 +0100)]
ActionBar: Verwendung beim GoDB-Export
Moritz Bunkus [Wed, 18 Jan 2017 12:37:36 +0000 (13:37 +0100)]
ActionBar: Verwendung beim DATEV-Export
Moritz Bunkus [Wed, 18 Jan 2017 11:37:30 +0000 (12:37 +0100)]
ActionBar: Verwendung in Kreditorenbuchungen
Moritz Bunkus [Tue, 17 Jan 2017 15:59:25 +0000 (16:59 +0100)]
ActionBar: Aufruf Historie in Verkaufrechnungen gefixt
Moritz Bunkus [Tue, 17 Jan 2017 15:35:52 +0000 (16:35 +0100)]
ActionBar: Verwendung bei Debitorenbuchungen
Moritz Bunkus [Tue, 17 Jan 2017 12:35:30 +0000 (13:35 +0100)]
ActionBar: Verwendung bei allen anderen Lager-Funktionen
Lager → …
• Erzeugnis fertigen
• Umlagern
• Entnahme
Lager → Berichte → …
• Lagerbestand
• Lagerbuchungen
Moritz Bunkus [Tue, 17 Jan 2017 11:19:16 +0000 (12:19 +0100)]
ActionBar: Form->show_generic_error umgestellt
Moritz Bunkus [Tue, 17 Jan 2017 10:15:19 +0000 (11:15 +0100)]
ActionBar: Warnungen wegen Funktionsüberschreibung vermeiden
Moritz Bunkus [Mon, 16 Jan 2017 15:27:56 +0000 (16:27 +0100)]
ActionBar: Verwendung bei Lager → Einlagern, Lager → Berichte → Lagerentnahme
Moritz Bunkus [Mon, 16 Jan 2017 14:58:43 +0000 (15:58 +0100)]
ActionBar: Massenerstellen: Action-Titel eindeutiger gemacht
Moritz Bunkus [Mon, 16 Jan 2017 14:41:33 +0000 (15:41 +0100)]
ActionBar: Brieffunktion: Drucken über Dialog
Moritz Bunkus [Mon, 16 Jan 2017 14:33:34 +0000 (15:33 +0100)]
ActionBar: Brieffunktion: E-Mail-Versand über Dialog
Moritz Bunkus [Mon, 16 Jan 2017 12:21:07 +0000 (13:21 +0100)]
ActionBar: Verwendung bei Massenerstellen von Rechnungen standardisiert
Moritz Bunkus [Mon, 16 Jan 2017 12:13:29 +0000 (13:13 +0100)]
ActionBar: Verwendung beim Finanzcontrollingbericht
Moritz Bunkus [Mon, 16 Jan 2017 12:10:31 +0000 (13:10 +0100)]
ActionBar: Verwendung beim Lieferwertbericht
Moritz Bunkus [Mon, 16 Jan 2017 12:08:11 +0000 (13:08 +0100)]
ActionBar: Verwendung beim Lieferplan
Moritz Bunkus [Mon, 16 Jan 2017 11:57:16 +0000 (12:57 +0100)]
ActionBar: Verwendung bei Mahnungen standardisiert
• »Weiter« → »Suchen«
• »Weiter« → »Anlegen«
Moritz Bunkus [Mon, 16 Jan 2017 11:50:57 +0000 (12:50 +0100)]
ActionBar: Verwendung bei Briefen standardisiert
• »Suchen« → »Erneuern«
• »Zurücksetzen« in Form verschoben
Moritz Bunkus [Mon, 16 Jan 2017 11:46:39 +0000 (12:46 +0100)]
ActionBar: Verwendung bei Pflichtenheften standardisiert
• »Suchen« → »Erneuern«
Moritz Bunkus [Mon, 16 Jan 2017 11:06:39 +0000 (12:06 +0100)]
ActionBar: Verwendung bei Projektsuche standardisiert
• »Suchen« → »Erneuern«
• »Zurücksetzen« in Form verschoben
• »Projekt erfassen« → »Erfassen«
Moritz Bunkus [Mon, 16 Jan 2017 11:03:20 +0000 (12:03 +0100)]
ActionBar: Verwendung bei Artikelsuche standardisiert
• »Weiter« → »Suchen«
Moritz Bunkus [Mon, 16 Jan 2017 11:02:25 +0000 (12:02 +0100)]
ActionBar: Verwendung bei Kunden-/Lieferanten/Ansprechpersonensuche standardisiert
• »Weiter« → »Suchen«
• »Neuer Kunde/Lieferant« → »Erfassen«
Moritz Bunkus [Mon, 16 Jan 2017 11:00:31 +0000 (12:00 +0100)]
ActionBar: Verwendung bei Preisregeln standardisiert
• »Suchen« → »Erneuern«
• »Zurücksetzen« in Form verschoben
Moritz Bunkus [Fri, 13 Jan 2017 14:49:37 +0000 (15:49 +0100)]
ActionBar: Verwendung beim Massenerzeugen von Rechnungen aus Lieferscheinen
Moritz Bunkus [Fri, 13 Jan 2017 14:49:06 +0000 (15:49 +0100)]
ActionBar: Tooltips für Deaktivierung überschreibt normalen Tooltip
Moritz Bunkus [Fri, 13 Jan 2017 13:00:42 +0000 (14:00 +0100)]
ActionBar: Verwendung bei Briefen
Moritz Bunkus [Fri, 13 Jan 2017 10:34:06 +0000 (11:34 +0100)]
ActionBar: Verwendung im Mahnprozess
Moritz Bunkus [Fri, 13 Jan 2017 10:19:34 +0000 (11:19 +0100)]
ActionBar: neue Option »only_once«, um Buttons nur einmal anklicken zu können
Moritz Bunkus [Fri, 13 Jan 2017 09:38:28 +0000 (10:38 +0100)]
ActionBar: Verwendung im neuen Auftrags-Controller
Moritz Bunkus [Fri, 13 Jan 2017 09:29:47 +0000 (10:29 +0100)]
ActionBar: leere ComboBoxen gar nicht anzeigen
Moritz Bunkus [Fri, 13 Jan 2017 09:25:48 +0000 (10:25 +0100)]
ActionBar: ComboBox mit nur einem Eintrag wie Eintrag rendern
Das erleichtert, wenn man in einer ComboBox mehrere Einträge evtl. gar
nicht anzeigt. Der Aufrufer muss dann nicht prüfen, ob er der ComboBox
einen oder mehrere Einträge übergibt.
Moritz Bunkus [Fri, 13 Jan 2017 09:22:12 +0000 (10:22 +0100)]
ActionBar: Auslassen von Actions über Parameter »only_if«/»not_if« steuern können
Gedacht für Buttons, die z.B. aufgrund der Mandantenkonfiguration nie
angezeigt werden können. Nicht gedacht für Buttons, die nur aufgrund des
Belegzustands nicht benutzt werden können (z.B. »Löschen« bei einem noch
nicht gespeicherten Beleg).
Moritz Bunkus [Thu, 12 Jan 2017 16:35:42 +0000 (17:35 +0100)]
ActionBar: Verwendung bei Preisregeln
Moritz Bunkus [Thu, 12 Jan 2017 16:06:02 +0000 (17:06 +0100)]
ActionBar: Verwendung bei Pflichtenheft(vorlagen)suche
Moritz Bunkus [Thu, 12 Jan 2017 16:01:41 +0000 (17:01 +0100)]
ActionBar: Verwendung bei Artikelsuche
Moritz Bunkus [Thu, 12 Jan 2017 15:46:49 +0000 (16:46 +0100)]
ActionBar: Verwendung bei Kunden-/Lieferanten/Ansprechpersonensuche