Automaattisäännöt: vastaanottaja-ehto, prioriteetti, abuse-tyyppi
- Lisää "Vastaanottaja sisältää" -ehto (to_contains) sääntöihin - Lisää "Aseta prioriteetti" -toimenpide (set_priority) - Lisää "Abuse" tikettityyppi - Korjaa DB-schema: subject_contains, to_contains, enabled, set_priority, set_tags sarakkeet - Parsii To-headerit sähköposteista säännön matchausta varten - Mahdollistaa esim. abuse@-postien automaattisen tyypityksen ja prioriteetin Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
41
db.php
41
db.php
@@ -617,6 +617,11 @@ function initDatabase(): void {
|
||||
"ALTER TABLE devices ADD COLUMN laitetila_id VARCHAR(20) DEFAULT NULL AFTER site_id",
|
||||
"ALTER TABLE document_folders ADD COLUMN customer_id VARCHAR(20) DEFAULT NULL AFTER company_id",
|
||||
"ALTER TABLE customer_connections ADD COLUMN gateway_device_id VARCHAR(20) DEFAULT NULL AFTER ip",
|
||||
"ALTER TABLE ticket_rules ADD COLUMN subject_contains VARCHAR(255) DEFAULT '' AFTER from_contains",
|
||||
"ALTER TABLE ticket_rules ADD COLUMN to_contains VARCHAR(255) DEFAULT '' AFTER subject_contains",
|
||||
"ALTER TABLE ticket_rules ADD COLUMN enabled BOOLEAN DEFAULT TRUE AFTER auto_close_days",
|
||||
"ALTER TABLE ticket_rules ADD COLUMN set_priority VARCHAR(20) DEFAULT '' AFTER type_set",
|
||||
"ALTER TABLE ticket_rules ADD COLUMN set_tags VARCHAR(255) DEFAULT '' AFTER set_priority",
|
||||
];
|
||||
foreach ($alters as $sql) {
|
||||
try { $db->query($sql); } catch (\Throwable $e) { /* sarake on jo olemassa / jo ajettu */ }
|
||||
@@ -1538,6 +1543,7 @@ function dbLoadTicketRules(string $companyId): array {
|
||||
foreach ($rules as &$r) {
|
||||
$r['priority'] = (int)$r['priority'];
|
||||
$r['auto_close_days'] = (int)$r['auto_close_days'];
|
||||
$r['enabled'] = !empty($r['enabled']);
|
||||
unset($r['company_id']);
|
||||
}
|
||||
return $rules;
|
||||
@@ -1545,23 +1551,30 @@ function dbLoadTicketRules(string $companyId): array {
|
||||
|
||||
function dbSaveTicketRule(string $companyId, array $rule): void {
|
||||
_dbExecute("
|
||||
INSERT INTO ticket_rules (id, company_id, name, from_contains, priority, tag, assign_to, status_set, type_set, auto_close_days)
|
||||
VALUES (:id, :company_id, :name, :from_contains, :priority, :tag, :assign_to, :status_set, :type_set, :auto_close_days)
|
||||
INSERT INTO ticket_rules (id, company_id, name, from_contains, subject_contains, to_contains, priority, tag, assign_to, status_set, type_set, set_priority, set_tags, auto_close_days, enabled)
|
||||
VALUES (:id, :company_id, :name, :from_contains, :subject_contains, :to_contains, :priority, :tag, :assign_to, :status_set, :type_set, :set_priority, :set_tags, :auto_close_days, :enabled)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name = VALUES(name), from_contains = VALUES(from_contains), priority = VALUES(priority),
|
||||
name = VALUES(name), from_contains = VALUES(from_contains), subject_contains = VALUES(subject_contains),
|
||||
to_contains = VALUES(to_contains), priority = VALUES(priority),
|
||||
tag = VALUES(tag), assign_to = VALUES(assign_to), status_set = VALUES(status_set),
|
||||
type_set = VALUES(type_set), auto_close_days = VALUES(auto_close_days)
|
||||
type_set = VALUES(type_set), set_priority = VALUES(set_priority), set_tags = VALUES(set_tags),
|
||||
auto_close_days = VALUES(auto_close_days), enabled = VALUES(enabled)
|
||||
", [
|
||||
'id' => $rule['id'],
|
||||
'company_id' => $companyId,
|
||||
'name' => $rule['name'] ?? '',
|
||||
'from_contains' => $rule['from_contains'] ?? '',
|
||||
'priority' => $rule['priority'] ?? 0,
|
||||
'tag' => $rule['tag'] ?? '',
|
||||
'assign_to' => $rule['assign_to'] ?? '',
|
||||
'status_set' => $rule['status_set'] ?? '',
|
||||
'type_set' => $rule['type_set'] ?? '',
|
||||
'auto_close_days' => $rule['auto_close_days'] ?? 0,
|
||||
'id' => $rule['id'],
|
||||
'company_id' => $companyId,
|
||||
'name' => $rule['name'] ?? '',
|
||||
'from_contains' => $rule['from_contains'] ?? '',
|
||||
'subject_contains' => $rule['subject_contains'] ?? '',
|
||||
'to_contains' => $rule['to_contains'] ?? '',
|
||||
'priority' => $rule['priority'] ?? 0,
|
||||
'tag' => $rule['tag'] ?? '',
|
||||
'assign_to' => $rule['assign_to'] ?? '',
|
||||
'status_set' => $rule['status_set'] ?? '',
|
||||
'type_set' => $rule['type_set'] ?? '',
|
||||
'set_priority' => $rule['set_priority'] ?? '',
|
||||
'set_tags' => $rule['set_tags'] ?? '',
|
||||
'auto_close_days' => $rule['auto_close_days'] ?? 0,
|
||||
'enabled' => !empty($rule['enabled']) ? 1 : 0,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user