• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

sqStorage Webbasierte Mini-Lagerverwaltung

saddy

Neu angemeldet

Registriert
16 Juli 2013
Beiträge
3.978
Ort
*.*
Re: Webbasierte Mini-Lagerverwaltung

.htaccess + .htpasswd wär auch ne Idee.
Impressum + Datenschutz müsste man sonst mit Pech auch haben?!

E: Ich ergänz mal noch die benötigten Dateien für den apache2, einfach ins www Verzeichnis indem auch die Software liegt packen, falls die .htaccess Datei schon vorhanden ist einfach ergänzen:

.htaccess
Code:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /var/www/tests/illdytest1/.htpasswd
Require valid-user

.htpasswd
entweder Passwort mit z.B. diesem Online Dienst generieren und in dasselbe Verzeichnis legen:

Oder lokal im Terminal mit
Code:
htpasswd -b -c .htpasswd username password
.

Infos zu Dateirechten (bin ehrlich grad wieder ausgeloggt aus meinem Server und mich überkommt noch mal ein Schwall von Übelkeit, zu den Dateirechten steht hier z.B. ein bisschen:

% chmod 701 .
% chmod 644 .htaccess
% chmod 644 .htpasswd
 
Zuletzt bearbeitet:

Rakorium-M

NGBler

Registriert
14 Juli 2013
Beiträge
413
Re: Webbasierte Mini-Lagerverwaltung

SQLi-Angriffe sollten eigentlich kein Thema mehr sein. Das Projekt verwendet MeekroDB um die Datenbank anzusprechen, und theSplit baut nirgendwo Statements von Hand. MeekroDB selbst scheint gegen SQLi gesichert zu sein (zumindest escapen sie mal alle Parameter).
 

X-Coder

NGBler

Registriert
14 Juli 2013
Beiträge
114
Re: Webbasierte Mini-Lagerverwaltung

MeekroDB kannte ich noch nicht.
Oben sah es so aus, als würde das Escaping fehlen, aber da DB::query nur ein Wrapper dafür ist, welcher dann das Escaping übernimmt, passt es so ja.
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.042
Re: Webbasierte Mini-Lagerverwaltung

Die angepasste invetory.php findet sich im Anhang - wenn du das kurz testen magst @thom, wäre ich dir sehr verbunden.
Ich glaube Dir, dass es funktioniert. Aktuell steht aber tatsächlich das Umräumen auf der Prioritätenliste, danach probier ich das mal. :)
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.042
Re: Webbasierte Mini-Lagerverwaltung

Was mir jetzt aktuell auch so auffällt:
Ich hab jetzt beispielsweise in Fach E5 ein paar Sachen eingelagert, z. B. mehrere Kleinteile in einer Schachtel. Nun gefällt mir plötzlich der Platz aber irgendwie nicht mehr, da ich was hab, was dort besser hinpasst. Nun will ich also E5 nach A3 verschieben. Mit einzelnen Elementen geht das ja wunderbar, nur wenn man mal 20 Stück auf einmal verschieben möchte, ist das relativ mühsam, wie ich feststellen musste. Kann man daran noch irgendwas machen, dass das vielleicht ein wenig bequemer ist?


Edit: Mir fällt gerade noch auf, dass die Anzahl an Gegenständen in der Übersichtsseite falsch bzw. unklar gezählt werden. Um mal ein Beispiel zu machen:

Nehmen wir mal an, ich hab eine Kategorie "Router" und eine Unterkategorie "Fritzbox". Dort sind dann z. B. vier Fritzbox 7170 eingetragen. Bei der Hauptkategorie würde dann ein Gegenstand als Anzahl angezeigt werden und bei der Unterkategorie vier Gegenstände. Heißt, die Auswertung ist unterschiedlich, also einmal nach Anzahl von Einträgen und einmal nach Anzahl der tatsächlich vorhandenen Gegenstände. Das ist irgendwie unlogisch. ;)
 
Zuletzt bearbeitet:

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #46
Re: Webbasierte Mini-Lagerverwaltung

Ich hab das gerade etwas durchgespielt - im Grunde sind die Angaben in so fern korrekt gewesen.

Ich zeige dir mal die drei Beispiele - jedes File heißt wie die PHP Seite die aufgerufen ist:


Übersicht aller Gegenstände - hier scheint aber die Anzahl auch zu stimmen.
inventory_php.png

Ansicht nach Kategorien:
categories.png

Folgend werden 3 Positionen gelistet (Positionen nicht gleich Gegenstandsmenge) - meinst du das vielleicht was dich irritiert?
Es kann sein, da bin ich mir gerade nicht sicher, ob ich nicht bei der Git Version irgendwas bearbeitet oder korrigiert hatte in dieser Richtung.
Aber hier kann ich versuchen nachzulegen, so dass man einmal die Anzahl an Posten und die Gesamtanzahl an Gegenstände in der inventory.php?category=1 sieht.

category_display.png



Bezüglich des Verschiebens von mehreren Gegenständen/Posten in ein anderes Fach, müsste ich mal schauen wie so etwas elegant gemacht werden kann. Zum Beispiel den Inhalt von Fach X zu Fach Y zu transferieren?
Einzelne Punkte kann man ja zuweisen bzw. transferieren, aber ich geb dir Recht, das wäre bei vielen Positionen etwas viel Arbeit.
 
Zuletzt bearbeitet:

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #47
Re: Webbasierte Mini-Lagerverwaltung

Es gibt ein Update auf Git mit folgrenden Änderungen/Korrekturen:

- Anzahl von Positionen und Anzahl der Gegenstände werden angezeigt
- Anzahl der Gegenstände und Positionen werden nun korrekt subtrahiert/addiert, es kann allerdings erforderlich sein die Anzahl durch Neubestätigung eines Eintrags (Bearbeiten, Speichern ohne Änderungen) die Gesamtanzahl entsprechend korrigiert, falls diese falsch berechnet wurde.
- encodeURIcomponent um URL Parameter korrekt zu escapen
- Umbenennen von Einträgen behoben
- Default "localhost" und Webserver IP, wie auch Portangabe in [kw]support/dba.php[/kw] hinzugefügt

@Thom, das Zusammenführen bzw. "portieren" von Gegenständen von einem Lagerplatz in einen anderen wird das nächste Feature sein, meine Gedanken dazu: 2 Auswahlrn von Lagerplätzen (Quelle > Ziel) und dann eine Gegenüberstellung (links "Quelle", rechts "Ziel" bzw. Vice Versa bei der man markieren/anhaken kann was alles transferiert werden soll mit einmaliger Bestätigung zum Transfer).

--- [2019-02-22 07:01 CET] Automatisch zusammengeführter Beitrag ---

Ich habe eben gerade nochmal ein Update auf Github geschoben, konkret betrifft das Update die Suche.

Jetzt kann "erfolgreich" nach Kategorien, Namen, Bemerkung und anderen Kritierien gesucht werden. Die ursprüngliche Lösung war nicht sonderlich geschickt umgesetzt. Jetzt ist es definitiv besser.

Die Änderungen sind in den letzten Commits:

Oder im Detail (neuester Commit zu erst):


und
 
Zuletzt bearbeitet:

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #48
Re: Webbasierte Mini-Lagerverwaltung

Es gab noch eine neues Update bezüglich der Suche.

Vorher bestand der Fehler, den Thom berichtet hat, der dafür sorgte das in einer Unterkategorie 1, 11, 111 zusammengefast worden sind dies sollte nun behoben sein.

Damit das ganze ordentlich funktioniert gibt es ein "updateDB.php" Skript:

bzw.

Dies wandelt die bestehende Gegenstände/Items so um, das die Unterkategorien sauber mit "," (Komma) separiert werden, damit die Suche besser greifen kann.
Auch wurde die Suche an sich noch etwas überarbeitet, da es noch ein paar Feinheiten gab, die mir heute morgen nicht aufgefallen sind.

Neu angelegte Objekte und neu gespeicherte Gegenstände haben direkt das korrekt Format.
Das Update mittels "updateDB.php" muß also nur einmal gemacht werden, es ist aber in so fern abgesichert das Mehrfaches ausführen keine Probleme bereitet.

In anderen Ecken wurde auch Code geupdatet.
 

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #49
Re: Webbasierte Mini-Lagerverwaltung

Aloha.

Ein erneutes Update, was auch ein bereits vorhandes Feature ergänzt hat und eine Fehlerkorrektur:

- Gegenstände die aus einer Kategorie entfernt werden, werden subtrahiert, nicht mehr addiert...
- Unterkategorien können nun Oberkategorien zugeordnet werden (siehe Screenshot)
- Unterkategorien werden nun auch im Überblick der Oberkategorie, gesondert, mit angezeigt (siehe Screenshot)





--- [2019-02-26 21:03 CET] Automatisch zusammengeführter Beitrag ---

Hier noch eine Demo zum Transfer, an dem ich gerade arbeite:

 
Zuletzt bearbeitet:

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #50
Re: Webbasierte Mini-Lagerverwaltung

Folgend das gewünschte Transferfeature, auch bereits Live auf , im Einsatz.



Etwas mehr Demo, auch mit mehreren Quellen und Umschalten, damit man sieht das man aus mehreren Quellen gleichzeitig ins Ziel verschieben kann.



@Thom, schau mal ob das für dich passt. :)
 
Zuletzt bearbeitet:

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #51
sqStorage - (Mit)hilfe gesucht!

Ich möchte an dieser Stelle Mithilfe erbitten: konkret geht es darum, die Lagerverwaltung mittels Gettext in PHP, in das Englische (Basis) und ins Deutsche (Übersetzung), zu übersetzen - oder andere Sprachen die ihr mächtig seid.

Stand ist aktuell das viele der Strings bereits "gettext" Vorlagen beinhalten, aber ich habe etwas Schluckauf mit den Grundlagen und einer konkreten Umsetzung in PHP und Frage daher euch, bei der Übersetzung und den Grundlagen mitzuhelfen.

Die Situation/Fragen ist/sind wie folgt:
1) Das Frontend ist komplett in deutscher Sprache, hier sollte auf Englisch umgestellt werden, dann die Übersetzung ins deutsche über gettext
2) soweit im Blick ist ein Großteil der Texte, anfänglich, mit [kw]gettext('Übersetzender Text');[/kw] schon enthalten.
3) wie sind Singular und Plural einzubinden?
4) wie setzt und erkennt man effektiv die Benutzersprache? (Cookies, Session-Variable?, Dropdown mit Sprachauswahl? oder.... ?)
5) ... [etwas wichtiges vergessen?]

Als Gegenleistung kann ich kein Geld anbieten, aber die Option euch als Supporter und Unterstützer, zum Beispiel in einer Credits/Contributer -Sektion, auf der Projektseite in Github, zu setzen, falls erwünscht.

Gerne kann ich auch Issues für diese Punkte auf Github erstellen, die man dann referenzieren kann.
 

braegler

NGBler

Registriert
14 Juli 2013
Beiträge
851
Re: Webbasierte Mini-Lagerverwaltung

Ich kann Dir nicht sagen, wie man es richtig macht, aber wie ich es bisher gemacht hab bzw. es machen würdeFür Plural/Singular bietet sich die Funktion "ngettext" an
Plural/Singular lassen sich über ngettext einfangen.
[src=php]
setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken
[/src]


Allerdings würde ich das ganze doch eher mit einer freundlichen Template-Engine wir Smarty umsetzen. Da kannst Du dann wirklich angenehm die Trennung zwischen Code und Anzeige trennen.
War früher (TM) nie mein Ding, aber seit ich damit rumgespielt hab, lieb ich es.
Mal sehn ob ich die Zeit finde das versuchsweise einzubasteln.

--- [2019-03-02 13:43 CET] Automatisch zusammengeführter Beitrag ---

Hab mich mal ein klein Wenig ausgetobt.
https://github.com/schnoog/sqstorage
(hab das vendor Verzeichnis nicht in die gitignore aufgenommen, so dass man composer nicht braucht)

Mal rein gebastelt:
Smarty Template Engine
Ein Template für die Index-Seite

Wenn Du Dir das Template (indexpage.tpl durchaus noch optimierungsfähig) sowie die index.php mal anschaust, wirst Du sehen wieso ich das mag.

--- [2019-03-02 22:12 CET] Automatisch zusammengeführter Beitrag ---

Und weiter gehts....
Hab nun auch das Inventar mal auf Smarty umgestellt.
Singular / Plural bei Position und Gegenstand (smarty-gettext -> ngettext -- templates/inventory.tpl Zeile 22)
 

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #53
Re: Webbasierte Mini-Lagerverwaltung

Wow.... krass viele Anpassung und Änderungen von dir :D
Und wie ich auf Github sehe, machst du sogar schon eine Sprachauswahlintegration, ziemlich cool.

Das mit dem Templating und Composer schreit allerdings nach Techdebt... Composer kenne ich nur von Namen und Smarty Templating, nur minimale Vorkenntnisse.
Ich habe vor Jahren mal mit Flask und Jinja2 Templating gearbeitet - daher lässt sich ein wenig erahnen was Smarty macht, aber ich weiß nicht über die Details. Und die Code Aufteilung ist etwas gewöhnungsbedürftig, wobei....

Also, was [kw]$smarty->assign("storages",$storages);[/kw] macht, würde ich darauf tippen, dass quasi eine PHP Variable in das Scope des Templates (für weitere Nutzung in der Ausgabe) zu "exportieren"/fest zu legen?

Die geschweiften Klammern => [kw]{ }[/kw] notieren PHP Code und oder Smarty Anweisungen?

Zum Beispiel und .

[kw]{literal}[/kw] und [kw]{/literal}[/kw] Kennzeichnen (JS) Code Blöcke? Bzw. wenn etwas nicht mit Smarty geparsed werden sollen?

Wenn ich richtig sehe, ich glaube das ist worauf du hinaus wolltest, das die Logik von der Darstellung/Rendering, für und über Templates, entkoppelt wird, so das ein Template direkt alle nötigen Inhalte bekommt und dann nur noch ausgerendert werden muß?

Bei Composer kann ich mir allerdings nicht viel bei denken, kann also nicht einschätzen ob das eine konkrete Verbesserung darstellt...
 

braegler

NGBler

Registriert
14 Juli 2013
Beiträge
851
Re: Webbasierte Mini-Lagerverwaltung

Composer kannst Du getrost vergessen. Hab den /vendor/ Ordner mit im Git, also schon alles bereits zum loslegen

Normalerweise ist der /vendor/ im .gitignore und der Entwickler installiert die in der composer.json gelisteten Abhängigkeiten mittels "composer install" (das erzeugt das vendor Verzeichnis und füllt es mit Inhalt)
Deshalb kommen selbst riesige Projekte als git-checkout winzig an. Mit Composer werden dann Unmengen an Daten reingeschaufelt.
Hält das git schön schlank.
Auch meekro könnte man so einbinden:
Lokale meekro-Datei löschen, include löschen
Mit installierten Composer in der Kommandozeile
[src=bash]
composer require "sergeytsalkov/meekrodb"
composer update
[/src]
Und schon wäre die manuell installierte Version durch die von Composer ersetzt.
Vorteil:
Mit composer update kann dann jederzeit auf den neusten Release aktualisiert werden

Das schöne an mit Composer installierten Libs: Du musst dich nichts ums linken kümmern. Einmal
[src=php]include_once("vendor/autoload.php");[/src]
irgendwo einbinden, und du kannst sie Bibliotheken nutzen. Passiert in der includer.php

Die geschweiften Klammern sind smarty Anweisungen.
[src=php]
//Code
$smarty->assign("variable","Testtext")
//Template:
Ausgabe 1:{$variable}
Ausgabe 2:{t}{$variable}{/t}

//Ausgabe analog zu
//Ausgabe 1:
echo "Testtext";
//Ausgabe 2:
echo gettext("Testtext");
[/src]

Man kann im Template auch mit Variablen arbeiten.
[src=php]
{$test=1}
Nummer {$test}<br>
{$test=$test+1}
Nummer {test}
[/src]
Nummer 1
Nummer 2
ausgeben.

Smarty hat eine extrem flache Lernkurve.
Besonders Dinge wie Tabellen usw. füllen ist damit nett.
Foreach hat nette Features wie last und first.
 

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #55
Re: Webbasierte Mini-Lagerverwaltung

Leicht verständliche und nachvollziehbare Erläuterungen dazu. Danke Dir! :T
 

venom2k6

Neu angemeldet

Registriert
15 Juli 2013
Beiträge
88
Re: Webbasierte Mini-Lagerverwaltung

Ich will mich an dieser stelle für das tolle projekt bedanken. das war genau das richtige was ich für mein Elektroniklager im keller brauchte! Vielen Dank, super Arbeit!

was ich mir noch für funktionen wünschen würde:

# Loginsystem
# Minimumbestand festlegen. ist dieser erreicht, wird der Background der Artikelzeile rot
# vielleicht ein feld indem ich Lieferant und artikelnummer eintragen könnte

vg
 

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #57
Re: Webbasierte Mini-Lagerverwaltung

Freut mich wenn das Projekt genutzt wird und Danke für das Feedback.

# vielleicht ein feld indem ich Lieferant und artikelnummer eintragen könnte

Eine Artikel/Seriennummer lässt sich in den Details des Artikels bzw. bei Bearbeitung eintragen, allerdings ist diese in der Übersicht, aktuell, nicht sichtbar.
Auf Github gab es eine ähnliche Anfrage bezüglich eines Feldes für den "Zustand eines Artikels" (Neu, Gebraucht, Refurbished in diesem Fall).
Daher wäre eine Überlegung: "extra" Felder, für jeden Artikel, selbst zusammen zu stellen, welche dann in einer ausklappbaren "Detailansicht" sichtbar werden, zum Beispiel unterhalb des aktuellen Artikels in einer Art Accordion (allerdings ohne jQuery),

Das würde gleich mehrere Fliegen mit einer Klappe schlagen und man wäre flexibel was "extra" Felder anbelangt die nicht per Standard vorhanden sind. Das ganze bräuchte dann nur ein etwas intelligenteres Eingabeinterface worin man bestehe Zusatzfelder anwählen kann und neue hinzufügen. Eventuell wäre es sogar möglich eine Vorlage zu setzen, die zukünftige Einträge automatisch beinhalten und dann nur noch entsprechend gefüllt werden müssen. Dann wäre noch eine Überlegung diese Zusatzfelder, geleert, auf bereits eingetragene Gegenstände zu übertragen. Eventuell, wahlweise, mit und ohne kopiertem Wert.

# Minimumbestand festlegen. ist dieser erreicht, wird der Background der Artikelzeile rot
Definitiv möglich. Ich würde sogar soweit zu gehen, das in der Übersicht für einen Lagerplatz (oberhalb der anderen Gegenstände/Artikel) das in einem extra Bereich dargestellt wird.


Da wäre die Frage, geht es um einen Passwortschutz und oder darum, verschiedene Benutzer mit unterschiedlichen Rechten zu haben? Vielleicht magst du das noch etwas weiter ausführen, was du dir darunter vorstellst. :)
 

theSplit

1998
Teammitglied

Registriert
3 Aug. 2014
Beiträge
27.080
  • Thread Starter Thread Starter
  • #58
Re: Webbasierte Mini-Lagerverwaltung

Folgend ein Video, welches die anfängliche Eingabemaske für die benutzerdefinierten Datenfelder zeigt.

Das ganze ist noch nicht fertig, aber ich denke es zeigt wohin die Reise geht ;)

Hier die Vorschau:
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.042
Re: Webbasierte Mini-Lagerverwaltung

Schön, dass Du an der Sache dran bleibst. Mittlerweile hast Du ja noch weitere Tester gefunden. Leider hab ich aktuell nicht wirklich viel Zeit dafür, müsste meines auch mal auf die aktuelle Version updaten. :(
 

venom2k6

Neu angemeldet

Registriert
15 Juli 2013
Beiträge
88
Re: Webbasierte Mini-Lagerverwaltung

Das was in deinem video gezeigt wird sieht schonmal sehr vielversprechend aus. Ich bin gespannt!!

Mit loginsystem meinte ich generell passwortschutz. Das man sich einfach anmelden muss, bevor man die lagerverwaltung nutzen kann. Wenn weiterenutzer möglich wären wäre das sicher auch keine schlechte lösung.

Da würde es ja reichen wenn man sagen kann admin ja oder nein. Mehr bräuchte es wohl am Anfang nicht. Entweder kann man nur überprüfen oder auch bearbeiten

Vielen dank das du es weiterentwickelst!!!
 
Oben