Mercurial > gemma
annotate pkg/controllers/printtemplates.go @ 3334:8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Mon, 20 May 2019 17:14:47 +0200 |
parents | 607a158fe8f5 |
children | 5466562cca60 |
rev | line source |
---|---|
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 // This is Free Software under GNU Affero General Public License v >= 3.0 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 // without warranty, see README.md and license for details. |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 // |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 // SPDX-License-Identifier: AGPL-3.0-or-later |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 // License-Filename: LICENSES/AGPL-3.0.txt |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 // |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 // Copyright (C) 2018 by via donau |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 // – Österreichische Wasserstraßen-Gesellschaft mbH |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 // Software engineering by Intevation GmbH |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 // |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 // Author(s): |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de> |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 package controllers |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 import ( |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
17 "bytes" |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 "database/sql" |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
19 "encoding/json" |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 "net/http" |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
21 "strings" |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
22 "time" |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
23 |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
24 "github.com/gorilla/mux" |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
25 "github.com/jackc/pgx/pgtype" |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
26 |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
27 "gemma.intevation.de/gemma/pkg/models" |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
28 ) |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
29 |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
30 const maxPrintTemplateSize = 5 * 1024 * 1024 |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
31 |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
32 const ( |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
33 listPrintTemplatesSQL = ` |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
34 SELECT |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
35 template_name, |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
36 template_type::varchar, |
2270
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
37 date_info, |
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
38 country |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
39 FROM users.templates |
3223
9e087a495f41
Fixed SQL statements. Got broken when migrated to new filter builder.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3217
diff
changeset
|
40 WHERE |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
41 ` |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
42 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
43 hasPrintTemplateSQL = ` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
44 SELECT true FROM users.templates |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
45 WHERE template_name = $1 AND template_type = $2::template_types` |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
46 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
47 deletePrintTemplateSQL = ` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
48 DELETE FROM users.templates |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
49 WHERE template_name = $1 AND template_type = $2::template_types` |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
50 |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
51 selectPrintTemplateSQL = ` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
52 SELECT template_data FROM users.templates |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
53 WHERE template_name = $1 AND template_type = $2::template_types` |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
54 |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
55 insertPrintTemplateSQL = ` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
56 INSERT INTO users.templates (template_name, template_type, template_data, country) |
2267
37ae1bee3e4a
Ajjusted RLS for user templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2247
diff
changeset
|
57 SELECT |
37ae1bee3e4a
Ajjusted RLS for user templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2247
diff
changeset
|
58 $1, |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
59 $2::template_types, |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
60 $3, |
2267
37ae1bee3e4a
Ajjusted RLS for user templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2247
diff
changeset
|
61 CASE WHEN pg_has_role('sys_admin', 'MEMBER') THEN NULL |
37ae1bee3e4a
Ajjusted RLS for user templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2247
diff
changeset
|
62 ELSE users.current_user_country() |
37ae1bee3e4a
Ajjusted RLS for user templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2247
diff
changeset
|
63 END` |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
64 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
65 updatePrintTemplateSQL = ` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
66 UPDATE user.templates template_data = $2 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
67 WHERE template_name = $1 AND template_type = $2::template_types` |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 ) |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
70 var templateTypes = []string{"map", "diagram", "report"} |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
71 |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 func listPrintTemplates( |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 _ interface{}, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 req *http.Request, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
75 conn *sql.Conn, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
76 ) (jr JSONResult, err error) { |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
77 |
3228
607a158fe8f5
Print templates: Fixed accessing templates by type.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3226
diff
changeset
|
78 ts := mux.Vars(req)["type"] |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
79 if ts == "" { |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
80 if ts = req.FormValue("types"); ts == "" { |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
81 ts = strings.Join(templateTypes, ",") |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
82 } |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
83 } |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
84 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
85 types := toTextArray(ts, templateTypes) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
86 filter := buildFilterTerm("template_type = ANY($%d) ", types) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
87 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
88 var stmt strings.Builder |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
89 var args []interface{} |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
90 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
91 stmt.WriteString(listPrintTemplatesSQL) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
92 filter.serialize(&stmt, &args) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
93 stmt.WriteString(" ORDER BY date_info DESC") |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
94 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
95 var rows *sql.Rows |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
96 if rows, err = conn.QueryContext(req.Context(), stmt.String(), args...); err != nil { |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
97 return |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
98 } |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
99 defer rows.Close() |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
100 |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
101 type template struct { |
2270
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
102 Name string `json:"name"` |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
103 Type string `json:"type"` |
2270
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
104 Time models.Time `json:"time"` |
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
105 Country *string `json:"country,omitempty"` |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
106 } |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
107 |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
108 templates := []*template{} |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
109 |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
110 for rows.Next() { |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
111 var tmpl template |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
112 var w time.Time |
2270
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
113 var country sql.NullString |
3226
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
114 if err = rows.Scan( |
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
115 &tmpl.Name, |
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
116 &tmpl.Type, |
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
117 &w, |
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
118 &country, |
d84c64c0f510
Print templates: Forget to scan the type from the result set when listing available templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3223
diff
changeset
|
119 ); err != nil { |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
120 return |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
121 } |
3089
813309225e35
Made 'go vet' happy again.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2270
diff
changeset
|
122 tmpl.Time = models.Time{Time: w} |
2270
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
123 if country.Valid { |
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
124 tmpl.Country = &country.String |
1c8b8a4476af
Print templates: Add country to listing if template has one.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2267
diff
changeset
|
125 } |
2150
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
126 templates = append(templates, &tmpl) |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
127 } |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
128 |
2c67c51d57ad
Print templates: Implemented GET of all templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2148
diff
changeset
|
129 jr = JSONResult{Result: templates} |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
130 return |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
131 } |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
132 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 func fetchPrintTemplate( |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
134 _ interface{}, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
135 req *http.Request, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
136 conn *sql.Conn, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
137 ) (jr JSONResult, err error) { |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
138 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
139 vars := mux.Vars(req) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
140 name, typ := vars["name"], vars["type"] |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
141 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
142 ctx := req.Context() |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
143 var data pgtype.Bytea |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
144 err = conn.QueryRowContext(ctx, selectPrintTemplateSQL, name, typ).Scan(&data) |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
145 |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
146 switch { |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
147 case err == sql.ErrNoRows: |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
148 err = JSONError{ |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
149 Code: http.StatusNotFound, |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
150 Message: "No such template found", |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
151 } |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
152 return |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
153 case err != nil: |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
154 return |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
155 case data.Status != pgtype.Present: |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
156 err = JSONError{ |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
157 Code: http.StatusInternalServerError, |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
158 Message: "Unexpected return value from database query", |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
159 } |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
160 return |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
161 } |
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
162 jr = JSONResult{Result: bytes.NewReader(data.Bytes)} |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
163 return |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
164 } |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
165 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
166 func createPrintTemplate( |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
167 input interface{}, |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
168 req *http.Request, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
169 conn *sql.Conn, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
170 ) (jr JSONResult, err error) { |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
171 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
172 vars := mux.Vars(req) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
173 name, typ := vars["name"], vars["type"] |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
174 |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
175 in := input.(*json.RawMessage) |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
176 |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
177 if name == "" { |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
178 err = JSONError{ |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
179 Code: http.StatusBadRequest, |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
180 Message: "Template must have a none empty name", |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
181 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
182 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
183 } |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
184 if len(*in) == 0 { |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
185 err = JSONError{ |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
186 Code: http.StatusBadRequest, |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
187 Message: "Template must have a none empty template", |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
188 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
189 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
190 } |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
191 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
192 ctx := req.Context() |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
193 var tx *sql.Tx |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
194 if tx, err = conn.BeginTx(ctx, nil); err != nil { |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
195 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
196 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
197 defer tx.Rollback() |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
198 |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
199 var dummy bool |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
200 err = tx.QueryRowContext(ctx, hasPrintTemplateSQL, name, typ).Scan(&dummy) |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
201 |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
202 switch { |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
203 case err == sql.ErrNoRows: |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
204 // This is fine. |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
205 case err != nil: |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
206 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
207 default: |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
208 err = JSONError{ |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
209 Code: http.StatusBadRequest, |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
210 Message: "A template with this name already exists", |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
211 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
212 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
213 } |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
214 data := pgtype.Bytea{Bytes: *in, Status: pgtype.Present} |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
215 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
216 if _, err = tx.ExecContext(ctx, insertPrintTemplateSQL, name, typ, &data); err != nil { |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
217 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
218 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
219 |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
220 if err = tx.Commit(); err != nil { |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
221 return |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
222 } |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
223 jr = JSONResult{ |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
224 Code: http.StatusCreated, |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
225 Result: map[string]string{ |
2161
7444b75d5497
Print templates endpoints: Get rid of useless models.PrintTemplateIn model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2158
diff
changeset
|
226 "created": name, |
2158
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
227 }, |
7bd485bf85e8
Print templates: Implemented /api/templates/print POST to create new templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2155
diff
changeset
|
228 } |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
229 return |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
230 } |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
231 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
232 func deletePrintTemplate( |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
233 _ interface{}, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
234 req *http.Request, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
235 conn *sql.Conn, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
236 ) (jr JSONResult, err error) { |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
237 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
238 vars := mux.Vars(req) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
239 name, typ := vars["name"], vars["type"] |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
240 |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
241 ctx := req.Context() |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
242 var tx *sql.Tx |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
243 if tx, err = conn.BeginTx(ctx, nil); err != nil { |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
244 return |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
245 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
246 defer tx.Rollback() |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
247 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
248 var dummy bool |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
249 err = tx.QueryRowContext(ctx, hasPrintTemplateSQL, name, typ).Scan(&dummy) |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
250 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
251 switch { |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
252 case err == sql.ErrNoRows: |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
253 err = JSONError{ |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
254 Code: http.StatusNotFound, |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
255 Message: "No such template found", |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
256 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
257 return |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
258 case err != nil: |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
259 return |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
260 case !dummy: |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
261 err = JSONError{ |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
262 Code: http.StatusInternalServerError, |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
263 Message: "Unexpected return value from database query", |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
264 } |
2155
51c5aead78c0
Print templates: Implemented /api/templates/print/{name} GET.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2153
diff
changeset
|
265 return |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
266 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
267 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
268 if _, err = tx.ExecContext(ctx, deletePrintTemplateSQL, name, typ); err != nil { |
2153
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
269 return |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
270 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
271 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
272 if err = tx.Commit(); err != nil { |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
273 return |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
274 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
275 |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
276 jr = JSONResult{ |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
277 Result: map[string]string{ |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
278 "deleted": name, |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
279 }, |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
280 } |
cdd68f555ad7
Print templates: Implemented /api/templates/print/{name} DELETE.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2150
diff
changeset
|
281 |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
282 return |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
283 } |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
284 |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
285 func updatePrintTemplate( |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
286 input interface{}, |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
287 req *http.Request, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
288 conn *sql.Conn, |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
289 ) (jr JSONResult, err error) { |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
290 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
291 vars := mux.Vars(req) |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
292 name, typ := vars["name"], vars["type"] |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
293 |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
294 in := input.(*json.RawMessage) |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
295 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
296 if name == "" { |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
297 err = JSONError{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
298 Code: http.StatusBadRequest, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
299 Message: "Template must have a none empty name", |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
300 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
301 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
302 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
303 if len(*in) == 0 { |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
304 err = JSONError{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
305 Code: http.StatusBadRequest, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
306 Message: "Template must have a none empty template", |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
307 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
308 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
309 } |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
310 |
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
311 ctx := req.Context() |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
312 var tx *sql.Tx |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
313 if tx, err = conn.BeginTx(ctx, nil); err != nil { |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
314 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
315 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
316 defer tx.Rollback() |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
317 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
318 var dummy bool |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
319 err = tx.QueryRowContext(ctx, hasPrintTemplateSQL, name, typ).Scan(&dummy) |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
320 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
321 switch { |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
322 case err == sql.ErrNoRows: |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
323 err = JSONError{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
324 Code: http.StatusNotFound, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
325 Message: "No such template found", |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
326 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
327 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
328 case err != nil: |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
329 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
330 case !dummy: |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
331 err = JSONError{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
332 Code: http.StatusInternalServerError, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
333 Message: "Unexpected return value from database query", |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
334 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
335 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
336 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
337 data := pgtype.Bytea{Bytes: *in, Status: pgtype.Present} |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
338 |
3217
4c254651d80b
Added template types "map", "diagram", "report".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3089
diff
changeset
|
339 if _, err = tx.ExecContext(ctx, updatePrintTemplateSQL, name, typ, &data); err != nil { |
2162
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
340 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
341 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
342 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
343 if err = tx.Commit(); err != nil { |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
344 return |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
345 } |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
346 |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
347 jr = JSONResult{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
348 Code: http.StatusOK, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
349 Result: map[string]string{ |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
350 "updated": name, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
351 }, |
0627565fb4d2
Print templates: Implemented /api/templates/print/{name} PATCH to update print templates.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2161
diff
changeset
|
352 } |
2148
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
353 return |
4057a1f15174
Print templates: Forget to add controller file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
354 } |