From 45aa873a7ecbfafa596d621bb96f54f414dc0437 Mon Sep 17 00:00:00 2001 From: Andrea Fazzi Date: Mon, 9 Dec 2019 09:45:45 +0100 Subject: [PATCH] Add alerts for participants school subscription --- compose/sql/oef_dev.sql | 120 ++++++++++++- oef_dev.sql | 201 ---------------------- orm/school.go | 2 +- renderer/funcmap.go | 8 +- templates/layout/read_all_header.html.tpl | 2 + templates/participants.html.tpl | 64 +++++-- templates/schools_show.html.tpl | 17 +- 7 files changed, 183 insertions(+), 231 deletions(-) delete mode 100644 oef_dev.sql diff --git a/compose/sql/oef_dev.sql b/compose/sql/oef_dev.sql index f8afeccb..7983b6bd 100644 --- a/compose/sql/oef_dev.sql +++ b/compose/sql/oef_dev.sql @@ -45,6 +45,34 @@ INSERT INTO `answers` VALUES (1,'2019-11-13 15:44:39','2019-11-13 15:44:39',NULL /*!40000 ALTER TABLE `answers` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `categories` +-- + +DROP TABLE IF EXISTS `categories`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `categories` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_categories_deleted_at` (`deleted_at`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `categories` +-- + +LOCK TABLES `categories` WRITE; +/*!40000 ALTER TABLE `categories` DISABLE KEYS */; +INSERT INTO `categories` VALUES (1,'2019-12-09 08:28:52','2019-12-09 08:28:52',NULL,'Junior'),(2,'2019-12-09 08:28:52','2019-12-09 08:28:52',NULL,'Senior'); +/*!40000 ALTER TABLE `categories` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `contests` -- @@ -75,7 +103,7 @@ CREATE TABLE `contests` ( LOCK TABLES `contests` WRITE; /*!40000 ALTER TABLE `contests` DISABLE KEYS */; -INSERT INTO `contests` VALUES (1,'2019-11-14 10:02:17','2019-11-18 15:57:14',NULL,'Regionale JUNIOR','','0000-00-00 00:00:00','0000-00-00 00:00:00','2020-04-01 10:00:00','2020-04-01 11:00:00','2020-04-01 10:00:00'),(2,'2019-11-15 10:15:57','2019-11-18 15:58:55',NULL,'Test Diagnostico','',NULL,NULL,'2019-11-15 13:00:00','2019-11-15 14:00:00','2019-11-15 13:00:00'); +INSERT INTO `contests` VALUES (1,'2019-11-14 10:02:17','2019-12-07 11:35:55',NULL,'Regionale JUNIOR','','0000-00-00 00:00:00','0000-00-00 00:00:00','2020-04-01 10:00:00','2020-04-01 11:00:00','2020-04-01 10:00:00'),(2,'2019-11-15 10:15:57','2019-12-07 11:26:48',NULL,'Test Diagnostico','',NULL,NULL,'2019-11-15 13:00:00','2019-11-15 14:00:00','2019-11-15 13:00:00'); /*!40000 ALTER TABLE `contests` ENABLE KEYS */; UNLOCK TABLES; @@ -95,9 +123,20 @@ CREATE TABLE `participants` ( `lastname` varchar(255) DEFAULT NULL, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, + `role` varchar(255) DEFAULT NULL, + `user_id` int(10) unsigned DEFAULT NULL, + `fiscal_code` varchar(255) DEFAULT NULL, + `school_id` int(10) unsigned DEFAULT NULL, + `creator_id` varchar(255) DEFAULT NULL, + `creator_role` varchar(255) DEFAULT NULL, + `creator_ip` varchar(255) DEFAULT NULL, + `updater_id` varchar(255) DEFAULT NULL, + `updater_role` varchar(255) DEFAULT NULL, + `updater_ip` varchar(255) DEFAULT NULL, + `category_id` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_participants_deleted_at` (`deleted_at`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -106,7 +145,7 @@ CREATE TABLE `participants` ( LOCK TABLES `participants` WRITE; /*!40000 ALTER TABLE `participants` DISABLE KEYS */; -INSERT INTO `participants` VALUES (1,'2019-11-15 10:02:46','2019-11-18 15:58:55',NULL,'Mario','Rossi','mario.rossi','EqAs1z7M'),(2,'2019-11-18 12:00:07','2019-11-18 15:57:14',NULL,'Luigi','BIANCHI','luigi.bianchi','FpWJj89n'),(3,'2019-11-18 12:01:55','2019-11-18 12:12:26',NULL,'Francesco','VERDI','francesco.verdi','MiJ9Ig4L'),(4,'2019-11-18 15:57:36','2019-11-18 15:57:36',NULL,'Franco','neri','franco.neri','YtGGU28p'); +INSERT INTO `participants` VALUES (1,'2019-12-09 08:36:28','2019-12-09 08:36:28',NULL,'Mario','ROSSI',NULL,NULL,NULL,2,'RSSMRA80A01E815L',1,'1','school','127.0.0.1:37620','','','',1),(2,'2019-12-09 08:37:55','2019-12-09 08:37:55',NULL,'Margherita','BIANCHI',NULL,NULL,NULL,3,'BNCMGH03A41D643M',1,'1','school','127.0.0.1:37686','','','',2); /*!40000 ALTER TABLE `participants` ENABLE KEYS */; UNLOCK TABLES; @@ -151,6 +190,9 @@ CREATE TABLE `responses` ( `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `participant_id` int(10) unsigned DEFAULT NULL, + `contest_id` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_responses_deleted_at` (`deleted_at`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; @@ -165,6 +207,45 @@ LOCK TABLES `responses` WRITE; /*!40000 ALTER TABLE `responses` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `schools` +-- + +DROP TABLE IF EXISTS `schools`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `schools` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `code` varchar(255) DEFAULT NULL, + `user_id` int(10) unsigned DEFAULT NULL, + `email_sent_date` timestamp NULL DEFAULT NULL, + `ip_address` varchar(255) DEFAULT NULL, + `creator_id` varchar(255) DEFAULT NULL, + `creator_role` varchar(255) DEFAULT NULL, + `creator_ip` varchar(255) DEFAULT NULL, + `updater_id` varchar(255) DEFAULT NULL, + `updater_role` varchar(255) DEFAULT NULL, + `updater_ip` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_schools_deleted_at` (`deleted_at`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `schools` +-- + +LOCK TABLES `schools` WRITE; +/*!40000 ALTER TABLE `schools` DISABLE KEYS */; +INSERT INTO `schools` VALUES (1,'2019-12-09 08:33:57','2019-12-09 08:33:57',NULL,'IIS \"Paolo Frisi\"','foo@foo.org','MIIS058007',1,'2019-12-09 08:33:57',NULL,'0','subscriber','127.0.0.1:37464','','',''); +/*!40000 ALTER TABLE `schools` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `subscriptions` -- @@ -185,9 +266,38 @@ CREATE TABLE `subscriptions` ( LOCK TABLES `subscriptions` WRITE; /*!40000 ALTER TABLE `subscriptions` DISABLE KEYS */; -INSERT INTO `subscriptions` VALUES (1,2),(2,1),(2,2),(3,2); /*!40000 ALTER TABLE `subscriptions` ENABLE KEYS */; UNLOCK TABLES; + +-- +-- Table structure for table `users` +-- + +DROP TABLE IF EXISTS `users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `users` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + `username` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + `role` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_users_deleted_at` (`deleted_at`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `users` +-- + +LOCK TABLES `users` WRITE; +/*!40000 ALTER TABLE `users` DISABLE KEYS */; +INSERT INTO `users` VALUES (1,'2019-12-09 08:33:57','2019-12-09 08:33:57',NULL,'MIIS058007','A8MNE1Vz','school'),(2,'2019-12-09 08:36:28','2019-12-09 08:36:28',NULL,'RSSMRA80A01E815L','9HGqL2Yr','participant'),(3,'2019-12-09 08:37:55','2019-12-09 08:37:55',NULL,'BNCMGH03A41D643M','c43VNIxp','participant'); +/*!40000 ALTER TABLE `users` ENABLE KEYS */; +UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -198,4 +308,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-18 16:05:30 +-- Dump completed on 2019-12-09 8:44:29 diff --git a/oef_dev.sql b/oef_dev.sql deleted file mode 100644 index f8afeccb..00000000 --- a/oef_dev.sql +++ /dev/null @@ -1,201 +0,0 @@ --- MariaDB dump 10.17 Distrib 10.4.8-MariaDB, for debian-linux-gnu (x86_64) --- --- Host: localhost Database: oef_test --- ------------------------------------------------------ --- Server version 10.4.8-MariaDB-1:10.4.8+maria~bionic - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `answers` --- - -DROP TABLE IF EXISTS `answers`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `answers` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `text` varchar(255) DEFAULT NULL, - `correct` tinyint(1) DEFAULT NULL, - `question_id` int(10) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_answers_deleted_at` (`deleted_at`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `answers` --- - -LOCK TABLES `answers` WRITE; -/*!40000 ALTER TABLE `answers` DISABLE KEYS */; -INSERT INTO `answers` VALUES (1,'2019-11-13 15:44:39','2019-11-13 15:44:39',NULL,'la quantità di moneta che viene richiesta dalle imprese sotto forma di prestiti richiesti al sistema bancario',0,1),(2,'2019-11-14 11:48:06','2019-11-14 11:48:06',NULL,'la quantità di moneta richiesta dalla Banca Centrale quando mette in vendita dei titoli per ridurre la moneta in circolazione',0,1),(3,'2019-11-14 11:48:28','2019-11-14 11:48:28',NULL,'la quantità di moneta richiesta dalle famiglie per mantenere in forma liquida i loro risparmi',0,1),(4,'2019-11-14 11:49:05','2019-11-14 12:21:09',NULL,'la quantità di moneta richiesta dai soggetti del sistema economico per transazioni, per ragioni speculative o prudenziali o per altri motivi',1,1),(5,'2019-11-15 10:17:49','2019-11-15 10:17:49',NULL,'elevata differenziazione dei prodotti offerti',0,2),(6,'2019-11-15 10:18:14','2019-11-15 10:18:53',NULL,'trasparenza delle informazioni',1,2),(7,'2019-11-15 10:18:29','2019-11-15 10:18:29',NULL,'presenza di un solo consumatore',0,2),(8,'2019-11-15 10:18:44','2019-11-15 10:18:44',NULL,'presenza di un numero limitato di grandi produttori',0,2),(9,'2019-11-15 10:23:11','2019-11-15 10:23:11',NULL,'un ciclo economico',0,3),(10,'2019-11-15 10:23:24','2019-11-15 10:23:35',NULL,'l\'attività di trasformazione materiale di beni e servizi (input) in altri (output) al fine di accrescerne l\'utilità',1,3),(11,'2019-11-15 10:23:47','2019-11-15 10:23:47',NULL,'l\'insieme dei beni di produzione',0,3),(12,'2019-11-15 10:23:59','2019-11-15 10:23:59',NULL,'il risultato del lavoro dei dipendenti dell\'impresa',0,3); -/*!40000 ALTER TABLE `answers` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `contests` --- - -DROP TABLE IF EXISTS `contests`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `contests` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `category` varchar(255) DEFAULT NULL, - `start_date` timestamp NULL DEFAULT NULL, - `end_date` timestamp NULL DEFAULT NULL, - `start_time` timestamp NULL DEFAULT NULL, - `end_time` timestamp NULL DEFAULT NULL, - `date` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_contests_deleted_at` (`deleted_at`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `contests` --- - -LOCK TABLES `contests` WRITE; -/*!40000 ALTER TABLE `contests` DISABLE KEYS */; -INSERT INTO `contests` VALUES (1,'2019-11-14 10:02:17','2019-11-18 15:57:14',NULL,'Regionale JUNIOR','','0000-00-00 00:00:00','0000-00-00 00:00:00','2020-04-01 10:00:00','2020-04-01 11:00:00','2020-04-01 10:00:00'),(2,'2019-11-15 10:15:57','2019-11-18 15:58:55',NULL,'Test Diagnostico','',NULL,NULL,'2019-11-15 13:00:00','2019-11-15 14:00:00','2019-11-15 13:00:00'); -/*!40000 ALTER TABLE `contests` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `participants` --- - -DROP TABLE IF EXISTS `participants`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `participants` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `firstname` varchar(255) DEFAULT NULL, - `lastname` varchar(255) DEFAULT NULL, - `username` varchar(255) DEFAULT NULL, - `password` varchar(255) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_participants_deleted_at` (`deleted_at`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `participants` --- - -LOCK TABLES `participants` WRITE; -/*!40000 ALTER TABLE `participants` DISABLE KEYS */; -INSERT INTO `participants` VALUES (1,'2019-11-15 10:02:46','2019-11-18 15:58:55',NULL,'Mario','Rossi','mario.rossi','EqAs1z7M'),(2,'2019-11-18 12:00:07','2019-11-18 15:57:14',NULL,'Luigi','BIANCHI','luigi.bianchi','FpWJj89n'),(3,'2019-11-18 12:01:55','2019-11-18 12:12:26',NULL,'Francesco','VERDI','francesco.verdi','MiJ9Ig4L'),(4,'2019-11-18 15:57:36','2019-11-18 15:57:36',NULL,'Franco','neri','franco.neri','YtGGU28p'); -/*!40000 ALTER TABLE `participants` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `questions` --- - -DROP TABLE IF EXISTS `questions`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `questions` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `text` varchar(255) DEFAULT NULL, - `contest_id` int(10) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_questions_deleted_at` (`deleted_at`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `questions` --- - -LOCK TABLES `questions` WRITE; -/*!40000 ALTER TABLE `questions` DISABLE KEYS */; -INSERT INTO `questions` VALUES (1,'2019-11-13 14:45:17','2019-11-14 12:21:09',NULL,'Cosa si intende per domanda di moneta?',1),(2,'2019-11-15 10:17:24','2019-11-15 10:18:53',NULL,'È una caratteristica della concorrenza perfetta',2),(3,'2019-11-15 10:21:14','2019-11-15 10:23:35',NULL,'La produzione è',2); -/*!40000 ALTER TABLE `questions` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `responses` --- - -DROP TABLE IF EXISTS `responses`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `responses` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_responses_deleted_at` (`deleted_at`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `responses` --- - -LOCK TABLES `responses` WRITE; -/*!40000 ALTER TABLE `responses` DISABLE KEYS */; -/*!40000 ALTER TABLE `responses` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `subscriptions` --- - -DROP TABLE IF EXISTS `subscriptions`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `subscriptions` ( - `participant_id` int(10) unsigned NOT NULL, - `contest_id` int(10) unsigned NOT NULL, - PRIMARY KEY (`participant_id`,`contest_id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `subscriptions` --- - -LOCK TABLES `subscriptions` WRITE; -/*!40000 ALTER TABLE `subscriptions` DISABLE KEYS */; -INSERT INTO `subscriptions` VALUES (1,2),(2,1),(2,2),(3,2); -/*!40000 ALTER TABLE `subscriptions` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2019-11-18 16:05:30 diff --git a/orm/school.go b/orm/school.go index f1d0e430..1c33af83 100644 --- a/orm/school.go +++ b/orm/school.go @@ -144,7 +144,7 @@ func (model *School) Read(args map[string]string, w http.ResponseWriter, r *http return nil, errors.NotAuthorized } - if err := DB().Preload("User").Preload("Participants").First(&school, id).Error; err != nil { + if err := DB().Preload("User").Preload("Participants.Category").Preload("Participants").First(&school, id).Error; err != nil { return nil, err } diff --git a/renderer/funcmap.go b/renderer/funcmap.go index 8cfc6a8f..99876f6f 100644 --- a/renderer/funcmap.go +++ b/renderer/funcmap.go @@ -117,9 +117,11 @@ func pluralize(text string) string { } func active(value string, options url.Values) string { - model := strings.Title(inflection.Singular(strings.Split(options["tpl_content"][0], "_")[0])) - if value == model { - return "active" + if len(options["tpl_content"]) > 0 { + model := strings.Title(inflection.Singular(strings.Split(options["tpl_content"][0], "_")[0])) + if value == model { + return "active" + } } return "" } diff --git a/templates/layout/read_all_header.html.tpl b/templates/layout/read_all_header.html.tpl index ccd80702..a6b7dad1 100644 --- a/templates/layout/read_all_header.html.tpl +++ b/templates/layout/read_all_header.html.tpl @@ -5,11 +5,13 @@

{{.options.title}} ({{.lengthData}})

+ {{if .modelPath}}
{{template "create_button" dict "buttonTitle" .options.buttonTitle "modelPath" .modelPath}}
+ {{end}} {{else}}

{{.options.title}}

diff --git a/templates/participants.html.tpl b/templates/participants.html.tpl index ea53f135..93880b06 100644 --- a/templates/participants.html.tpl +++ b/templates/participants.html.tpl @@ -1,35 +1,61 @@ {{ define "content" }} +{{$isAdmin := .Claims|isAdmin}} +{{$isSchool := .Claims|isSchool}}
-{{$options := ` + {{$options := ` title: "Participanti" buttonTitle: "Crea nuovo partecipante" `}} - {{template "read_all_header" dict "options" ($options | yaml) "lengthData" (len .Data) "modelPath" (create "Participant")}} - {{template "search_input"}} - + {{$modelPath := ""}} + + {{if lt (len .Data) 2}} + {{$modelPath = (create "Participant")}} + {{end}} + + {{template "read_all_header" dict "options" ($options | yaml) "lengthData" (len .Data) "modelPath" $modelPath}} + {{template "search_input"}} + {{if not .}} {{template "display_no_elements"}} - {{else}} + {{else}} + {{else}} +
+ {{$options := `noElements: "nessuna categoria"`}} + {{template "small" dict "options" ($options | yaml) "data" $element.Category}} +
+ {{end}} + + {{end}} + {{end}} +
+ + {{if eq (len .Data) 2}} +
+
+
+ Iscrizione completa. Non è possibile aggiungere ulteriori partecipanti. +
+
+
+ {{end}} +
diff --git a/templates/schools_show.html.tpl b/templates/schools_show.html.tpl index c751bd04..698e3d93 100644 --- a/templates/schools_show.html.tpl +++ b/templates/schools_show.html.tpl @@ -51,6 +51,8 @@
{{.Data.User.Username}}
Password
{{.Data.User.Password}}
+ + {{if $isAdmin}} {{if $creatorUser:=.Data.CreatedBy}}
Creato da
{{$creatorUser.Username}}[{{$creatorUser.Role}}] {{$.Data.CreatedAt|prettyDateTime}} da {{.Data.CreatorIP}}
@@ -59,7 +61,8 @@
Modificato da
{{$updaterUser.Username}}[{{$updaterUser.Role}}] {{$.Data.UpdatedAt|prettyDateTime}} da {{.Data.UpdaterIP}}
{{end}} - + {{end}} +
@@ -71,7 +74,7 @@ `}} {{$noElements := (printf "La scuola non ha iscritto alcun partecipante. Clicca %s per iscrivere il primo partecipante." ((create "Participant")|anchor "qui")|html)}} - {{template "relation_list" dict "options" ($options|yaml) "data" .Data.Participants "noElements" $noElements}} + {{template "relation_list" dict "options" ($options|yaml) "data" .Data.Participants "noElements" $noElements "small" (toSlice "Category")}}
@@ -85,6 +88,16 @@ {{end}} + {{if eq (len .Data.Participants) 2}} +
+
+
+ Iscrizione completa. Non è possibile aggiungere ulteriori partecipanti. +
+
+
+ {{end}} + {{end}}