Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Romain Courteaud
erp5
Commits
d4009e11
Commit
d4009e11
authored
Aug 28, 2023
by
Romain Courteaud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_but: version 2018
parent
026451d5
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
4498 additions
and
0 deletions
+4498
-0
bt5/erp5_web_but/PathTemplateItem/document_module/world_cup_2018_data_json.json
...emplateItem/document_module/world_cup_2018_data_json.json
+1445
-0
bt5/erp5_web_but/PathTemplateItem/document_module/world_cup_2018_data_json.xml
...TemplateItem/document_module/world_cup_2018_data_json.xml
+261
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_appcache.xml
...hTemplateItem/web_page_module/world_cup_2018_appcache.xml
+339
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_css.css
...t/PathTemplateItem/web_page_module/world_cup_2018_css.css
+285
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_css.xml
...t/PathTemplateItem/web_page_module/world_cup_2018_css.xml
+330
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_html.html
...ateItem/web_page_module/world_cup_2018_launcher_html.html
+105
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_html.xml
...lateItem/web_page_module/world_cup_2018_launcher_html.xml
+324
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_js.js
...emplateItem/web_page_module/world_cup_2018_launcher_js.js
+626
-0
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_js.xml
...mplateItem/web_page_module/world_cup_2018_launcher_js.xml
+318
-0
bt5/erp5_web_but/PathTemplateItem/web_site_module/world_cup_2018.xml
...b_but/PathTemplateItem/web_site_module/world_cup_2018.xml
+449
-0
bt5/erp5_web_but/bt/dependency_list
bt5/erp5_web_but/bt/dependency_list
+1
-0
bt5/erp5_web_but/bt/template_format_version
bt5/erp5_web_but/bt/template_format_version
+1
-0
bt5/erp5_web_but/bt/template_keep_last_workflow_history_only_path_list
...but/bt/template_keep_last_workflow_history_only_path_list
+4
-0
bt5/erp5_web_but/bt/template_keep_workflow_path_list
bt5/erp5_web_but/bt/template_keep_workflow_path_list
+4
-0
bt5/erp5_web_but/bt/template_path_list
bt5/erp5_web_but/bt/template_path_list
+5
-0
bt5/erp5_web_but/bt/title
bt5/erp5_web_but/bt/title
+1
-0
No files found.
bt5/erp5_web_but/PathTemplateItem/document_module/world_cup_2018_data_json.json
0 → 100644
View file @
d4009e11
{
"stadiums"
:
[
{
"id"
:
1
,
"name"
:
"Luzhniki Stadium"
,
"city"
:
"Moscow"
,
"lat"
:
55.715765
,
"lng"
:
37.5515217
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/e/e6/Luzhniki_Stadium%2C_Moscow.jpg"
},
{
"id"
:
2
,
"name"
:
"Otkrytiye Arena"
,
"city"
:
"Moscow"
,
"lat"
:
55.817765
,
"lng"
:
37.440363
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/5/50/Stadium_Spartak_in_Moscow.jpg"
},
{
"id"
:
3
,
"name"
:
"Krestovsky Stadium"
,
"city"
:
"Saint Petersburg"
,
"lat"
:
59.972740
,
"lng"
:
30.221408
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/a/ad/Spb_06-2017_img40_Krestovsky_Stadium.jpg"
},
{
"id"
:
4
,
"name"
:
"Kaliningrad Stadium"
,
"city"
:
"Kaliningrad"
,
"lat"
:
54.698157
,
"lng"
:
20.533859
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/a/a4/Kaliningrad_stadium_-_2018-04-07.jpg"
},
{
"id"
:
5
,
"name"
:
"Kazan Arena"
,
"city"
:
"Kazan"
,
"lat"
:
55.820983
,
"lng"
:
49.160966
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/3/3a/Kazan_Arena_08-2016.jpg"
},
{
"id"
:
6
,
"name"
:
"Nizhny Novgorod Stadium"
,
"city"
:
"Nizhny Novgorod"
,
"lat"
:
56.337287
,
"lng"
:
43.963251
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/9/90/Nizhny_Novgorod_Stadium_%28March_2018%29.jpg"
},
{
"id"
:
7
,
"name"
:
"Cosmos Arena"
,
"city"
:
"Samara"
,
"lat"
:
53.278146
,
"lng"
:
50.238854
,
"image"
:
"http://img.fifa.com/image/upload/t_l4/d0mymt1ubl2pypmu3gn3.jpg"
},
{
"id"
:
8
,
"name"
:
"Volgograd Arena"
,
"city"
:
"Volgograd"
,
"lat"
:
48.734195
,
"lng"
:
44.548345
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/6/61/Construction_of_Volgograd_Arena_inside_04.jpg"
},
{
"id"
:
9
,
"name"
:
"Mordovia Arena"
,
"city"
:
"Saransk"
,
"lat"
:
54.181795
,
"lng"
:
45.203851
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/c/c9/%D0%A1%D1%82%D0%B0%D0%B4%D0%B8%D0%BE%D0%BD_Mordovia_arena.jpg"
},
{
"id"
:
10
,
"name"
:
"Rostov Arena"
,
"city"
:
"Rostov-on-Don"
,
"lat"
:
47.209581
,
"lng"
:
39.738424
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/9/94/Rostov-Arens_%28april_2018%29_01.jpg"
},
{
"id"
:
11
,
"name"
:
"Fisht Olympic Stadium"
,
"city"
:
"Sochi"
,
"lat"
:
43.402011
,
"lng"
:
39.955709
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/5/55/Fisht_Stadium_in_January_2018.jpg"
},
{
"id"
:
12
,
"name"
:
"Central Stadium"
,
"city"
:
"Yekaterinburg"
,
"lat"
:
56.832490
,
"lng"
:
60.573585
,
"image"
:
"https://upload.wikimedia.org/wikipedia/commons/d/d2/Estadio_Central_%28Ekaterinburg-arena%29.jpg"
}
],
"tvchannels"
:
[
{
"id"
:
1
,
"name"
:
"DR1"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/8/88/DR1_logo_2013.svg"
,
"country"
:
"Denmark"
,
"iso2"
:
"dk"
,
"lang"
:
[
"da"
]
},
{
"id"
:
2
,
"name"
:
"TV2"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/8/85/Danish_TV_2_logo.png"
,
"country"
:
"Denmark"
,
"iso2"
:
"dk"
,
"lang"
:
[
"da"
]
},
{
"id"
:
3
,
"name"
:
"BBC UK"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/e/eb/BBC.svg"
,
"country"
:
"UK"
,
"iso2"
:
"en"
,
"lang"
:
[
"en"
]
},
{
"id"
:
4
,
"name"
:
"ITV UK"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/en/9/92/ITV_logo_2013.svg"
,
"country"
:
"UK"
,
"iso2"
:
"en"
,
"lang"
:
[
"en"
]
},
{
"id"
:
5
,
"name"
:
"ITV4 UK"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/en/9/92/ITV_logo_2013.svg"
,
"country"
:
"UK"
,
"iso2"
:
"en"
,
"lang"
:
[
"en"
]
},
{
"id"
:
6
,
"name"
:
"Cuatro"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/f/f8/Logotipo_de_Cuatro.svg"
,
"country"
:
"Spain"
,
"iso2"
:
"es"
,
"lang"
:
[
"es"
]
},
{
"id"
:
7
,
"name"
:
"Telecinco"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/7/75/Telecinco_2012.png"
,
"country"
:
"Spain"
,
"iso2"
:
"es"
,
"lang"
:
[
"es"
]
},
{
"id"
:
8
,
"name"
:
"Globo"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/pt/2/22/Logotipo_da_Rede_Globo.png"
,
"country"
:
"Brazil"
,
"iso2"
:
"br"
,
"lang"
:
[
"pt-br"
]
},
{
"id"
:
9
,
"name"
:
"SportTV"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/SporTV_2017_logo.svg/692px-SporTV_2017_logo.svg.png"
,
"country"
:
"Brazil"
,
"iso2"
:
"br"
,
"lang"
:
[
"pt-br"
]
},
{
"id"
:
10
,
"name"
:
"SportTV2"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/SporTV_2_2017_logo.svg/664px-SporTV_2_2017_logo.svg.png"
,
"country"
:
"Brazil"
,
"iso2"
:
"br"
,
"lang"
:
[
"pt-br"
]
},
{
"id"
:
11
,
"name"
:
"SportTV3"
,
"icon"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/SporTV_3_2017_logo.svg/703px-SporTV_3_2017_logo.svg.png"
,
"country"
:
"Brazil"
,
"iso2"
:
"br"
,
"lang"
:
[
"pt-br"
]
}
],
"teams"
:
[
{
"id"
:
1
,
"name"
:
"Russia"
,
"fifaCode"
:
"RUS"
,
"iso2"
:
"ru"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/f/f3/Flag_of_Russia.svg/900px-Flag_of_Russia.png"
,
"emoji"
:
"flag-ru"
,
"emojiString"
:
"🇷🇺"
},
{
"id"
:
2
,
"name"
:
"Saudi Arabia"
,
"fifaCode"
:
"KSA"
,
"iso2"
:
"sa"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Flag_of_Saudi_Arabia.svg/750px-Flag_of_Saudi_Arabia.png"
,
"emoji"
:
"flag-sa"
,
"emojiString"
:
"🇸🇦"
},
{
"id"
:
3
,
"name"
:
"Egypt"
,
"fifaCode"
:
"EGY"
,
"iso2"
:
"eg"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Flag_of_Egypt.svg/900px-Flag_of_Egypt.png"
,
"emoji"
:
"flag-eg"
,
"emojiString"
:
"🇪🇬"
},
{
"id"
:
4
,
"name"
:
"Uruguay"
,
"fifaCode"
:
"URU"
,
"iso2"
:
"uy"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Flag_of_Uruguay.svg/900px-Flag_of_Uruguay.png"
,
"emoji"
:
"flag-uy"
,
"emojiString"
:
"🇺🇾"
},
{
"id"
:
5
,
"name"
:
"Portugal"
,
"fifaCode"
:
"POR"
,
"iso2"
:
"pt"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Flag_of_Portugal.svg/600px-Flag_of_Portugal.png"
,
"emoji"
:
"flag-pt"
,
"emojiString"
:
"🇵🇹"
},
{
"id"
:
6
,
"name"
:
"Spain"
,
"fifaCode"
:
"ESP"
,
"iso2"
:
"es"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Flag_of_Spain.svg/750px-Flag_of_Spain.png"
,
"emoji"
:
"flag-es"
,
"emojiString"
:
"🇪🇸"
},
{
"id"
:
7
,
"name"
:
"Morocco"
,
"fifaCode"
:
"MAR"
,
"iso2"
:
"ma"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Flag_of_Morocco.svg/900px-Flag_of_Morocco.png"
,
"emoji"
:
"flag-ma"
,
"emojiString"
:
"🇲🇦"
},
{
"id"
:
8
,
"name"
:
"Iran"
,
"fifaCode"
:
"IRN"
,
"iso2"
:
"ir"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Flag_of_Iran.svg/630px-Flag_of_Iran.png"
,
"emoji"
:
"flag-ir"
,
"emojiString"
:
"🇮🇷"
},
{
"id"
:
9
,
"name"
:
"France"
,
"fifaCode"
:
"FRA"
,
"iso2"
:
"fr"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/c/c3/Flag_of_France.svg/900px-Flag_of_France.png"
,
"emoji"
:
"flag-fr"
,
"emojiString"
:
"🇫🇷"
},
{
"id"
:
10
,
"name"
:
"Australia"
,
"fifaCode"
:
"AUS"
,
"iso2"
:
"au"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Flag_of_Australia_%28converted%29.svg/1280px-Flag_of_Australia_%28converted%29.png"
,
"emoji"
:
"flag-au"
,
"emojiString"
:
"🇦🇺"
},
{
"id"
:
11
,
"name"
:
"Peru"
,
"fifaCode"
:
"PER"
,
"iso2"
:
"pe"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Flag_of_Peru_%28state%29.svg/900px-Flag_of_Peru_%28state%29.png"
,
"emoji"
:
"flag-pe"
,
"emojiString"
:
"🇵🇪"
},
{
"id"
:
12
,
"name"
:
"Denmark"
,
"fifaCode"
:
"DEN"
,
"iso2"
:
"dk"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Flag_of_Denmark.svg/740px-Flag_of_Denmark.png"
,
"emoji"
:
"flag-dk"
,
"emojiString"
:
"🇩🇰"
},
{
"id"
:
13
,
"name"
:
"Argentina"
,
"fifaCode"
:
"ARG"
,
"iso2"
:
"ar"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Flag_of_Argentina.svg/800px-Flag_of_Argentina.png"
,
"emoji"
:
"flag-ar"
,
"emojiString"
:
"🇦🇷"
},
{
"id"
:
14
,
"name"
:
"Iceland"
,
"fifaCode"
:
"ISL"
,
"iso2"
:
"is"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Flag_of_Iceland.svg/800px-Flag_of_Iceland.png"
,
"emoji"
:
"flag-is"
,
"emojiString"
:
"🇮🇸"
},
{
"id"
:
15
,
"name"
:
"Croatia"
,
"fifaCode"
:
"CRO"
,
"iso2"
:
"hr"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Flag_of_Croatia.svg/800px-Flag_of_Croatia.png"
,
"emoji"
:
"flag-hr"
,
"emojiString"
:
"🇭🇷"
},
{
"id"
:
16
,
"name"
:
"Nigeria"
,
"fifaCode"
:
"NGA"
,
"iso2"
:
"ng"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/Flag_of_Nigeria.svg/800px-Flag_of_Nigeria.png"
,
"emoji"
:
"flag-ng"
,
"emojiString"
:
"🇳🇬"
},
{
"id"
:
17
,
"name"
:
"Brazil"
,
"fifaCode"
:
"BRA"
,
"iso2"
:
"br"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/0/05/Flag_of_Brazil.svg/720px-Flag_of_Brazil.png"
,
"emoji"
:
"flag-br"
,
"emojiString"
:
"🇧🇷"
},
{
"id"
:
18
,
"name"
:
"Switzerland"
,
"fifaCode"
:
"SUI"
,
"iso2"
:
"ch"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Flag_of_Switzerland_%28Pantone%29.svg/320px-Flag_of_Switzerland_%28Pantone%29.png"
,
"emoji"
:
"flag-ch"
,
"emojiString"
:
"🇨🇭"
},
{
"id"
:
19
,
"name"
:
"Costa Rica"
,
"fifaCode"
:
"CRC"
,
"iso2"
:
"cr"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Flag_of_Costa_Rica_%28state%29.svg/833px-Flag_of_Costa_Rica_%28state%29.png"
,
"emoji"
:
"flag-cr"
,
"emojiString"
:
"🇨🇷"
},
{
"id"
:
20
,
"name"
:
"Serbia"
,
"fifaCode"
:
"SRB"
,
"iso2"
:
"rs"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Flag_of_Serbia.svg/1350px-Flag_of_Serbia.png"
,
"emoji"
:
"flag-rs"
,
"emojiString"
:
"🇷🇸"
},
{
"id"
:
21
,
"name"
:
"Germany"
,
"fifaCode"
:
"GER"
,
"iso2"
:
"de"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/b/ba/Flag_of_Germany.svg/800px-Flag_of_Germany.png"
,
"emoji"
:
"flag-de"
,
"emojiString"
:
"🇩🇪"
},
{
"id"
:
22
,
"name"
:
"Mexico"
,
"fifaCode"
:
"MEX"
,
"iso2"
:
"mx"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Flag_of_Mexico.svg/800px-Flag_of_Mexico.png"
,
"emoji"
:
"flag-mx"
,
"emojiString"
:
"🇲🇽"
},
{
"id"
:
23
,
"name"
:
"Sweden"
,
"fifaCode"
:
"SWE"
,
"iso2"
:
"se"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/4/4c/Flag_of_Sweden.svg/1600px-Flag_of_Sweden.png"
,
"emoji"
:
"flag-se"
,
"emojiString"
:
"🇸🇪"
},
{
"id"
:
24
,
"name"
:
"South Korea"
,
"fifaCode"
:
"KOR"
,
"iso2"
:
"kr"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Flag_of_South_Korea.svg/900px-Flag_of_South_Korea.png"
,
"emoji"
:
"flag-kr"
,
"emojiString"
:
"🇰🇷"
},
{
"id"
:
25
,
"name"
:
"Belgium"
,
"fifaCode"
:
"BEL"
,
"iso2"
:
"be"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Flag_of_Belgium.svg/450px-Flag_of_Belgium.png"
,
"emoji"
:
"flag-be"
,
"emojiString"
:
"🇧🇪"
},
{
"id"
:
26
,
"name"
:
"Panama"
,
"fifaCode"
:
"PAN"
,
"iso2"
:
"pa"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Flag_of_Panama.svg/450px-Flag_of_Panama.png"
,
"emoji"
:
"flag-pa"
,
"emojiString"
:
"🇵🇦"
},
{
"id"
:
27
,
"name"
:
"Tunisia"
,
"fifaCode"
:
"TUN"
,
"iso2"
:
"tn"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Flag_of_Tunisia.svg/1200px-Flag_of_Tunisia.png"
,
"emoji"
:
"flag-tn"
,
"emojiString"
:
"🇹🇳"
},
{
"id"
:
28
,
"name"
:
"England"
,
"fifaCode"
:
"ENG"
,
"iso2"
:
"gb-eng"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/b/be/Flag_of_England.svg/800px-Flag_of_England.png"
,
"emoji"
:
"flag-england"
,
"emojiString"
:
"🏴"
},
{
"id"
:
29
,
"name"
:
"Poland"
,
"fifaCode"
:
"POL"
,
"iso2"
:
"pl"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/1/12/Flag_of_Poland.svg/1280px-Flag_of_Poland.png"
,
"emoji"
:
"flag-pl"
,
"emojiString"
:
"🇵🇱"
},
{
"id"
:
30
,
"name"
:
"Senegal"
,
"fifaCode"
:
"SEN"
,
"iso2"
:
"sn"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Flag_of_Senegal.svg/900px-Flag_of_Senegal.svg.png"
,
"emoji"
:
"flag-sn"
,
"emojiString"
:
"🇸🇳"
},
{
"id"
:
31
,
"name"
:
"Colombia"
,
"fifaCode"
:
"COL"
,
"iso2"
:
"co"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Flag_of_Colombia.svg/450px-Flag_of_Colombia.png"
,
"emoji"
:
"flag-co"
,
"emojiString"
:
"🇨🇴"
},
{
"id"
:
32
,
"name"
:
"Japan"
,
"fifaCode"
:
"JPN"
,
"iso2"
:
"jp"
,
"flag"
:
"https://upload.wikimedia.org/wikipedia/en/thumb/9/9e/Flag_of_Japan.svg/900px-Flag_of_Japan.png"
,
"emoji"
:
"flag-jp"
,
"emojiString"
:
"🇯🇵"
}
],
"groups"
:
{
"a"
:
{
"name"
:
"Group A"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
1
,
"type"
:
"group"
,
"home_team"
:
1
,
"away_team"
:
2
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-14T18:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
2
,
"type"
:
"group"
,
"home_team"
:
3
,
"away_team"
:
4
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-15T17:00:00+05:00"
,
"stadium"
:
12
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
17
,
"type"
:
"group"
,
"home_team"
:
1
,
"away_team"
:
3
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-19T21:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
18
,
"type"
:
"group"
,
"home_team"
:
4
,
"away_team"
:
2
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-20T18:00:00+03:00"
,
"stadium"
:
10
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
33
,
"type"
:
"group"
,
"home_team"
:
4
,
"away_team"
:
1
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-25T18:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
34
,
"type"
:
"group"
,
"home_team"
:
2
,
"away_team"
:
3
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-25T17:00:00+03:00"
,
"stadium"
:
8
,
"channels"
:
[
5
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"b"
:
{
"name"
:
"Group B"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
3
,
"type"
:
"group"
,
"home_team"
:
5
,
"away_team"
:
6
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-15T21:00:00+03:00"
,
"stadium"
:
11
,
"channels"
:
[
3
,
7
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
4
,
"type"
:
"group"
,
"home_team"
:
7
,
"away_team"
:
8
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-15T18:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
19
,
"type"
:
"group"
,
"home_team"
:
5
,
"away_team"
:
7
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-20T15:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
20
,
"type"
:
"group"
,
"home_team"
:
8
,
"away_team"
:
6
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-20T21:00:00+03:00"
,
"stadium"
:
5
,
"channels"
:
[
4
,
7
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
35
,
"type"
:
"group"
,
"home_team"
:
8
,
"away_team"
:
5
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-25T21:00:00+03:00"
,
"stadium"
:
9
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
36
,
"type"
:
"group"
,
"home_team"
:
6
,
"away_team"
:
7
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-25T20:00:00+02:00"
,
"stadium"
:
4
,
"channels"
:
[
3
,
7
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"c"
:
{
"name"
:
"Group C"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
5
,
"type"
:
"group"
,
"home_team"
:
9
,
"away_team"
:
10
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-16T13:00:00+03:00"
,
"stadium"
:
5
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
6
,
"type"
:
"group"
,
"home_team"
:
11
,
"away_team"
:
12
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-16T19:00:00+03:00"
,
"stadium"
:
9
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
21
,
"type"
:
"group"
,
"home_team"
:
9
,
"away_team"
:
11
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-21T20:00:00+05:00"
,
"stadium"
:
12
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
22
,
"type"
:
"group"
,
"home_team"
:
12
,
"away_team"
:
10
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-21T16:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
37
,
"type"
:
"group"
,
"home_team"
:
12
,
"away_team"
:
9
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-26T17:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
38
,
"type"
:
"group"
,
"home_team"
:
10
,
"away_team"
:
11
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-26T17:00:00+02:00"
,
"stadium"
:
11
,
"channels"
:
[
5
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"d"
:
{
"name"
:
"Group D"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
7
,
"type"
:
"group"
,
"home_team"
:
13
,
"away_team"
:
14
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-16T16:00:00+03:00"
,
"stadium"
:
2
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
8
,
"type"
:
"group"
,
"home_team"
:
15
,
"away_team"
:
16
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-16T21:00:00+02:00"
,
"stadium"
:
4
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
23
,
"type"
:
"group"
,
"home_team"
:
13
,
"away_team"
:
15
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-21T21:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
24
,
"type"
:
"group"
,
"home_team"
:
16
,
"away_team"
:
14
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-22T18:00:00+03:00"
,
"stadium"
:
8
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
39
,
"type"
:
"group"
,
"home_team"
:
16
,
"away_team"
:
13
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-26T21:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
40
,
"type"
:
"group"
,
"home_team"
:
14
,
"away_team"
:
15
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-26T21:00:00+03:00"
,
"stadium"
:
10
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"e"
:
{
"name"
:
"Group E"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
9
,
"type"
:
"group"
,
"home_team"
:
17
,
"away_team"
:
18
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-17T21:00:00+03:00"
,
"stadium"
:
10
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
10
,
"type"
:
"group"
,
"home_team"
:
19
,
"away_team"
:
20
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-17T16:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
25
,
"type"
:
"group"
,
"home_team"
:
17
,
"away_team"
:
19
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-22T15:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
26
,
"type"
:
"group"
,
"home_team"
:
20
,
"away_team"
:
18
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-22T20:00:00+02:00"
,
"stadium"
:
4
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
41
,
"type"
:
"group"
,
"home_team"
:
20
,
"away_team"
:
17
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-27T21:00:00+03:00"
,
"stadium"
:
2
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
42
,
"type"
:
"group"
,
"home_team"
:
18
,
"away_team"
:
19
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-27T21:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
5
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"f"
:
{
"name"
:
"Group F"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
11
,
"type"
:
"group"
,
"home_team"
:
21
,
"away_team"
:
22
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-17T18:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
12
,
"type"
:
"group"
,
"home_team"
:
23
,
"away_team"
:
24
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-18T15:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
27
,
"type"
:
"group"
,
"home_team"
:
21
,
"away_team"
:
23
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-23T21:00:00+03:00"
,
"stadium"
:
11
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
28
,
"type"
:
"group"
,
"home_team"
:
24
,
"away_team"
:
22
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-23T18:00:00+03:00"
,
"stadium"
:
10
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
43
,
"type"
:
"group"
,
"home_team"
:
24
,
"away_team"
:
21
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-27T17:00:00+03:00"
,
"stadium"
:
5
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
44
,
"type"
:
"group"
,
"home_team"
:
22
,
"away_team"
:
23
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-27T19:00:00+05:00"
,
"stadium"
:
12
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"g"
:
{
"name"
:
"Group G"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
13
,
"type"
:
"group"
,
"home_team"
:
25
,
"away_team"
:
26
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-18T18:00:00+03:00"
,
"stadium"
:
11
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
14
,
"type"
:
"group"
,
"home_team"
:
27
,
"away_team"
:
28
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-18T21:00:00+03:00"
,
"stadium"
:
8
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
29
,
"type"
:
"group"
,
"home_team"
:
25
,
"away_team"
:
27
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-23T15:00:00+03:00"
,
"stadium"
:
2
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
30
,
"type"
:
"group"
,
"home_team"
:
28
,
"away_team"
:
26
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-24T15:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
45
,
"type"
:
"group"
,
"home_team"
:
28
,
"away_team"
:
25
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-28T20:00:00+02:00"
,
"stadium"
:
4
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
46
,
"type"
:
"group"
,
"home_team"
:
26
,
"away_team"
:
27
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-28T21:00:00+03:00"
,
"stadium"
:
9
,
"channels"
:
[
5
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
},
"h"
:
{
"name"
:
"Group H"
,
"winner"
:
null
,
"runnerup"
:
null
,
"matches"
:
[
{
"name"
:
15
,
"type"
:
"group"
,
"home_team"
:
29
,
"away_team"
:
30
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-19T18:00:00+03:00"
,
"stadium"
:
2
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
16
,
"type"
:
"group"
,
"home_team"
:
31
,
"away_team"
:
32
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-19T15:00:00+03:00"
,
"stadium"
:
9
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
1
},
{
"name"
:
31
,
"type"
:
"group"
,
"home_team"
:
29
,
"away_team"
:
31
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-24T20:00:00+05:00"
,
"stadium"
:
5
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
32
,
"type"
:
"group"
,
"home_team"
:
32
,
"away_team"
:
30
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-24T21:00:00+03:00"
,
"stadium"
:
12
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
2
},
{
"name"
:
47
,
"type"
:
"group"
,
"home_team"
:
32
,
"away_team"
:
29
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-28T17:00:00+03:00"
,
"stadium"
:
8
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
},
{
"name"
:
48
,
"type"
:
"group"
,
"home_team"
:
30
,
"away_team"
:
31
,
"home_result"
:
null
,
"away_result"
:
null
,
"date"
:
"2018-06-28T18:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
3
}
]
}
},
"knockout"
:
{
"round_16"
:
{
"name"
:
"Round of 16"
,
"matches"
:
[
{
"name"
:
49
,
"type"
:
"qualified"
,
"home_team"
:
"winner_a"
,
"away_team"
:
"runner_b"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-06-30T17:00:00+03:00"
,
"stadium"
:
11
,
"channels"
:
[
4
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
50
,
"type"
:
"qualified"
,
"home_team"
:
"winner_c"
,
"away_team"
:
"runner_d"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-06-30T21:00:00+03:00"
,
"stadium"
:
5
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
51
,
"type"
:
"qualified"
,
"home_team"
:
"winner_b"
,
"away_team"
:
"runner_a"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-01T17:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
3
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
52
,
"type"
:
"qualified"
,
"home_team"
:
"winner_d"
,
"away_team"
:
"runner_c"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-01T21:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
53
,
"type"
:
"qualified"
,
"home_team"
:
"winner_e"
,
"away_team"
:
"runner_f"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-02T18:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
54
,
"type"
:
"qualified"
,
"home_team"
:
"winner_g"
,
"away_team"
:
"runner_h"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-02T21:00:00+03:00"
,
"stadium"
:
10
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
55
,
"type"
:
"qualified"
,
"home_team"
:
"winner_f"
,
"away_team"
:
"runner_e"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-03T17:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
4
,
6
],
"finished"
:
false
,
"matchday"
:
4
},
{
"name"
:
56
,
"type"
:
"qualified"
,
"home_team"
:
"winner_h"
,
"away_team"
:
"runner_g"
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-03T21:00:00+03:00"
,
"stadium"
:
2
,
"channels"
:
[
3
,
6
],
"finished"
:
false
,
"matchday"
:
4
}
]
},
"round_8"
:
{
"name"
:
"Quarter-finals"
,
"matches"
:
[
{
"name"
:
57
,
"type"
:
"winner"
,
"home_team"
:
49
,
"away_team"
:
50
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-06T17:00:00+03:00"
,
"stadium"
:
6
,
"channels"
:
[
3
],
"finished"
:
false
,
"matchday"
:
5
},
{
"name"
:
58
,
"type"
:
"winner"
,
"home_team"
:
53
,
"away_team"
:
54
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-06T21:00:00+03:00"
,
"stadium"
:
5
,
"channels"
:
[
3
],
"finished"
:
false
,
"matchday"
:
5
},
{
"name"
:
59
,
"type"
:
"winner"
,
"home_team"
:
51
,
"away_team"
:
52
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-07T21:00:00+03:00"
,
"stadium"
:
11
,
"channels"
:
[
4
],
"finished"
:
false
,
"matchday"
:
5
},
{
"name"
:
60
,
"type"
:
"winner"
,
"home_team"
:
55
,
"away_team"
:
56
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-07T18:00:00+04:00"
,
"stadium"
:
7
,
"channels"
:
[
4
],
"finished"
:
false
,
"matchday"
:
5
}
]
},
"round_4"
:
{
"name"
:
"Semi-finals"
,
"matches"
:
[
{
"name"
:
61
,
"type"
:
"winner"
,
"home_team"
:
57
,
"away_team"
:
58
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-10T21:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
4
],
"finished"
:
false
,
"matchday"
:
6
},
{
"name"
:
62
,
"type"
:
"winner"
,
"home_team"
:
59
,
"away_team"
:
60
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-11T21:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
3
],
"finished"
:
false
,
"matchday"
:
6
}
]
},
"round_2_loser"
:
{
"name"
:
"Third place play-off"
,
"matches"
:
[
{
"name"
:
63
,
"type"
:
"loser"
,
"home_team"
:
61
,
"away_team"
:
62
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-14T17:00:00+03:00"
,
"stadium"
:
3
,
"channels"
:
[
4
],
"finished"
:
false
,
"matchday"
:
7
}
]
},
"round_2"
:
{
"name"
:
"Final"
,
"matches"
:
[
{
"name"
:
64
,
"type"
:
"winner"
,
"home_team"
:
61
,
"away_team"
:
62
,
"home_result"
:
null
,
"away_result"
:
null
,
"home_penalty"
:
null
,
"away_penalty"
:
null
,
"winner"
:
null
,
"date"
:
"2018-07-15T18:00:00+03:00"
,
"stadium"
:
1
,
"channels"
:
[
3
,
4
],
"finished"
:
false
,
"matchday"
:
7
}
]
}
}
}
bt5/erp5_web_but/PathTemplateItem/document_module/world_cup_2018_data_json.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"File"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<string>
6f5120e39128a2cd38560c2453308feb
</string>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
application/json
</string>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
world_cup_2018_data.json
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
filename
</string>
</key>
<value>
<string>
world_cup_data.json
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018_data_json
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
File
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018 Data JSON
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528117341.03
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
967.65229.47339.45738
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528117316.11
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_appcache.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Manifest"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
world_cup_2018.appcache
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018_appcache
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Manifest
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content
</string>
</key>
<value>
<string>
CACHE MANIFEST\n
# generated on Mon, 6 Jun 2018 0:00:00 GMT+0200\n
CACHE:\n
favicon.ico\n
world_cup_2018_launcher.js\n
world_cup_2018_data.json\n
world_cup_2018.css\n
jiodev.js\n
renderjs.js\n
rsvp.js\n
NETWORK:\n
*
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018 Appcache
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119775.44
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
968.10218.14554.15616
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528748796.87
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119647.24
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_css.css
0 → 100644
View file @
d4009e11
/**********************************************
* Colors
**********************************************/
/**********************************************
* Fonts (font-family)
**********************************************/
/**********************************************
* Shared
**********************************************/
/**********************************************
* http://meyerweb.com/eric/tools/css/reset/
* v2.0 | 20110126
* License: none (public domain)
**********************************************/
html
,
body
,
div
,
span
,
applet
,
object
,
iframe
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
blockquote
,
pre
,
a
,
abbr
,
acronym
,
address
,
big
,
cite
,
code
,
del
,
dfn
,
em
,
img
,
ins
,
kbd
,
q
,
s
,
samp
,
small
,
strike
,
strong
,
sub
,
sup
,
tt
,
var
,
b
,
u
,
i
,
center
,
dl
,
dt
,
dd
,
ol
,
ul
,
li
,
fieldset
,
form
,
label
,
legend
,
table
,
caption
,
tbody
,
tfoot
,
thead
,
tr
,
th
,
td
,
article
,
aside
,
canvas
,
details
,
embed
,
figure
,
figcaption
,
footer
,
header
,
hgroup
,
menu
,
nav
,
output
,
ruby
,
section
,
summary
,
time
,
mark
,
audio
,
video
{
margin
:
0
;
padding
:
0
;
border
:
0
;
font-size
:
100%
;
font
:
inherit
;
vertical-align
:
baseline
;
}
/* HTML5 display-role reset for older browsers */
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
menu
,
nav
,
section
{
display
:
block
;
}
body
{
line-height
:
1
;
}
ol
,
ul
{
list-style
:
none
;
}
blockquote
,
q
{
quotes
:
none
;
}
blockquote
:before
,
blockquote
:after
,
q
:before
,
q
:after
{
content
:
''
;
content
:
none
;
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
}
/**********************************************
* Default
**********************************************/
html
{
height
:
100%
;
width
:
100%
;
display
:
block
;
background-color
:
white
;
box-sizing
:
border-box
;
}
*,
*
:before
,
*
:after
{
box-sizing
:
inherit
;
}
body
{
height
:
100%
;
width
:
100%
;
display
:
block
;
word-wrap
:
break-word
;
}
body
,
button
,
input
,
textarea
,
select
{
font-family
:
'Open Sans'
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
12pt
;
padding
:
0
;
margin
:
0
;
font-weight
:
400
;
line-height
:
1.5
;
}
@media
only
screen
and
(
min-width
:
70em
)
{
body
,
button
,
input
,
textarea
,
select
{
font-size
:
12pt
;
}
}
/**********************************************
* Style
**********************************************/
body
>
header
{
text-align
:
center
;
}
body
>
header
>
h1
{
font-size
:
5em
;
}
body
>
main
>
form
{
max-width
:
20em
;
}
body
>
main
>
form
>
h2
{
text-align
:
center
;
background
:
indianred
;
}
body
>
main
>
form
>
ul
>
li
{
text-align
:
center
;
}
body
>
main
>
form
>
ul
>
li
label
{
width
:
7em
;
display
:
inline-block
;
}
body
>
main
>
form
>
ul
>
li
input
[
type
=
"radio"
]
{
display
:
none
;
}
body
>
main
>
form
>
ul
>
li
input
[
type
=
"radio"
]
:checked
+
label
{
font-weight
:
bold
;
}
body
>
main
>
form
>
ul
>
li
input
[
type
=
"integer"
]
{
width
:
2em
;
}
body
>
main
>
ul
{
display
:
flex
;
align-items
:
flex-start
;
flex-wrap
:
wrap
;
width
:
20em
;
}
@media
only
screen
and
(
min-width
:
70em
)
{
body
>
main
>
ul
{
width
:
70em
;
}
}
body
>
main
>
ul
>
li
{
width
:
100%
;
flex-shrink
:
1
;
vertical-align
:
top
;
padding
:
3pt
;
}
@media
only
screen
and
(
min-width
:
70em
)
{
body
>
main
>
ul
>
li
{
width
:
10em
;
}
body
>
main
>
ul
>
li
:first-of-type
{
margin-left
:
30em
;
}
}
body
>
main
>
ul
>
li
>
button
{
background-image
:
none
;
background
:
transparent
;
cursor
:
pointer
;
outline
:
none
;
border
:
none
;
width
:
100%
;
padding
:
6pt
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.3
);
border-radius
:
0.325em
;
box-shadow
:
2px
2px
2px
rgba
(
0
,
0
,
0
,
0.15
);
}
body
>
main
>
ul
>
li
>
button
h2
{
margin-bottom
:
6pt
;
text-align
:
center
;
background
:
indianred
;
}
body
>
main
>
ul
>
li
>
button
ul
{
text-align
:
left
;
font-size
:
small
;
}
body
>
main
>
table
{
max-width
:
40em
;
border
:
1px
solid
black
;
margin-left
:
1em
;
padding
:
0
;
border-collapse
:
collapse
;
border-spacing
:
0
;
}
body
>
main
>
table
tr
{
border
:
1px
solid
black
;
padding-top
:
6pt
;
padding-bottom
:
6pt
;
}
body
>
main
>
table
th
,
body
>
main
>
table
td
{
text-align
:
center
;
padding-top
:
6pt
;
padding-bottom
:
6pt
;
}
body
>
main
>
table
thead
{
text-align
:
center
;
background
:
indianred
;
}
body
>
main
>
table
thead
th
{
min-width
:
10em
;
text-transform
:
uppercase
;
}
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_css.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Style"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
world_cup_2018.css
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018_css
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Style
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018 CSS
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528140384.48
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
968.15468.48654.57804
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1529064254.49
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528140309.41
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_html.html
0 → 100644
View file @
d4009e11
<!DOCTYPE html>
<html
manifest=
"world_cup_2018.appcache"
>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<link
rel=
"shortcut icon"
href=
"favicon.ico"
>
<title>
BUT
</title>
<meta
name=
"description"
content=
"${site_description}"
>
<meta
name=
"keywords"
content=
"${site_keywords}"
>
<link
rel=
"stylesheet"
href=
"world_cup_2018.css"
>
<script
src=
"rsvp.js"
></script>
<script
src=
"renderjs.js"
></script>
<script
src=
"jiodev.js"
></script>
<script
src=
"handlebars.js"
></script>
<script
id=
"result_template"
type=
"text/x-handlebars-template"
>
<
table
>
<
caption
>
Result
({{
match_count
}}
matches
)
<
/caption
>
<
thead
>
<
tr
>
<
th
>
Score
<
/th
>
<
th
>
Name
<
/th
>
<
/tr
>
<
/thead
>
<
tbody
>
{{
#
each
player_list
}}
<
tr
>
<
td
>
{{
score
}}
<
/td
>
<
td
>
{{
name
}}
<
/td
>
<
/tr>{{/
each
}}
<
/tbody
>
<
/table
>
</script>
<script
id=
"day_list_template"
type=
"text/x-handlebars-template"
>
<
ul
>
{{
#
each
day_list
}}
<
li
>
{{
#
if
match_list
}}
<
button
type
=
"
button
"
data
-
wc2018
=
"
renderCard
"
data
-
wc2018
-
param
=
"
{{day_query}}
"
><
h2
>
{{
day_string
}}
<
/h2
>
<
ul
>
{{
#
each
match_list
}}
<
li
>
{{
title
}}
<
/li
>
{{
/
each
}}
<
/ul></
button
>
{{
/
if
}}
<
/li>{{/
each
}}
<
/ul
>
<
button
type
=
"
button
"
data
-
wc2018
=
"
renderExport
"
>
Share
!<
/button
>
<
button
type
=
"
button
"
data
-
wc2018
=
"
renderImport
"
>
Import
<
/button
>
<
button
type
=
"
button
"
data
-
wc2018
=
"
renderResult
"
>
Result
<
/button
>
</script>
<script
id=
"share_template"
type=
"text/x-handlebars-template"
>
<
p
>
Share
this
code
:
<
b
>
{{
code
}}
<
/b></
p
>
<
button
type
=
"
button
"
data
-
wc2018
=
"
renderCalendar
"
>
Done
<
/button
>
</script>
<script
id=
"import_form_template"
type=
"text/x-handlebars-template"
>
<
form
data
-
wc2018
=
"
submitImport
"
>
<
label
for
=
"
password_list
"
>
Paste
password
list
<
/label
>
<
textarea
required
name
=
"
password_text
"
id
=
"
password_text
"
>
{{
password_text
}}
<
/textarea
>
<
input
type
=
"
submit
"
value
=
"
Import
"
><
/input
>
<
/form> nutnu
t
<
form
data
-
wc2018
=
"
submitNewCode
"
>
<
label
for
=
"
player
"
>
Player
<
/label
>
<
input
required
name
=
"
player
"
id
=
"
player
"
><
/input
>
<
label
for
=
"
code
"
>
Code
<
/label
>
<
input
required
name
=
"
code
"
id
=
"
code
"
><
/input
>
<
input
type
=
"
submit
"
value
=
"
Add
"
><
/input
>
<
/form
>
</script>
<script
id=
"day_form_template"
type=
"text/x-handlebars-template"
>
<
form
data
-
wc2018
=
"
submitBet
"
>
<
h2
>
{{
day_string
}}
<
/h2
>
<
ul
>
{{
#
each
match_list
}}
<
li
>
<!--
input
type
=
"
radio
"
name
=
"
couscous
"
id
=
"
couscous_1
"
required
/>
<
label
for
=
"
couscous_1
"
>
Home
<
/label--
>
<
label
for
=
"
{{home_bet_reference}}
"
>
{{
home_bet_title
}}
<
/label
>
<
input
required
type
=
"
integer
"
name
=
"
{{home_bet_reference}}
"
id
=
"
{{home_bet_reference}}
"
value
=
"
{{home_bet}}
"
><
/input
>
/
<
input
required
type
=
"
integer
"
name
=
"
{{away_bet_reference}}
"
id
=
"
{{away_bet_reference}}
"
value
=
"
{{away_bet}}
"
><
/input
>
<
label
for
=
"
{{away_bet_reference}}
"
>
{{
away_bet_title
}}
<
/label
>
<!--
input
type
=
"
radio
"
name
=
"
couscous
"
id
=
"
couscous_2
"
required
/>
<
label
for
=
"
couscous_2
"
>
Away
<
/label--
>
<
/li>{{/
each
}}
<
/ul
>
<
input
type
=
"
submit
"
value
=
"
Save
"
><
/input
>
<
/form
>
</script>
<script
src=
"world_cup_2018_launcher.js"
></script>
</head>
<body>
<header>
<h1>
Fifa World Cup
</h1>
<p>
Russia 2018
</p>
</header>
<main></main>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_html.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Page"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
world_cup_2018_launcher.html
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Starting Point
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018_launcher_html
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Page
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_substitution_mapping_method_id
</string>
</key>
<value>
<string>
WebPage_getRenderJSSubstitutionMappingDict
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018 Launcher
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119158.41
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
968.15868.5231.7987
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1529087777.33
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119068.37
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_js.js
0 → 100644
View file @
d4009e11
/*globals window, document, RSVP, rJS, jIO, Handlebars, LZString*/
/*jslint indent: 2, maxlen: 80*/
/*jslint nomen: true*/
(
function
(
window
,
document
,
RSVP
,
rJS
,
jIO
,
Handlebars
,
LZString
)
{
"
use strict
"
;
/////////////////////////////////////////////////////////////
// Handlebars
/////////////////////////////////////////////////////////////
var
day_list_template
=
Handlebars
.
compile
(
document
.
getElementById
(
'
day_list_template
'
).
innerHTML
),
day_form_template
=
Handlebars
.
compile
(
document
.
getElementById
(
'
day_form_template
'
).
innerHTML
),
share_template
=
Handlebars
.
compile
(
document
.
getElementById
(
'
share_template
'
).
innerHTML
),
import_form_template
=
Handlebars
.
compile
(
document
.
getElementById
(
'
import_form_template
'
).
innerHTML
),
result_template
=
Handlebars
.
compile
(
document
.
getElementById
(
'
result_template
'
).
innerHTML
),
MY_BET_ID
=
'
my_wc2018_bet
'
,
CODE_DICT_ID
=
'
wc2018_code_dict
'
;
/////////////////////////////////////////////////////////////
// JSON Parser
/////////////////////////////////////////////////////////////
function
WorldCup2018Parser
(
txt
)
{
this
.
_parser
=
JSON
.
parse
(
txt
);
}
WorldCup2018Parser
.
prototype
.
getDocumentList
=
function
()
{
var
result_list
=
[],
i
,
key
,
tmp
,
team_dict
=
{};
// Parse teams
for
(
i
=
this
.
_parser
.
teams
.
length
;
i
>
0
;
i
-=
1
)
{
tmp
=
this
.
_parser
.
teams
[
i
-
1
];
result_list
.
push
({
id
:
'
team_
'
+
tmp
.
id
,
value
:
{},
doc
:
{
portal_type
:
'
World Cup 2018 Team
'
,
title
:
tmp
.
name
,
short_title
:
tmp
.
emojiString
}
});
team_dict
[
tmp
.
id
]
=
tmp
.
name
;
}
// Parse groups
for
(
key
in
this
.
_parser
.
groups
)
{
if
(
this
.
_parser
.
groups
.
hasOwnProperty
(
key
))
{
// Group document
result_list
.
push
({
id
:
'
group_
'
+
this
.
_parser
.
groups
[
key
].
name
.
slice
(
-
1
),
value
:
{},
doc
:
{
portal_type
:
'
World Cup 2018 Group
'
,
title
:
this
.
_parser
.
groups
[
key
].
name
}
});
// Match documents
for
(
i
=
this
.
_parser
.
groups
[
key
].
matches
.
length
;
i
>
0
;
i
-=
1
)
{
tmp
=
this
.
_parser
.
groups
[
key
].
matches
[
i
-
1
];
result_list
.
push
({
id
:
'
match_
'
+
tmp
.
name
,
value
:
{},
doc
:
{
portal_type
:
'
World Cup 2018 Match
'
,
group_match
:
true
,
start_date
:
tmp
.
date
,
home_team
:
tmp
.
home_team
,
home_team_title
:
team_dict
[
tmp
.
home_team
],
home_result
:
tmp
.
home_result
,
away_team
:
tmp
.
away_team
,
away_team_title
:
team_dict
[
tmp
.
away_team
],
away_result
:
tmp
.
away_result
,
finished
:
tmp
.
finished
,
title
:
team_dict
[
tmp
.
home_team
]
+
'
/
'
+
team_dict
[
tmp
.
away_team
]
}
});
}
}
}
/*
// Parse knockout
for (key in this._parser.knockout) {
if (this._parser.knockout.hasOwnProperty(key)) {
// Group document
result_list.push({
id: 'knockout_' + this._parser.knockout[key],
value: {},
doc: {
portal_type: 'World Cup 2018 Knockout',
title: this._parser.knockout[key].name
}
});
// Match documents
for (i = this._parser.knockout[key].matches.length; i > 0; i -= 1) {
tmp = this._parser.knockout[key].matches[i - 1];
result_list.push({
id: 'match_' + tmp.name,
value: {},
doc: {
portal_type: 'World Cup 2018 Match',
start_date: tmp.date,
title: tmp.name
}
});
}
}
}
*/
return
result_list
;
};
/////////////////////////////////////////////////////////////
// Helpers
/////////////////////////////////////////////////////////////
function
getParser
(
storage
)
{
if
(
storage
.
_parser
===
undefined
)
{
return
storage
.
_sub_storage
.
getAttachment
(
storage
.
_document_id
,
storage
.
_attachment_id
,
{
format
:
'
text
'
})
.
push
(
function
(
txt
)
{
storage
.
_parser
=
new
WorldCup2018Parser
(
txt
);
return
storage
.
_parser
;
});
}
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
storage
.
_parser
;
});
}
/////////////////////////////////////////////////////////////
// Storage (ParserStorage clone)
/////////////////////////////////////////////////////////////
function
WorldCupStorage
(
spec
)
{
this
.
_attachment_id
=
spec
.
attachment_id
;
this
.
_document_id
=
spec
.
document_id
;
this
.
_parser_name
=
'
world_cup_2018
'
;
this
.
_sub_storage
=
jIO
.
createJIO
(
spec
.
sub_storage
);
}
WorldCupStorage
.
prototype
.
hasCapacity
=
function
(
capacity
)
{
return
(
capacity
===
"
list
"
)
||
(
capacity
===
'
include
'
);
};
WorldCupStorage
.
prototype
.
buildQuery
=
function
(
options
)
{
if
(
options
===
undefined
)
{
options
=
{};
}
return
getParser
(
this
)
.
push
(
function
(
parser
)
{
return
parser
.
getDocumentList
((
options
.
include_docs
||
false
));
});
};
WorldCupStorage
.
prototype
.
get
=
function
(
id
)
{
return
getParser
(
this
)
.
push
(
function
(
parser
)
{
var
result_list
=
parser
.
getDocumentList
(),
i
;
for
(
i
=
result_list
.
length
;
i
>
0
;
i
-=
1
)
{
if
(
id
===
result_list
[
i
-
1
].
id
)
{
return
result_list
[
i
-
1
].
doc
;
}
}
throw
new
jIO
.
util
.
jIOError
(
"
Cannot find parsed document:
"
+
id
,
404
);
});
};
jIO
.
addStorage
(
'
world_cup_data
'
,
WorldCupStorage
);
/////////////////////////////////////////////////////////////
// Gadget helpers
/////////////////////////////////////////////////////////////
function
isSameDay
(
d1
,
d2
)
{
return
d1
.
getFullYear
()
===
d2
.
getFullYear
()
&&
d1
.
getMonth
()
===
d2
.
getMonth
()
&&
d1
.
getDate
()
===
d2
.
getDate
();
}
function
parseForm
(
form
)
{
var
form_data
=
{},
i
,
len
=
form
.
elements
.
length
;
for
(
i
=
0
;
i
<
len
;
i
+=
1
)
{
if
(
form
.
elements
[
i
].
hasAttribute
(
'
name
'
))
{
form_data
[
form
.
elements
[
i
].
name
]
=
form
.
elements
[
i
].
value
;
}
}
return
form_data
;
}
/////////////////////////////////////////////////////////////
// Gadget
/////////////////////////////////////////////////////////////
rJS
(
window
)
.
ready
(
function
initJio
()
{
this
.
_storage
=
jIO
.
createJIO
({
type
:
'
replicate
'
,
check_local_modification
:
false
,
check_local_creation
:
false
,
check_local_deletion
:
false
,
local_sub_storage
:
{
type
:
'
query
'
,
sub_storage
:
{
// type: 'memory'
type
:
"
indexeddb
"
,
database
:
"
world_cup_2018
"
}
},
signature_sub_storage
:
{
type
:
'
query
'
,
sub_storage
:
{
// type: 'memory'
type
:
"
indexeddb
"
,
database
:
"
world_cup_2018_hash
"
}
},
remote_sub_storage
:
{
type
:
'
world_cup_data
'
,
// document_id: 'world_cup_2018_data.json',
document_id
:
'
https://raw.githubusercontent.com/lsv/
'
+
'
fifa-worldcup-2018/master/data.json
'
,
attachment_id
:
'
enclosure
'
,
sub_storage
:
{
type
:
'
http
'
}
}
});
})
.
declareMethod
(
'
getBet
'
,
function
getBet
()
{
var
gadget
=
this
;
return
gadget
.
_storage
.
get
(
MY_BET_ID
)
.
push
(
undefined
,
function
(
error
)
{
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
(
error
.
status_code
===
404
))
{
return
{
portal_type
:
'
World Cup 2018 Bet
'
};
}
throw
error
;
});
})
.
declareMethod
(
'
updateBet
'
,
function
updateBet
(
new_doc
)
{
var
gadget
=
this
;
return
gadget
.
getBet
()
.
push
(
function
(
doc
)
{
var
key
;
for
(
key
in
new_doc
)
{
if
(
new_doc
.
hasOwnProperty
(
key
))
{
doc
[
key
]
=
new_doc
[
key
];
}
}
return
gadget
.
_storage
.
put
(
MY_BET_ID
,
doc
);
});
})
.
declareMethod
(
'
getCodeDict
'
,
function
getCodeDict
()
{
var
gadget
=
this
;
return
gadget
.
_storage
.
get
(
CODE_DICT_ID
)
.
push
(
function
(
doc
)
{
return
doc
.
code_dict
;
},
function
(
error
)
{
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
(
error
.
status_code
===
404
))
{
return
{};
}
throw
error
;
});
})
.
declareMethod
(
'
updateCodeDict
'
,
function
updateBet
(
new_code_dict
)
{
var
gadget
=
this
;
return
gadget
.
_storage
.
put
(
CODE_DICT_ID
,
{
portal_type
:
'
World Cup 2018 Code Dict
'
,
code_dict
:
new_code_dict
});
})
.
declareService
(
function
startApplication
()
{
var
gadget
=
this
;
// First, copy all JSON data into memory
return
gadget
.
_storage
.
repair
()
.
push
(
function
()
{
return
gadget
.
renderCalendar
();
});
})
.
declareMethod
(
'
renderCalendar
'
,
function
renderLauncher
()
{
var
gadget
=
this
;
return
gadget
.
_storage
.
allDocs
({
query
:
'
portal_type:"World Cup 2018 Match"
'
,
select_list
:
[
'
portal_type
'
,
'
start_date
'
,
'
home_team
'
,
'
title
'
],
sort_on
:
[[
'
start_date
'
,
'
ascending
'
],
[
'
title
'
,
'
ascending
'
]]
})
.
push
(
function
(
result
)
{
var
i
,
length
=
result
.
data
.
rows
.
length
,
match
,
date
,
day_count
,
previous_date
=
null
,
calendar_list
=
[];
for
(
i
=
0
;
i
<
length
;
i
+=
1
)
{
match
=
result
.
data
.
rows
[
i
].
value
;
date
=
new
Date
(
match
.
start_date
);
if
(
previous_date
===
null
)
{
day_count
=
1
;
calendar_list
=
[{
day_string
:
date
.
toLocaleDateString
(),
day_count
:
day_count
,
day_query
:
match
.
start_date
.
substr
(
0
,
10
),
match_list
:
[
match
]
}];
}
else
if
(
!
isSameDay
(
date
,
previous_date
))
{
day_count
+=
1
;
// XXX check day diff?
calendar_list
.
push
({
day_string
:
date
.
toLocaleDateString
(),
day_query
:
match
.
start_date
.
substr
(
0
,
10
),
day_count
:
day_count
,
match_list
:
[
match
]
});
}
else
{
calendar_list
[
calendar_list
.
length
-
1
].
match_list
.
push
(
match
);
}
previous_date
=
date
;
}
gadget
.
element
.
querySelector
(
'
main
'
).
innerHTML
=
day_list_template
({
day_list
:
calendar_list
});
});
})
.
declareMethod
(
'
renderCard
'
,
function
renderLauncher
(
day_query
)
{
var
gadget
=
this
,
date
=
new
Date
(
day_query
),
bet
;
return
gadget
.
getBet
()
.
push
(
function
(
result
)
{
bet
=
result
;
return
gadget
.
_storage
.
allDocs
({
query
:
'
portal_type:"World Cup 2018 Match" AND
'
+
'
start_date:"
'
+
day_query
+
'
%"
'
,
select_list
:
[
'
portal_type
'
,
'
start_date
'
,
'
title
'
,
'
home_team_title
'
,
'
away_team_title
'
],
sort_on
:
[[
'
start_date
'
,
'
ascending
'
],
[
'
title
'
,
'
ascending
'
]]
});
})
.
push
(
function
(
result
)
{
var
i
,
length
=
result
.
data
.
rows
.
length
,
match_list
=
[],
match
;
for
(
i
=
0
;
i
<
length
;
i
+=
1
)
{
match
=
result
.
data
.
rows
[
i
].
value
;
match
.
home_bet_reference
=
result
.
data
.
rows
[
i
].
id
+
'
_A
'
;
match
.
away_bet_reference
=
result
.
data
.
rows
[
i
].
id
+
'
_B
'
;
// init to 0
match
.
home_bet
=
bet
[
match
.
home_bet_reference
]
||
0
;
match
.
away_bet
=
bet
[
match
.
away_bet_reference
]
||
0
;
match
.
home_bet_title
=
match
.
home_team_title
;
match
.
away_bet_title
=
match
.
away_team_title
;
match_list
.
push
(
result
.
data
.
rows
[
i
].
value
);
}
gadget
.
element
.
querySelector
(
'
main
'
).
innerHTML
=
day_form_template
({
day_string
:
date
.
toLocaleDateString
(),
match_list
:
match_list
});
});
})
.
declareMethod
(
'
renderExport
'
,
function
renderExport
()
{
var
gadget
=
this
,
match_list
;
return
gadget
.
_storage
.
allDocs
({
query
:
'
portal_type:"World Cup 2018 Match" AND
'
+
'
group_match: true
'
,
select_list
:
[
'
start_date
'
],
sort_on
:
[[
'
start_date
'
,
'
ascending
'
],
[
'
title
'
,
'
ascending
'
]]
})
.
push
(
function
(
result
)
{
match_list
=
result
.
data
.
rows
;
return
gadget
.
getBet
();
})
.
push
(
function
(
doc
)
{
var
i
,
j
,
result
=
''
,
key
,
suffix_list
=
[
'
_A
'
,
'
_B
'
];
for
(
i
=
0
;
i
<
match_list
.
length
;
i
+=
1
)
{
for
(
j
=
0
;
j
<
suffix_list
.
length
;
j
+=
1
)
{
key
=
'
match_
'
+
(
i
+
1
)
+
suffix_list
[
j
];
if
((
!
doc
.
hasOwnProperty
(
key
))
||
(
parseInt
(
doc
[
key
],
10
)
>
15
))
{
// Bet between 0 and 15
return
gadget
.
renderCard
(
match_list
[
i
].
value
.
start_date
.
substr
(
0
,
10
));
}
result
+=
parseInt
(
doc
[
key
],
10
).
toString
(
16
);
}
}
gadget
.
element
.
querySelector
(
'
main
'
).
innerHTML
=
share_template
({
code
:
LZString
.
compressToBase64
(
result
)
});
});
})
.
declareMethod
(
'
renderImport
'
,
function
renderExport
()
{
var
gadget
=
this
;
return
gadget
.
getCodeDict
()
.
push
(
function
(
code_dict
)
{
var
key
,
import_string
=
''
;
for
(
key
in
code_dict
)
{
if
(
code_dict
.
hasOwnProperty
(
key
))
{
import_string
+=
'
\n
'
+
key
+
'
|
'
+
code_dict
[
key
];
}
}
gadget
.
element
.
querySelector
(
'
main
'
).
innerHTML
=
import_form_template
({
password_text
:
import_string
});
});
})
.
declareMethod
(
'
renderResult
'
,
function
renderExport
()
{
var
gadget
=
this
,
match_list
;
return
gadget
.
_storage
.
allDocs
({
query
:
'
portal_type:"World Cup 2018 Match" AND finished:true AND
'
+
'
group_match: true
'
,
select_list
:
[
'
start_date
'
,
'
home_result
'
,
'
away_result
'
,
'
home_team_title
'
,
'
away_team_title
'
,
'
title
'
],
sort_on
:
[[
'
start_date
'
,
'
ascending
'
],
[
'
title
'
,
'
ascending
'
]]
})
.
push
(
function
(
result
)
{
match_list
=
result
.
data
.
rows
;
return
gadget
.
getCodeDict
();
})
.
push
(
function
(
code_dict
)
{
// First, decode all codes
var
key
,
i
,
result_list
,
player_list
=
[],
score_list
=
[],
score
,
home_result
,
away_result
,
home_bet
,
away_bet
,
key_count
=
0
,
decoded
;
for
(
key
in
code_dict
)
{
if
(
code_dict
.
hasOwnProperty
(
key
))
{
key_count
+=
1
;
result_list
=
[];
decoded
=
LZString
.
decompressFromBase64
(
code_dict
[
key
]);
for
(
i
=
0
;
i
<
decoded
.
length
;
i
+=
1
)
{
result_list
.
push
(
parseInt
(
decoded
[
i
],
16
));
}
code_dict
[
key
]
=
{
result_list
:
result_list
,
score
:
0
};
}
}
if
(
!
key_count
)
{
return
gadget
.
renderImport
();
}
// Check match result
for
(
i
=
0
;
i
<
match_list
.
length
;
i
+=
1
)
{
home_result
=
match_list
[
i
].
value
.
home_result
;
away_result
=
match_list
[
i
].
value
.
away_result
;
for
(
key
in
code_dict
)
{
if
(
code_dict
.
hasOwnProperty
(
key
))
{
// console.log(match_list[i]);
home_bet
=
code_dict
[
key
].
result_list
[
2
*
(
parseInt
(
match_list
[
i
].
id
.
slice
(
6
),
10
)
-
1
)];
away_bet
=
code_dict
[
key
].
result_list
[
2
*
(
parseInt
(
match_list
[
i
].
id
.
slice
(
6
),
10
)
-
1
)
+
1
];
if
((
home_result
===
home_bet
)
&&
(
away_result
===
away_bet
))
{
// Correct score!
console
.
log
(
'
score
'
,
home_bet
,
away_bet
,
match_list
[
i
].
value
.
title
,
home_result
,
away_result
);
score
=
4
;
}
else
if
(((
home_result
>
away_result
)
&&
(
home_bet
>
away_bet
))
||
((
home_result
===
away_result
)
&&
(
home_bet
===
away_bet
))
||
((
home_result
<
away_result
)
&&
(
home_bet
<
away_bet
)))
{
// Found correct winner
console
.
log
(
'
guess
'
,
home_bet
,
away_bet
,
match_list
[
i
].
value
.
title
,
home_result
,
away_result
);
score
=
2
;
}
else
{
// Be nice, and always give a point
console
.
log
(
'
loser
'
,
home_bet
,
away_bet
,
match_list
[
i
].
value
.
title
,
home_result
,
away_result
);
score
=
1
;
}
code_dict
[
key
].
score
+=
score
;
/*
if (i === 0) {
player_list.push({
name: key,
score: score
});
}
*/
}
}
}
// Render player list
for
(
key
in
code_dict
)
{
if
(
code_dict
.
hasOwnProperty
(
key
))
{
player_list
.
push
({
name
:
key
,
score
:
code_dict
[
key
].
score
});
}
}
player_list
.
sort
(
function
(
a
,
b
)
{
return
b
.
score
-
a
.
score
;
});
for
(
i
=
0
;
i
<
player_list
.
length
;
i
+=
1
)
{
if
((
i
===
0
)
||
(
player_list
[
i
].
score
!==
player_list
[
i
-
1
].
score
))
{
score_list
.
push
({
name
:
player_list
[
i
].
name
,
score
:
player_list
[
i
].
score
});
}
else
{
score_list
[
score_list
.
length
-
1
].
name
+=
'
,
'
+
player_list
[
i
].
name
;
}
}
// console.log(code_dict);
gadget
.
element
.
querySelector
(
'
main
'
).
innerHTML
=
result_template
({
player_list
:
score_list
,
match_count
:
match_list
.
length
});
});
})
.
onEvent
(
'
click
'
,
function
trapClickEvent
(
evt
)
{
// Use click bubble
var
button_parent
=
evt
.
target
.
closest
(
'
button[data-wc2018]
'
);
if
(
button_parent
!==
null
)
{
evt
.
preventDefault
();
return
this
[
button_parent
.
getAttribute
(
'
data-wc2018
'
)](
button_parent
.
getAttribute
(
'
data-wc2018-param
'
)
);
}
},
false
,
false
)
.
declareMethod
(
'
submitBet
'
,
function
submitBet
(
evt
)
{
var
gadget
=
this
;
return
gadget
.
updateBet
(
parseForm
(
evt
.
target
))
.
push
(
function
()
{
return
gadget
.
renderExport
();
});
})
.
declareMethod
(
'
submitNewCode
'
,
function
submitNewCode
(
evt
)
{
var
gadget
=
this
;
return
gadget
.
getCodeDict
()
.
push
(
function
(
code_dict
)
{
var
parsed_form
=
parseForm
(
evt
.
target
),
// Ensure code can be decoded/parsed
decoded
=
LZString
.
decompressFromBase64
(
parsed_form
.
code
);
if
(
decoded
)
{
code_dict
[
parsed_form
.
player
]
=
parsed_form
.
code
;
return
gadget
.
updateCodeDict
(
code_dict
)
.
push
(
function
()
{
return
gadget
.
renderImport
();
});
}
});
})
.
declareMethod
(
'
submitImport
'
,
function
submitImport
(
evt
)
{
var
parsed_form
=
parseForm
(
evt
.
target
),
password_text
=
parsed_form
.
password_text
,
line_list
=
password_text
.
split
(
'
\n
'
),
sub_list
,
code_dict
=
{},
i
,
gadget
=
this
;
for
(
i
=
0
;
i
<
line_list
.
length
;
i
+=
1
)
{
sub_list
=
line_list
[
i
].
split
(
'
|
'
);
code_dict
[
sub_list
[
0
]]
=
sub_list
[
1
];
}
return
gadget
.
updateCodeDict
(
code_dict
)
.
push
(
function
()
{
return
gadget
.
renderResult
();
});
})
.
onEvent
(
'
submit
'
,
function
trapSubmitEvent
(
evt
)
{
evt
.
preventDefault
();
var
form_parent
=
evt
.
target
.
closest
(
'
form[data-wc2018]
'
);
if
(
form_parent
!==
null
)
{
return
this
[
form_parent
.
getAttribute
(
'
data-wc2018
'
)](
evt
);
}
});
}(
window
,
document
,
RSVP
,
rJS
,
jIO
,
Handlebars
,
LZString
));
\ No newline at end of file
bt5/erp5_web_but/PathTemplateItem/web_page_module/world_cup_2018_launcher_js.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
world_cup_2018_launcher.js
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018_launcher_js
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Script
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018 Launcher JS
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119270.69
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
968.19633.6812.24251
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1529314173.15
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528119162.78
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/PathTemplateItem/web_site_module/world_cup_2018.xml
0 → 100644
View file @
d4009e11
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Site"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Authenticated
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Member
</string>
<string>
Owner
</string>
<string>
Reviewer
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_folders_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Copy_or_Move_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Delete_objects_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Authenticated
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Member
</string>
<string>
Owner
</string>
<string>
Reviewer
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
__before_publishing_traverse__
</string>
</key>
<value>
<object>
<klass>
<global
name=
"MultiHook"
module=
"ZPublisher.BeforeTraverse"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_defined_in_class
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
_hookname
</string>
</key>
<value>
<string>
__before_publishing_traverse__
</string>
</value>
</item>
<item>
<key>
<string>
_list
</string>
</key>
<value>
<list>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</list>
</value>
</item>
<item>
<key>
<string>
_prior
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
__before_traverse__
</string>
</key>
<value>
<dictionary>
<item>
<key>
<tuple>
<int>
99
</int>
<string>
ERP5 Web Site/world_cup_2018
</string>
</tuple>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
_identity_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_x_frame_options
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_content_security_policy
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key>
<string>
_range_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
available_language
</string>
</key>
<value>
<tuple>
<string>
en
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
caching_policy/must-revalidate
</string>
<string>
aggregate/web_page_module/world_cup_2018_launcher_html
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
configuration_content_security_policy
</string>
</key>
<value>
<string>
default-src \'none\'; img-src \'self\'; media-src \'self\'; connect-src \'self\' raw.githubusercontent.com; script-src \'self\' \'unsafe-eval\'; style-src \'self\';
</string>
</value>
</item>
<item>
<key>
<string>
configuration_x_frame_options
</string>
</key>
<value>
<string>
SAMEORIGIN
</string>
</value>
</item>
<item>
<key>
<string>
container_layout
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
content_layout
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
custom_render_method_id
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
world_cup_2018
</string>
</value>
</item>
<item>
<key>
<string>
layout_configuration_form_id
</string>
</key>
<value>
<string>
WebSection_viewRenderJSPreference
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Site
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
skin_selection_name
</string>
</key>
<value>
<string>
RJS
</string>
</value>
</item>
<item>
<key>
<string>
static_language_selection
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
World Cup 2018
</string>
</value>
</item>
<item>
<key>
<string>
visible
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"WebSiteTraversalHook"
module=
"Products.ERP5.Document.WebSite"
/>
</pickle>
<pickle>
<dictionary/>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
category_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAc=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"6"
aka=
"AAAAAAAAAAY="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1528117779.85
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"7"
aka=
"AAAAAAAAAAc="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
968.59.40410.23688
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1529060918.21
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_but/bt/dependency_list
0 → 100644
View file @
d4009e11
erp5_web_renderjs_ui
\ No newline at end of file
bt5/erp5_web_but/bt/template_format_version
0 → 100644
View file @
d4009e11
1
\ No newline at end of file
bt5/erp5_web_but/bt/template_keep_last_workflow_history_only_path_list
0 → 100644
View file @
d4009e11
document_module/world_cup_2018*
image_module/world_cup_2018*
web_page_module/world_cup_2018*
web_site_module/world_cup_2018
\ No newline at end of file
bt5/erp5_web_but/bt/template_keep_workflow_path_list
0 → 100644
View file @
d4009e11
document_module/world_cup_2018*
image_module/world_cup_2018*
web_page_module/world_cup_2018*
web_site_module/world_cup_2018
\ No newline at end of file
bt5/erp5_web_but/bt/template_path_list
0 → 100644
View file @
d4009e11
document_module/world_cup_2018*
image_module/world_cup_2018*
web_page_module/world_cup_2018*
web_site_module/world_cup_2018
web_site_module/world_cup_2018/**
\ No newline at end of file
bt5/erp5_web_but/bt/title
0 → 100644
View file @
d4009e11
erp5_web_but
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment