Project

General

Profile

Elektronische Signatur » History » Version 2

Carsten Rose, 12.04.2021 16:47

1 1 Carsten Rose
h1. Elektronische Signatur
2
3
* Person A loest im Tool eine Email aus, die an Person B gesendet wird.
4
* Die Email enthaelt eine URL mit einem zeitlich beschraenktes Einmal-Token.
5
* Person B empfaengt die Email und klickt auf dem Link.
6
* Bei Aufruf der URL wird entweder ein Form geoeffnet (um weitere Information abzufragen) oder der Link loest direkt eine Action aus das etwas bestaetigt wird.
7
8
9 2 Carsten Rose
h1. Approval Mail ausloesen - Page: application
10 1 Carsten Rose
11 2 Carsten Rose
* QFQ Record: a) Logik um die Approval Mail auszuloesen, b) Den Link anzubieten um das versenden zu starten.
12 1 Carsten Rose
<pre>
13
#
14
# {{action:SE::w}}'='sendApprovalMail'
15
# {{appId:RE}}
16
#
17 2 Carsten Rose
18
# Logic to send email with AUTH token
19 1 Carsten Rose
10 {
20
  # Take care that the SIP variable is cleared after first use.
21
  sql = SELECT '' FROM (SELECT '') AS fake WHERE '{{action:SE::w}}'='sendApprovalMail'
22
23
  # Be sure an auth token is defined
24
  20.sql = UPDATE Application SET auth='{{random:V}}' WHERE auth='' AND id={{appId:S}}
25
26
  30 {
27
    sql = SELECT n.text AS _body
28
                  n.title AS _subject
29
                  app.auth AS _auth
30
                  QDATE_FORMAT(app.deadline) AS _deadline
31
            FROM Note AS n, Application AS app
32
            WHERE n.reference='Email Template: Approve Mail'
33
              AND app.id={{appId:R}}
34
35
    40.sql = SELECT 'to:<email>|from:<email>|subject:{{subject:R}}|body:{{body}}|grid:<grid>|xid:<xId>' AS _sendmail
36
  }
37
38
}
39
40 2 Carsten Rose
# Logic to show application status
41
100 {
42 1 Carsten Rose
43 2 Carsten Rose
  sql = SELECT ...
44 1 Carsten Rose
45 2 Carsten Rose
  # Link to initiate email
46
  110.sql = SELECT 'p:{{pageAlias:T}}&action=sendApprovalMail&appId={{appId:R}}|q:An approval mail will be sent|s|b:Send mail' AS _link
47
            FROM Application AS app 
48
            WHERE app.id={{appId:R}}
49
}
50
</pre>
51 1 Carsten Rose
52 2 Carsten Rose
* Email Template (z.B. Note Record) mit Variablen. Achtung: evtl darf der Text darf nicht HTML SpecialChar kodiert werden.
53 1 Carsten Rose
<pre>
54
Dear {{name:R}}
55
...
56
Please click {{baseUrl:Y}}/index.php?id=confirmation&auth={{auth:R}}.
57
...
58
The applicants deadline is {{deadline:R}}.
59
...
60
</pre>
61
62 2 Carsten Rose
h1. Approval - Page: approval
63
64
<pre>
65
</pre>