=== OpenNIT | Connector ===
Contributors: opennit
Tags: intranet, it-documentation, helpdesk, tickets, assets, loans
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 8.0
Stable tag: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Bindet OpenNIT-Daten (Leihgeräte, Tickets, Assets, Wissensdatenbank) per Shortcode in ein WordPress-Intranet ein.

== Description ==

Der OpenNIT Connector verbindet ein WordPress-Intranet mit der OpenNIT
IT-Dokumentationsplattform. Mitarbeitende erhalten Self-Service-Zugriff –
direkt in WordPress, abgesichert über token-basierte API-Zugriffe.

**Verfügbare Shortcodes**

* `[opennit_loan_devices]` – Leihgeräte reservieren/anfragen + eigene Leihen ("Meine Leihen")
* `[opennit_ticket_form]` – IT-Ticket erstellen (mit Kategorie/Standort-Auswahl, Anhang)
* `[opennit_my_tickets]` – eigene Tickets inkl. Verlauf und Antworten
* `[opennit_assets]` – eigene zugewiesene IT-Geräte ("Meine Geräte")
* `[opennit_wiki]` – Wissensdatenbank

Die Zugriffe laufen serverseitig über einen API-Token (Bearer), der im
OpenNIT-Backend unter Admin → API erstellt wird; der Token verlässt nie den
Browser der Besucher.

== Installation ==

1. Verzeichnis `opennit-connector` nach `wp-content/plugins/` kopieren.
2. Plugin im WordPress-Backend aktivieren.
3. Unter Einstellungen → OpenNIT die API-URL und den API-Token hinterlegen.
4. Shortcodes auf den gewünschten Seiten einfügen.

== Changelog ==

= 1.4.1 =
* Fix: Schwebende KI-Assistent-Bubble reagierte teils nicht auf Klicks. Der
  Klick-Handler wird jetzt sofort am Bubble-Button registriert, das Chat-Panel
  wird erst beim ersten Öffnen aufgebaut (lazy) und defensiv gekapselt. Damit
  öffnet die Bubble zuverlässig, auch wenn der Panel-Aufbau gestört wird.

= 1.3.8 =
* Fix: Datei-/Bildanhänge in "Meine Tickets" ließen sich nicht öffnen
  (HTTP 404). Ursache: Die Proxy-Aufrufe für Anhänge und Inline-Bilder
  waren nicht HMAC-signiert und wurden vom Server abgewiesen. Sie laufen
  jetzt über den signierten API-Client. Echte Fehlercodes werden nicht
  mehr pauschal als 404 maskiert.

= 1.3.7 =
* Eigener Bestätigungstext für den Freigabe-Fall: Wenn eine Anfrage erst vom
  IT-Team bestätigt werden muss, erscheint nicht mehr "erfolgreich reserviert",
  sondern ein eigener Text ("angefragt – Freigabe folgt"). Im OpenNIT-Backend
  unter Admin → API getrennt vom Reservierungs-Text konfigurierbar.

= 1.3.6 =
* Barrierefreiheit: Kategorie-, Standort- und Geräte-Auswahl sind jetzt
  vollwertige ARIA-Comboboxen (role=combobox/listbox/option, aria-expanded,
  aria-activedescendant) – nutzbar mit Screenreader und Tastatur.

= 1.3.5 =
* Kategorie/Standort/Gerät: klickbarer Dropdown-Pfeil als Affordance –
  die Liste lässt sich auch ohne Suchbegriff aufklappen und durchblättern.
* Platzhalter angepasst ("… wählen oder suchen …").

= 1.3.4 =
* Überarbeitung des Erscheinungsbilds in einen nüchternen, professionellen
  Enterprise-Look (heller Header mit Trennlinie, ein ruhiger Akzent-Ton,
  flache Flächen, dezente Schatten).

= 1.3.3 =
* Leihgeräte, "Meine Leihen" und "Meine Geräte" auf das einheitliche
  Karten-Design umgestellt (Header mit Icon, Status-Streifen, klarere Listen).

= 1.3.2 =
* Ticket-Formular und "Meine Tickets" modern überarbeitet (Karten-Layout,
  Datei-Dropzone, strukturierte Ticketliste mit Status-Pillen und Filter-Tabs).

= 1.3.1 =
* Leihanfragen unterstützen den Freigabe-Workflow: Self-Service-Anfragen
  werden als offene Anfrage (pending) angelegt und vom IT-Team bestätigt
  oder abgelehnt. Status "Anfrage offen" + Storno für offene Anfragen.

= 1.3.0 =
* Basisversion mit Shortcodes für Leihgeräte, Tickets, Assets und Wiki.

== Upgrade Notice ==

= 1.3.6 =
Verbesserte Barrierefreiheit der Auswahlfelder. Nach dem Update ggf. den
Seiten-Cache leeren, damit das aktualisierte JavaScript geladen wird.
