abb41c00dbdb4e6b8cecb973a9e596835fef9616
[redakcja.git] / apps / wiki / templates / wiki / bootstrap.html
1 {% load staticfiles %}
2 {% load i18n %}
3
4 <!DOCTYPE html>
5 <html>
6     <head>
7         {% if RAVEN_CONFIG %}
8             <script src="http://cdn.ravenjs.com/1.1.7/jquery,native/raven.min.js"></script>
9             <script>
10                 Raven.config('{{RAVEN_CONFIG.SENTRY_URL}}', {{RAVEN_CONFIG.SETTINGS|default:'{}'}}).install();
11                 {% if request.user.is_authenticated %}
12                     Raven.setUser({
13                         name: '{{request.user.username}}',
14                         email: '{{request.user.email}}',
15                         id: {{request.user.id}}
16                     });
17                 {% endif %}
18             </script>
19         {% endif %}
20         <script src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
21         <script src="http://cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/ace.js" type="text/javascript" charset="utf-8"></script>
22         
23         {% if DEBUG %}
24             <link rel="stylesheet/less" type="text/css" href="{% static 'wiki/editor/src/editor/styles/main.less' %}"/>
25             <script type="text/javascript">less = {relativeUrls: true};</script>
26             <script src="{% static 'wiki/editor/libs/less-1.3.3.min.js' %}"></script>
27             <script src="{% static 'wiki/editor/libs/require.js' %}" data-main="{% static 'wiki/editor/src/editor/entrypoint.js' %}" ></script>
28         {% else %}
29             <link href="{% static 'wiki/build/rng.css' %}" rel="stylesheet">
30             <script src="{% static 'wiki/build/rng.js' %}"></script>
31         {% endif %}
32     </head>
33     <body>
34         <script type="text/javascript">
35
36             var config = {
37                 rootSelector: '#editor_root',
38                 jsonifySentPayload: false,
39
40                 {% if request.user.is_authenticated %}
41                 user: {
42                     name: '{{request.user.username}}',
43                     email: '{{request.user.email}}',
44                     id: {{request.user.id}}
45                 },
46                 {% endif %}
47
48                 logging: {
49                     handlers: {
50                         'sentry': {
51                             level: 'info',
52                             handler: 'raven',
53                             formatter: 'noop'
54                         },
55                         'console': {
56                             level: 'debug',
57                             handler: 'console',
58                             formatter: 'simple'
59                         }
60                     },
61                     loggers: {
62                         '': {
63                             level: 'debug',
64                             handlers: ['console', 'sentry']
65                         }
66                     }
67                 },
68               
69                 metadata: [
70                     {key: 'audience', values: [
71                          'gimnazjum',
72                          'liceum',
73                          'master',
74                          'minimum',
75                          'optimum',
76                          'przedszkole',
77                          'sp1-3',
78                          'sp4-6',
79                          'studia'
80                     ]},
81                     {key: 'creator.scenario'},
82                     {key: 'creator.methodologist'},
83                     {key: 'description'},
84                     {key: 'type', values: ['course', 'synthetic', 'project']},
85                     {key: 'subject.curriculum', values: [
86                         '2012/III/ETYKA/c4',
87                         '2012/III/ETYKA/t5',
88                         '2012/III/ETYKA/t9',
89                         '2012/III/ETYKA/t11',
90                         '2012/IV/WOS/c4',
91                         '2012/IV/WOS/c6',
92                         '2012/IV/WOS/t1',
93                         '2012/IV/WOS/t2',
94                         '2012/IV/WOS/t5',
95                         '2012/IV/INFORMATYKA/c5',
96                         '2012/II/POLSKI/C3',
97                         '2012/II/POLSKI/C2',
98                         '2012/II/POLSKI/C1',
99                         '2012/II/PLASTYKA/C1',
100                         '2012/II/PLASTYKA/C2',
101                         '2012/II/PLASTYKA/C3',
102                         '2012/II/ETYKA/C4',
103                         '2012/IV/WOS/c6/roz',
104                         '2012/II/WYCHOWANIE_DO_ZYCIA_W_RODZINIE/T11',
105                         '2012/II/POLSKI/T3',
106                         '2012/II/POLSKI/T5',
107                         '2012/II/POLSKI/T4',
108                         '2012/II/POLSKI/T7',
109                         '2012/II/POLSKI/T9',
110                         '2012/II/POLSKI/T10',
111                         '2012/II/POLSKI/T11',
112                         '2012/II/POLSKI/T12',
113                         '2012/II/POLSKI/T13',
114                         '2012/II/POLSKI/T14',
115                         '2012/II/POLSKI/T15',
116                         '2012/II/POLSKI/T16',
117                         '2012/II/POLSKI/T17',
118                         '2012/II/POLSKI/T18',
119                         '2012/II/PLASTYKA/T1',
120                         '2012/II/PLASTYKA/T2',
121                         '2012/II/PLASTYKA/T3',
122                         '2012/II/POLSKI/T6',
123                         '2012/II/ZAJECIA_KOMPUTEROWE/T6',
124                         '2012/II/ZAJECIA_KOMPUTEROWE/T7',
125                         '2012/II/POLSKI/t1',
126                         '2012/II/ZAJECIA_KOMPUTEROWE/T4',
127                         '2012/II/WYCHOWANIE_DO_ZYCIA_W_RODZINIE/T13',
128                         '2012/II/WYCHOWANIE_DO_ZYCIA_W_RODZINIE/T10',
129                         '2012/IV/WOS/t3',
130                         '2012/IV/WOS/t2/roz',
131                         '2012/IV/INFORMATYKA/t1',
132                         '2012/IV/INFORMATYKA/t7',
133                         '2012/IV/ETYKA/c2',
134                         '2012/IV/ETYKA/t4',
135                         '2012/IV/WOS/t8/roz',
136                         '2012/IV/WOS/c3',
137                         '2012/IV/ETYKA/c1',
138                         '2012/III/POLSKI/c1',
139                         '2012/III/POLSKI/c2',
140                         '2012/III/POLSKI/c3',
141                         '2012/III/PLASTYKA/c1',
142                         '2012/III/PLASTYKA/c2',
143                         '2012/III/PLASTYKA/c3',
144                         '2012/III/WOS/c1',
145                         '2012/III/WOS/c2',
146                         '2012/III/WOS/c3',
147                         '2012/III/WOS/c4',
148                         '2012/III/WOS/c5',
149                         '2012/III/WOS/t1',
150                         '2012/III/WOS/t2',
151                         '2012/III/WOS/t3',
152                         '2012/III/WOS/t4',
153                         '2012/III/WOS/t5',
154                         '2012/III/WOS/t6',
155                         '2012/III/WOS/t9',
156                         '2012/III/WOS/t10',
157                         '2012/III/WOS/t11',
158                         '2012/III/WOS/t24',
159                         '2012/III/WOS/t25',
160                         '2012/III/WOS/t26',
161                         '2012/III/INFORMATYKA/c1',
162                         '2012/III/INFORMATYKA/c2',
163                         '2012/III/INFORMATYKA/c5',
164                         '2012/III/ETYKA/c1',
165                         '2012/III/ETYKA/t1',
166                         '2012/IV/INFORMATYKA/c2',
167                         '2012/IV/INFORMATYKA/c4',
168                         '2012/IV/INFORMATYKA/t2',
169                         '2012/IV/INFORMATYKA/t3',
170                         '2012/IV/INFORMATYKA/t4',
171                         '2012/IV/POLSKI/c1',
172                         '2012/IV/POLSKI/c2',
173                         '2012/IV/POLSKI/c3',
174                         '2012/IV/INFORMATYKA/c2',
175                         '2012/IV/INFORMATYKA/c4',
176                         '2012/IV/INFORMATYKA/t2',
177                         '2012/IV/INFORMATYKA/t3',
178                         '2012/IV/INFORMATYKA/t4',
179                         '2012/IV/POLSKI/c1',
180                         '2012/IV/POLSKI/c2',
181                         '2012/IV/POLSKI/c3',
182                         '2012/IV/WOK/c1',
183                         '2012/IV/WOK/c2',
184                         '2012/IV/WOK/c3',
185                         '2012/IV/ETYKA/t11',
186                         '2012/IV/WOS/c1',
187                         '2012/IV/WOS/t13/roz',
188                         '2012/IV/WOS/c2',
189                         '2012/IV/ETYKA/t6',
190                         '2012/IV/ETYKA/t8',
191                         '2012/II/ZAJECIA_KOMPUTEROWE/c1',
192                         '2012/II/ZAJECIA_KOMPUTEROWE/c2',
193                         '2012/II/ZAJECIA_KOMPUTEROWE/c3',
194                         '2012/II/ZAJECIA_KOMPUTEROWE/c5',
195                         '2012/II/HISTORIA_I_SPOLECZENSTWO/c4',
196                         '2012/II/HISTORIA_I_SPOLECZENSTWO/t1',
197                         '2012/II/HISTORIA_I_SPOLECZENSTWO/t4',
198                         '2012/II/HISTORIA_I_SPOLECZENSTWO/t5',
199                         '2012/II/ETYKA/c1',
200                         '2012/II/ETYKA/c3',
201                         '2012/II/ETYKA/c5',
202                         '2012/II/ETYKA/t2',
203                         '2012/II/ETYKA/t3',
204                         '2012/II/ETYKA/t4',
205                         '2012/II/ETYKA/t5',
206                         '2012/II/ETYKA/t6',
207                         '2012/II/ETYKA/t7',
208                         '2012/IV/WOS/t6',
209                         '2012/IV/WOS/t10/roz',
210                         '2012/IV/WOS/t14/roz',
211                         '2012/IV/WOS/t15/roz',
212                         '2012/IV/WOS/t27/roz',
213                         '2012/IV/WOS/t32/roz',
214                         '2012/IV/WOS/t36/roz',
215                         '2012/IV/INFORMATYKA/c1',
216                         '2012/II/HISTORIA_I_SPOLECZENSTWO/t7'
217                     ]},
218                     {key: 'subject.competence', values: [
219                         'Anonimowość - Bezpieczeństwo w komunikacji i mediach',
220                         'Bezpieczeństwo komunikacji, pracy i transakcji - Bezpieczeństwo w komunikacji i mediach',
221                         'Finansowanie mediów i wybrane sposoby zarabiania w nowych mediach - Ekonomiczne aspekty działania mediów',
222                         'Funkcje komunikatów medialnych - Język mediów',
223                         'Informacja jako dobro ekonomiczne - Ekonomiczne aspekty działania mediów',
224                         'Językowa natura mediów - Język mediów',
225                         'Komunikacja i media jako przedmiot refleksji etycznej - Etyka i wartości w komunikacji i mediach',
226                         'Komunikacja - Relacje w środowisku medialnym',
227                         'Kultura komunikacji medialnej - Język mediów',
228                         'Media a prawa człowieka, obywatela i dziecka - Prawo w komunikacji i mediach',
229                         'Nadzór nad siecią - Bezpieczeństwo w komunikacji i mediach',
230                         'Ochrona danych osobowych - Prawo w komunikacji i mediach',
231                         'Ochrona prywatności i wizerunku - Bezpieczeństwo w komunikacji i mediach',
232                         'Otoczenie - Relacje w środowisku medialnym',
233                         'Podejście krytyczne do informacji - Korzystanie z informacji',
234                         'Polityka medialna - Ekonomiczne aspekty działania mediów',
235                         'Prawa osób niepełnosprawnych - Prawo w komunikacji i mediach',
236                         'Prawa wyłączne i monopole intelektualne - Prawo w komunikacji i mediach',
237                         'Prawo mediów i media publiczne - Prawo w komunikacji i mediach',
238                         'Prawo telekomunikacyjne - Prawo w komunikacji i mediach',
239                         'Prezentowanie - Kreatywne korzystanie z mediów',
240                         'Przetwarzanie - Kreatywne korzystanie z mediów',
241                         'Rodzaje, źródła i praktyka stosowania prawa w kontekście mediów - Prawo w komunikacji i mediach',
242                         'Rynek mediów - Ekonomiczne aspekty działania mediów',
243                         'Tworzenie - Kreatywne korzystanie z mediów',
244                         'Uzależnienia i higiena korzystania z mediów - Bezpieczeństwo w komunikacji i mediach',
245                         'Wizerunek - Relacje w środowisku medialnym',
246                         'Wykorzystanie informacji - Korzystanie z informacji',
247                         'Wyszukiwanie informacji - Korzystanie z informacji',
248                         'Wyzwania etyczne a normy prawa w mediach i komunikacji - Etyka i wartości w komunikacji i mediach',
249                         'Wyzwania etyczne a treści mediów i komunikacji - Etyka i wartości w komunikacji i mediach',
250                         'Wyzwania etyczne w relacjach przez media - Etyka i wartości w komunikacji i mediach',
251                         'Źródła informacji - Korzystanie z informacji'
252                     ]}
253                 ],
254
255                 documentSummaryView: {
256                     title: '{% trans 'Informations about lesson' %}',
257                     properties: [
258                         {name: 'version', label: '{% trans 'Version' %}'},
259                         {name: 'stage', label: '{% trans 'Stage' %}'},
260                         {name: 'assignment', label: '{% trans 'Assignment' %}'},
261                     ]
262                 },
263
264                 plugins: {
265                     core: {templates: {{serialized_templates|safe}}}
266                 },
267
268                 toolbar: [
269                     ['core.undo', 'core.redo'],
270                     
271                     [
272                     {actionName: 'core.switchToHeader'},
273                     {actionName: 'core.switchToParagraph'},
274                     'core.toggleBulletList', 'core.toggleEnumList'
275                     ],
276
277                     [
278                         {actionName: 'core.emphasis', actionConfig: {label: 'wyróżnienie'}},
279                         {actionName: 'core.cite', actionConfig: {label: 'cytat'}},
280                         {actionName: 'core.link'}
281                     ],
282                     
283                     ['core.template']
284                 ],
285                 
286                 documentSaveUrl: function(id) { return '/editor/text/' + id + '/'; },
287                 documentHistoryUrl: function(id) { return '/editor/history/' + id + '/'},
288                 documentDiffUrl: function(id) { return '/editor/diff/' + id + '/'; },
289                 documentRestoreUrl: function(id) { return '/editor/revert/' + id + '/'},
290                 documentAttachmentUrl: function(attachmentName) {
291                     return '{{MEDIA_URL}}{{IMAGE_DIR}}{{slug}}/' + attachmentName;
292                 },
293
294                 documentSaveForm: {
295                     fields: [
296                         {label: '{{forms.text_save.comment.label}}', name: '{{forms.text_save.comment.html_name}}', type: 'textarea'},
297                         {label: '{{forms.text_save.stage_completed.label}}', name: '{{forms.text_save.stage_completed.html_name}}', type: 'select', options: [
298                             {% for value,text in tags %}
299                                 {value:'{{value|default:''}}', text:'{{text}}'} {% if not forloop.last %}, {% endif %}
300                             {% endfor %}
301                         ], description: '{{forms.text_save.stage_completed.help_text}}'},
302                     ],
303                     content_field_name: '{{forms.text_save.text.html_name}}',
304                     version_field_name: '{{forms.text_save.parent_revision.html_name}}'
305                 },
306
307                 documentRestoreForm: {
308                     fields: [
309                         {label: '{{forms.text_revert.comment.label}}', name: '{{forms.text_revert.comment.html_name}}', type: 'textarea'}
310                     ],
311                     version_field_name: '{{forms.text_revert.revision.html_name}}'
312                 }
313             };
314
315             {% if can_pubmark %}
316                 config.documentSaveForm.fields.push(
317                     {label: '{{forms.text_save.publishable.label}}', name: '{{forms.text_save.publishable.html_name}}', type: 'checkbox', description: '{{forms.text_save.publishable.help_text}}'}
318                 );
319             {% endif %}
320
321             {% if not request.user.is_authenticated %}
322                 config.documentSaveForm.fields.push(
323                     {label: '{{forms.text_save.author_name.label}}', name: '{{forms.text_save.author_name.html_name}}', type: 'input', description: '{{forms.text_save.author_name.help_text}}'},
324                     {label: '{{forms.text_save.author_email.label}}', name: '{{forms.text_save.author_email.html_name}}', type: 'input', description: '{{forms.text_save.author_email.help_text}}'}
325                 );
326
327                 config.documentRestoreForm.fields.push(
328                     {label: '{{forms.text_revert.author_name.label}}', name: '{{forms.text_revert.author_name.html_name}}', type: 'input', description: '{{forms.text_revert.author_name.help_text}}'},
329                     {label: '{{forms.text_revert.author_email.label}}', name: '{{forms.text_revert.author_email.html_name}}', type: 'input', description: '{{forms.text_revert.author_email.help_text}}'}
330                 );
331             {% endif %}
332
333             {% autoescape off%}
334             var data = {{serialized_document_data}};
335             {%endautoescape%}
336
337             var editor_init = function(Editor) {            
338                 Editor.setBootstrappedData('data', data);
339                 Editor.start(config);
340             };
341         </script>
342         <div id="editor_root"></div>
343     </body>
344 </html>