SOGOMS v1.0.3 - Admin UI, Cron, Config reload
Phase 13 : sogoms-cron
- Jobs planifiés avec schedule cron standard
- Types: query_email, http, service
- Actions: list, trigger, status
Phase 16 : Réorganisation config/apps/{app}/
- Tous les fichiers d'une app dans un seul dossier
- Migration prokov vers nouvelle structure
Phase 17 : sogoms-admin
- Interface web d'administration (Go templates + htmx)
- Auth sessions cookies signées HMAC-SHA256
- Rôles super_admin / app_admin avec permissions
Phase 19 : Création d'app via Admin UI
- Formulaire création app avec config DB/auth
- Bouton "Scanner la base" : introspection + schema.yaml
- Rechargement automatique sogoway via SIGHUP
Infrastructure :
- sogoctl : socket de contrôle /run/sogoctl.sock
- sogoway : reload config sur SIGHUP sans restart
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
45
config/apps/prokov/emails/task_assigned.yaml
Normal file
45
config/apps/prokov/emails/task_assigned.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# Template: Notification d'assignation de tâche
|
||||
subject: "Nouvelle tâche : {{.TaskName}}"
|
||||
|
||||
body: |
|
||||
Bonjour {{.Name}},
|
||||
|
||||
Une nouvelle tâche vous a été assignée :
|
||||
|
||||
Projet : {{.ProjectName}}
|
||||
Tâche : {{.TaskName}}
|
||||
{{if .Description}}Description : {{.Description}}{{end}}
|
||||
{{if .DueDate}}Échéance : {{.DueDate}}{{end}}
|
||||
|
||||
Connectez-vous pour voir les détails.
|
||||
|
||||
Cordialement,
|
||||
L'équipe Prokov
|
||||
|
||||
body_html: |
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
</head>
|
||||
<body style="font-family: Arial, sans-serif; line-height: 1.6; color: #333;">
|
||||
<div style="max-width: 600px; margin: 0 auto; padding: 20px;">
|
||||
<h1 style="color: #2563eb;">Nouvelle tâche assignée</h1>
|
||||
<p>Bonjour <strong>{{.Name}}</strong>,</p>
|
||||
<p>Une nouvelle tâche vous a été assignée :</p>
|
||||
<div style="background-color: #f8fafc; border-left: 4px solid #2563eb; padding: 15px; margin: 20px 0;">
|
||||
<p style="margin: 5px 0;"><strong>Projet :</strong> {{.ProjectName}}</p>
|
||||
<p style="margin: 5px 0;"><strong>Tâche :</strong> {{.TaskName}}</p>
|
||||
{{if .Description}}<p style="margin: 5px 0;"><strong>Description :</strong> {{.Description}}</p>{{end}}
|
||||
{{if .DueDate}}<p style="margin: 5px 0;"><strong>Échéance :</strong> {{.DueDate}}</p>{{end}}
|
||||
</div>
|
||||
<p style="text-align: center; margin: 30px 0;">
|
||||
<a href="{{.TaskURL}}" style="background-color: #2563eb; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; display: inline-block;">
|
||||
Voir la tâche
|
||||
</a>
|
||||
</p>
|
||||
<hr style="border: none; border-top: 1px solid #eee; margin: 20px 0;">
|
||||
<p style="color: #666; font-size: 14px;">Cordialement,<br>L'équipe Prokov</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user