~xibo-maintainers/xibo/tempel

« back to all changes in this revision

Viewing changes to views/dataset-form-edit.twig

  • Committer: Dan Garner
  • Date: 2015-03-26 14:08:33 UTC
  • Revision ID: git-v1:70d14044444f8dc5d602b99890d59dea46d9470c
Moved web servable files to web folder

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{#
2
 
/*
3
 
 * Spring Signage Ltd - http://www.springsignage.com
4
 
 * Copyright (C) 2015-2017 Spring Signage Ltd
5
 
 * contributions by LukyLuke aka Lukas Zurschmiede - https://github.com/LukyLuke
6
 
 *
7
 
 * (dataset-form-edit.twig) This file is part of Xibo.
8
 
 *
9
 
 * Xibo is free software: you can redistribute it and/or modify
10
 
 * it under the terms of the GNU Affero General Public License as published by
11
 
 * the Free Software Foundation, either version 3 of the License, or
12
 
 * any later version.
13
 
 *
14
 
 * Xibo is distributed in the hope that it will be useful,
15
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
 * GNU Affero General Public License for more details.
18
 
 *
19
 
 * You should have received a copy of the GNU Affero General Public License
20
 
 * along with Xibo.  If not, see <http://www.gnu.org/licenses/>.
21
 
 */
22
 
#}
23
 
 
24
 
{% extends "form-base.twig" %}
25
 
{% import "forms.twig" as forms %}
26
 
 
27
 
{% block formTitle %}
28
 
    {% trans "Edit DataSet" %}
29
 
{% endblock %}
30
 
 
31
 
{% block formButtons %}
32
 
    {% trans "Help" %}, XiboHelpRender("{{ help }}")
33
 
    {% trans "Cancel" %}, XiboDialogClose()
34
 
    {% trans "Save" %}, $("#dataSetEditForm").submit()    
35
 
{% endblock %}
36
 
 
37
 
{% block callBack %}dataSetFormOpen{% endblock %}
38
 
 
39
 
{% block formHtml %}
40
 
    <div class="row">
41
 
        <div class="col-md-12">
42
 
            <ul class="nav nav-tabs" role="tablist">
43
 
                <li class="active"><a href="#general" role="tab" data-toggle="tab"><span>{% trans "General" %}</span></a></li>
44
 
                <li class="tabForRemoteDataSet"><a href="#gateway" role="tab" data-toggle="tab"><span>{% trans "Remote" %}</span></a></li>
45
 
                <li class="tabForRemoteDataSet"><a href="#auth" role="tab" data-toggle="tab"><span>{% trans "Authentication" %}</span></a></li>
46
 
                <li class="tabForRemoteDataSet"><a href="#data" role="tab" data-toggle="tab"><span>{% trans "Data" %}</span></a></li>
47
 
                <li class="tabForRemoteDataSet"><a href="#params" role="tab" data-toggle="tab"><span>{% trans "Advanced" %}</span></a></li>
48
 
            </ul>
49
 
            <form id="dataSetEditForm" class="XiboForm form-horizontal" method="put" action="{{ urlFor("dataSet.edit", {id: dataSet.dataSetId}) }}">
50
 
                <input type="hidden" name="testDataSetId" value="{{ dataSet.dataSetId }}"/>
51
 
                <div class="tab-content">
52
 
                    <div class="tab-pane active" id="general">
53
 
                        {% set title %}{% trans "Name" %}{% endset %}
54
 
                        {% set helpText %}{% trans "A name for this DataSet" %}{% endset %}
55
 
                        {{ forms.input("dataSet", title, dataSet.dataSet, helpText, "", "required") }}
56
 
 
57
 
                        {% set title %}{% trans "Description" %}{% endset %}
58
 
                        {% set helpText %}{% trans "An optional description" %}{% endset %}
59
 
                        {{ forms.input("description", title, dataSet.description, helpText) }}
60
 
 
61
 
                        {% set title %}{% trans "Code" %}{% endset %}
62
 
                        {% set helpText %}{% trans "A code which can be used to lookup this DataSet - usually for an API application" %}{% endset %}
63
 
                        {{ forms.input("code", title, dataSet.code, helpText) }}
64
 
 
65
 
                        {% set title %}{% trans "Remote?" %}{% endset %}
66
 
                        {% set helpText %}{% trans "Is this DataSet connected to a remote data source?" %}{% endset %}
67
 
                        {{ forms.checkbox("isRemote", title, dataSet.isRemote, helpText) }}
68
 
                    </div>
69
 
                    <div class="tab-pane" id="gateway">
70
 
                        {% set title %}{% trans "Method" %}{% endset %}
71
 
                        {% set helpText %}{% trans "What type of request needs to be made to get the remote data?" %}{% endset %}
72
 
                        {% set request_get %}{% trans "GET" %}{% endset %}
73
 
                        {% set request_post %}{% trans "POST" %}{% endset %}
74
 
                        {% set options = [
75
 
                            { typeid: "GET", type: request_get },
76
 
                            { typeid: "POST", type: request_post }
77
 
                        ] %}
78
 
                        {{ forms.dropdown("method", "single", title, dataSet.method, options, "typeid", "type", helpText) }}
79
 
 
80
 
                        {% set title %}{% trans "URI" %}{% endset %}
81
 
                        {% set helpText %}{% trans "URL to the Remote DataSet for GET and POST." %}{% endset %}
82
 
                        {{ forms.input("uri", title, dataSet.uri, helpText, "", "required") }}
83
 
 
84
 
                        <div class="form-group">
85
 
                            <div class="col-sm-12">
86
 
                                <div class="help-block">
87
 
                                    <strong>{% trans "Replacements" %}</strong><br>
88
 
                                    {% trans "Request date: {{DATE}}" %}<br>
89
 
                                    {% trans "Request time: {{TIME}}" %}<br>
90
 
                                    {% trans "Dependant fields: {{COL.NAME}} where NAME is a FieldName from the dependant DataSet" %}<br>
91
 
                                </div>
92
 
                                <div class="help-block">
93
 
                                    {% trans "Data to add to this request. This should be URL encoded, e.g. paramA=1&amp;paramB=2." %}
94
 
                                </div>
95
 
                                <textarea class="form-control" name="postData" id="postData" rows="10">{{ dataSet.postData }}</textarea>
96
 
                            </div>
97
 
                        </div>
98
 
                    </div>
99
 
 
100
 
                    <div class="tab-pane" id="auth">
101
 
                        {% set title %}{% trans "Authentication" %}{% endset %}
102
 
                        {% set helpText %}{% trans "Select the authentication requirements for the remote data source. These will be added to the request." %}{% endset %}
103
 
                        {% set auth_none %}{% trans "None" %}{% endset %}
104
 
                        {% set auth_basic %}{% trans "Basic" %}{% endset %}
105
 
                        {% set auth_digest %}{% trans "Digest" %}{% endset %}
106
 
                        {% set options = [
107
 
                            { typeid: "none", type: auth_none },
108
 
                            { typeid: "basic", type: auth_basic },
109
 
                            { typeid: "digest", type: auth_digest }
110
 
                        ] %}
111
 
                        {{ forms.dropdown("authentication", "single", title, dataSet.authentication, options, "typeid", "type", helpText) }}
112
 
 
113
 
                        {% set title %}{% trans "Username" %}{% endset %}
114
 
                        {% set helpText %}{% trans "Enter the authentication Username" %}{% endset %}
115
 
                        {{ forms.input("username", title, dataSet.username, helpText, "auth-fields", "") }}
116
 
 
117
 
                        {% set title %}{% trans "Password" %}{% endset %}
118
 
                        {% set helpText %}{% trans "Corresponding Password" %}{% endset %}
119
 
                        {{ forms.input("password", title, dataSet.password, helpText, "auth-fields", "") }}
120
 
                    </div>
121
 
 
122
 
                    <div class="tab-pane" id="data">
123
 
                        {% set title %}{% trans "Data root" %}{% endset %}
124
 
                        {% set helpText %}{% trans "Please enter the element in your remote data which we should use as the starting point when we match the remote Columns. This should be an array or an object. You can use the test button below to see the structure that is returned." %}{% endset %}
125
 
                        {{ forms.input("dataRoot", title, dataSet.dataRoot, helpText, "", "") }}
126
 
 
127
 
                        <div class="form-group">
128
 
                            <div class="col-sm-offset-2 col-sm-10">
129
 
                                <a class="btn btn-default" id="dataSetRemoteTestButton" href="#">
130
 
                                    {% trans "Test data URL" %}
131
 
                                </a>
132
 
                            </div>
133
 
                        </div>
134
 
 
135
 
                        {% set title %}{% trans "Aggregation" %}{% endset %}
136
 
                        {% set helpText %}{% trans "Aggregate received data by the given method" %}{% endset %}
137
 
                        {% set summ_none %}{% trans "None" %}{% endset %}
138
 
                        {% set summ_sum %}{% trans "Summarize" %}{% endset %}
139
 
                        {% set summ_count %}{% trans "Count" %}{% endset %}
140
 
                        {% set options = [
141
 
                            { typeid: "none", type: summ_none },
142
 
                            { typeid: "sum", type: summ_sum },
143
 
                            { typeid: "count", type: summ_count }
144
 
                        ] %}
145
 
                        {{ forms.dropdown("summarize", "single", title, dataSet.summarize, options, "typeid", "type", helpText) }}
146
 
 
147
 
                        <div class="form-group">
148
 
                            <label class="col-sm-2 control-label" for="summarizeField">{% trans "By Field" %}</label>
149
 
                            <div class="col-sm-10">
150
 
                                <input class="form-control" type="text" name="summarizeField" id="summarizeField" value="{{ dataSet.summarizeField }}"/>
151
 
                                <div class="help-block">
152
 
                                    {% trans "Using JSON syntax enter the path below the Data root by which the above aggregation should be applied." %}<br>
153
 
                                    {% trans "Summarize: Values in this field will be summarized and stored in one column." %}<br>
154
 
                                    {% trans "Count: All individual values in this field will be counted and stored in one Column for each value" %}<br>
155
 
                                </div>
156
 
                            </div>
157
 
                        </div>
158
 
                    </div>
159
 
 
160
 
                    <div class="tab-pane" id="params">
161
 
                        {% set title %}{% trans "Refresh" %}{% endset %}
162
 
                        {% set helpText %}{% trans "How often should this remote data be fetched and imported?" %}{% endset %}
163
 
 
164
 
                        {% set refresh_everytime %}{% trans "Constantly" %}{% endset %}
165
 
                        {% set refresh_hour %}{% trans "Hourly" %}{% endset %}
166
 
                        {% set refresh_day %}{% trans "Daily" %}{% endset %}
167
 
                        {% set refresh_week %}{% trans "Weekly" %}{% endset %}
168
 
                        {% set refresh_two_week %}{% trans "Every two Weeks" %}{% endset %}
169
 
                        {% set refresh_month %}{% trans "Monthly" %}{% endset %}
170
 
                        {% set refresh_quater %}{% trans "Quaterly" %}{% endset %}
171
 
                        {% set refresh_year %}{% trans "Yearly" %}{% endset %}
172
 
                        {% set options = [
173
 
                            { typeid: "0", type: refresh_everytime },
174
 
                            { typeid: "3600", type: refresh_hour },
175
 
                            { typeid: "86400", type: refresh_day },
176
 
                            { typeid: "604800", type: refresh_week },
177
 
                            { typeid: "1209600", type: refresh_two_week },
178
 
                            { typeid: "2419200", type: refresh_month },
179
 
                            { typeid: "7257600", type: refresh_quater },
180
 
                            { typeid: "29030400", type: refresh_year }
181
 
                        ] %}
182
 
                        {{ forms.dropdown("refreshRate", "single", title, dataSet.refreshRate, options, "typeid", "type", helpText) }}
183
 
 
184
 
                        {% set title %}{% trans "Truncate DataSet" %}{% endset %}
185
 
                        {% set helpText %}{% trans "Select when you would like the Data to be truncated out of this DataSet. The criteria is assessed when synchronisation occurs and is truncated before adding new data." %}{% endset %}
186
 
 
187
 
                        {% set truncate_never %}{% trans "Never" %}{% endset %}
188
 
                        {% set truncate_everytime %}{% trans "Always" %}{% endset %}
189
 
                        {% set truncate_hour %}{% trans "Hourly" %}{% endset %}
190
 
                        {% set truncate_day %}{% trans "Daily" %}{% endset %}
191
 
                        {% set truncate_week %}{% trans "Weekly" %}{% endset %}
192
 
                        {% set truncate_two_week %}{% trans "Every two Weeks" %}{% endset %}
193
 
                        {% set truncate_month %}{% trans "Monthly" %}{% endset %}
194
 
                        {% set truncate_quater %}{% trans "Quaterly" %}{% endset %}
195
 
                        {% set truncate_year %}{% trans "Yearly" %}{% endset %}
196
 
                        {% set truncate_two_year %}{% trans "Every second Year" %}{% endset %}
197
 
                        {% set options = [
198
 
                            { typeid: "0", type: truncate_never },
199
 
                            { typeid: "1", type: truncate_everytime },
200
 
                            { typeid: "3600", type: truncate_hour },
201
 
                            { typeid: "86400", type: truncate_day },
202
 
                            { typeid: "604800", type: truncate_week },
203
 
                            { typeid: "1209600", type: truncate_two_week },
204
 
                            { typeid: "2419200", type: truncate_month },
205
 
                            { typeid: "7257600", type: truncate_quater },
206
 
                            { typeid: "29030400", type: truncate_year },
207
 
                            { typeid: "58060800", type: truncate_two_year }
208
 
                        ] %}
209
 
                        {{ forms.dropdown("clearRate", "single", title, dataSet.clearRate, options, "typeid", "type", helpText) }}
210
 
 
211
 
                        {% set title %}{% trans "Depends on DataSet" %}{% endset %}
212
 
                        {% set dataSets = [{dataSetId: null, dataSet: ""}]|merge(dataSets) %}
213
 
                        {% set helpText %}{% trans "The DataSet you select here will be processed in advance and have its values available for subsitution in the data to add to this request on the Remote tab." %}{% endset %}
214
 
                        {{ forms.dropdown("runsAfter", "single", title, dataSet.runsAfter, dataSets, "dataSetId", "dataSet", helpText) }}
215
 
                    </div>
216
 
                </div>
217
 
            </form>
218
 
            <div id="datasetRemoteTestRequestResult" class="col-sm-12"></div>
219
 
        </div>
220
 
    </div>
221
 
{% endblock %}
 
 
b'\\ No newline at end of file'