Externe Personen bei Aufgaben, Aufwand-Feld, Teams persönlich
- Aufgaben auch Kollegen außerhalb des Projekts zuweisen (Abschnitt „Externe Personen“ im Aufgaben-Panel) - Aufwand-Feld neu gestaltet: −/+, Schnellwahl, Umrechnung in Arbeitstage - Teams: persönliche Nachricht an die Zuständigen (Flow-Bot) statt Kanal Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4c2e04e78b
commit
e7243f6f26
6 files changed
+304
-101
No files matched your search
+55
-21
@@ -39,7 +39,7 @@
|
||||
<link rel="alternate icon" href="/logo.ico">
|
||||
<link rel="apple-touch-icon" href="/logo.png">
|
||||
<link rel="stylesheet" href="/styles.css?v=110">
|
||||
<link rel="stylesheet" href="/plan-styles.css?v=45">
|
||||
<link rel="stylesheet" href="/plan-styles.css?v=48">
|
||||
<!-- Glas-Darstellung (public/glas.css, als letztes Stylesheet): greift nur mit
|
||||
der Klasse html.glas. Gesetzt wird sie hier, vor dem ersten Zeichnen,
|
||||
damit die Seite nicht erst ohne Glas aufblitzt; abschaltbar je Browser
|
||||
@@ -679,23 +679,31 @@
|
||||
<!-- Teams-Anbindung (loadAdminTeams(), js/admin/admin.js; Server: /admin/teams*) -->
|
||||
<section class="settings-card" id="adminTeamsCard" data-admin-section="teams" style="display:none">
|
||||
<h3 class="settings-card-title">Teams <span class="settings-scope">firmenweit · nur Administratoren</span></h3>
|
||||
<p class="hint">Bekommt jemand eine Aufgabe zugewiesen, erscheint in einem Teams-Kanal eine
|
||||
Nachricht mit Link direkt auf die Aufgabe im Projekt.</p>
|
||||
<p class="hint">Bekommt jemand eine Aufgabe zugewiesen, erhält genau diese Person in Teams
|
||||
eine persönliche Nachricht (Chat mit dem Flow-Bot) mit Link direkt auf die Aufgabe.
|
||||
Gefunden wird sie über die E-Mail-Adresse ihres Kontos — die muss ihrem Teams-Anmeldenamen
|
||||
entsprechen. Wer kein Konto oder keine E-Mail hat, bekommt nichts.</p>
|
||||
<div id="adminTeamsInhalt"></div>
|
||||
<details class="kalender-anleitung">
|
||||
<summary>So richten Sie die Adresse in Teams ein</summary>
|
||||
<summary>So richten Sie den Workflow in Teams ein</summary>
|
||||
<ol>
|
||||
<li>In Teams den gewünschten Kanal öffnen, oben bei den drei Punkten
|
||||
<i>Workflows</i> wählen.</li>
|
||||
<li>Die Vorlage <i>„Beim Empfang einer Webhook-Anfrage in einem Kanal posten“</i>
|
||||
auswählen, einen Namen vergeben (z. B. „Projektübersicht“) und bestätigen.</li>
|
||||
<li>Teams zeigt am Ende eine lange Adresse (beginnt mit https://). Diese kopieren,
|
||||
<li>In Teams die App <i>Workflows</i> öffnen (oder im Browser make.powerautomate.com) und
|
||||
einen <b>leeren</b> Workflow anlegen.</li>
|
||||
<li><b>Auslöser:</b> „Bei Empfang einer Teams-Webhookanforderung“, bei
|
||||
<i>Wer kann den Flow auslösen</i> „Jeder“ wählen.</li>
|
||||
<li><b>Aktion:</b> „Karte in einem Chat oder Kanal veröffentlichen“ —
|
||||
<i>Posten als</i>: Flow-Bot, <i>Posten in</i>: Chat mit Flow-Bot,
|
||||
<i>Empfänger</i>: als Ausdruck <code>triggerBody()?['empfaenger']</code>,
|
||||
<i>Adaptive Karte</i>: als Ausdruck <code>string(triggerBody()?['karte'])</code>.</li>
|
||||
<li>Speichern. Beim Auslöser steht jetzt eine lange Adresse (https://…) — kopieren,
|
||||
hier einfügen und speichern.</li>
|
||||
<li>„Testnachricht senden“ — im Kanal sollte eine Karte erscheinen.</li>
|
||||
<li>„Testnachricht senden“ — die Nachricht kommt an Sie selbst.</li>
|
||||
</ol>
|
||||
<p class="hint">Der Server braucht dafür Internetzugang nach außen. Der Link in der
|
||||
Nachricht führt auf die Adresse, unter der die App im Büro aufgerufen wird — er
|
||||
funktioniert also nur im Büronetz (bzw. per VPN).</p>
|
||||
<p class="hint">Der Workflow läuft unter dem Konto, das ihn anlegt. Am besten legt ihn ein
|
||||
Sammelkonto oder die IT an — sonst hört er auf, wenn dieses Konto gesperrt wird.
|
||||
Der Server braucht Internetzugang nach außen; der Link in der Nachricht funktioniert
|
||||
nur im Büronetz (bzw. per VPN). Die Bezeichnungen in Teams können je nach Version
|
||||
leicht abweichen.</p>
|
||||
</details>
|
||||
</section>
|
||||
<section class="settings-card" id="adminBetriebCard" data-admin-section="betrieb" style="display:none">
|
||||
@@ -1602,12 +1610,38 @@
|
||||
<section class="pd-abs" id="todoEditWerAbs">
|
||||
<h3>Wer</h3>
|
||||
<div id="todoEditAssignees" class="person-chips"></div>
|
||||
<label class="pd-aufwand" for="todoEditAufwand">
|
||||
<span>Aufwand</span>
|
||||
<input type="number" id="todoEditAufwand" min="0" step="0.5" placeholder="0" inputmode="decimal">
|
||||
<span>Stunden, optional</span>
|
||||
</label>
|
||||
<p class="hint pd-hint">Zählt zur Auslastung der Zuständigen, verteilt auf den Zeitraum der Aufgabe.</p>
|
||||
<!-- Externe Personen: Kollegen mit Konto, die dem Projekt NICHT
|
||||
zugeordnet sind (Eriks Wunsch). todoExternHinzufuegen()/
|
||||
todoExternEntfernen(), js/plan/plan-modals.js -->
|
||||
<div class="pd-externe">
|
||||
<div class="pd-externe-kopf">Externe Personen <span class="hint">nicht im Projekt</span></div>
|
||||
<div id="todoEditExterne" class="person-chips"></div>
|
||||
<select id="todoEditExterneWahl" aria-label="Externe Person hinzufügen" onchange="todoExternHinzufuegen(this.value)"></select>
|
||||
</div>
|
||||
<!-- Aufwand: −/+, Schnellwahl, Umrechnung in Arbeitstage
|
||||
(todoAufwandAendern()/todoAufwandSetzen()/todoAufwandInfo(), plan-modals.js) -->
|
||||
<div class="pd-aufwand">
|
||||
<div class="pd-aufwand-kopf">
|
||||
<label for="todoEditAufwand">Aufwand</label>
|
||||
<span>optional · zählt zur Auslastung der Zuständigen</span>
|
||||
</div>
|
||||
<div class="pd-aufwand-zeile">
|
||||
<div class="pd-stepper">
|
||||
<button type="button" class="pd-stepper-knopf" onclick="todoAufwandAendern(-1)" aria-label="Eine Stunde weniger">−</button>
|
||||
<input type="number" id="todoEditAufwand" min="0" step="0.5" placeholder="0" inputmode="decimal" oninput="todoAufwandInfo()">
|
||||
<span class="pd-einheit">Std.</span>
|
||||
<button type="button" class="pd-stepper-knopf" onclick="todoAufwandAendern(1)" aria-label="Eine Stunde mehr">+</button>
|
||||
</div>
|
||||
<div class="pd-aufwand-schnell" id="todoAufwandSchnell" role="group" aria-label="Schnellwahl">
|
||||
<button type="button" data-h="2" onclick="todoAufwandSetzen(2)">2 h</button>
|
||||
<button type="button" data-h="4" onclick="todoAufwandSetzen(4)">½ Tag</button>
|
||||
<button type="button" data-tage="1" onclick="todoAufwandSetzen('tag', 1)">1 Tag</button>
|
||||
<button type="button" data-tage="2" onclick="todoAufwandSetzen('tag', 2)">2 Tage</button>
|
||||
<button type="button" data-tage="5" onclick="todoAufwandSetzen('tag', 5)">1 Woche</button>
|
||||
</div>
|
||||
</div>
|
||||
<span class="pd-aufwand-info" id="todoAufwandInfoText"></span>
|
||||
</div>
|
||||
</section>
|
||||
<section class="pd-abs">
|
||||
<h3>Stand</h3>
|
||||
@@ -1983,7 +2017,7 @@
|
||||
Tab-Ordner, keine neue Abhängigkeit nach vorn. -->
|
||||
<script src="/js/wand/wand.js?v=21"></script>
|
||||
<script src="/js/settings/settings.js?v=14"></script>
|
||||
<script src="/js/admin/admin.js?v=21"></script>
|
||||
<script src="/js/admin/admin.js?v=22"></script>
|
||||
<script src="/js/admin-users.js?v=10"></script>
|
||||
<script src="/js/admin/rollen.js?v=1"></script>
|
||||
<script src="/js/einfuehrung.js?v=2"></script>
|
||||
@@ -2002,7 +2036,7 @@
|
||||
<script src="/js/plan/plan-build-gantt.js?v=11"></script>
|
||||
<script src="/js/plan/plan-gantt.js?v=21"></script>
|
||||
<script src="/js/plan/plan-drag.js?v=8"></script>
|
||||
<script src="/js/plan/plan-modals.js?v=15"></script>
|
||||
<script src="/js/plan/plan-modals.js?v=18"></script>
|
||||
<script src="/js/plan/plan-tasks.js?v=4"></script>
|
||||
<script src="/js/plan/plan-phasen.js?v=2"></script>
|
||||
<script src="/js/plan/plan-files.js?v=4"></script>
|
||||
|
||||
Reference in new issue
Block a user