Mercurial > sat_legacy_website
annotate sat_website/views.py @ 29:b45621706d83
use Bootstrap carousels to display images and videos galeries:
- one carousel for a 3x3 thumbnails grid
- a second one in a modal window to view bigger pictures when a thumbnail is clicked
author | souliane <souliane@mailoo.org> |
---|---|
date | Wed, 21 Jan 2015 20:13:19 +0100 |
parents | eda4deefecd1 |
children | 73c6333fd124 |
rev | line source |
---|---|
0 | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | |
3 | |
4 """ | |
5 SàT website: Salut à Toi's presentation website | |
6 Copyright (C) 2012 Jérôme Poisson (goffi@goffi.org) | |
7 | |
8 This file is part of SàT website. | |
9 | |
10 SàT website is free software: you can redistribute it and/or modify | |
11 it under the terms of the GNU Affero General Public License as published by | |
12 the Free Software Foundation, either version 3 of the License, or | |
13 (at your option) any later version. | |
14 | |
15 Foobar is distributed in the hope that it will be useful, | |
16 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 GNU Affero General Public License for more details. | |
19 | |
20 You should have received a copy of the GNU Affero General Public License | |
21 along with Foobar. If not, see <http://www.gnu.org/licenses/>. | |
22 """ | |
23 from django.http import Http404 | |
24 from django.shortcuts import render_to_response | |
2
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
25 from django.core.context_processors import csrf |
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
26 from django.utils.translation import ugettext_lazy as _ |
0 | 27 from collections import OrderedDict |
1
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
28 import screenshots, social_contract, utils |
0 | 29 |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
30 CATEGORIES = OrderedDict([('frontends', (_(u"Presentation"), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
31 OrderedDict([("features", _(u"Features")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
32 ("frontends", _(u"Frontends")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
33 ("screenshots", _(u"Screenshots & Videos")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
34 ]))), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
35 ('principles', (_(u"Technical area"), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
36 OrderedDict([("principles", _(u"Principles")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
37 ("specifications", _(u"Specifications")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
38 ("screenshots_tech", _(u"Screenshots & Videos")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
39 ("downloads", _(u"Downloads")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
40 ("developers", _(u"Developers corner")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
41 ]))), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
42 ('community', (_(u"Community"), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
43 OrderedDict([("community", _(u"Get in touch")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
44 ("association", _(u"Association")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
45 ("links", _(u"Links")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
46 ]))), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
47 ]) |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
48 |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
49 CATEGORIES_RIGHT = OrderedDict([("adhesion", _(u"Adhesion")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
50 ("social_contract", _(u"Social contract")), |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
51 ]) |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
52 |
0 | 53 |
54 def overview(request): | |
55 return render_to_response('sat_website/overview.html') | |
56 | |
57 def generic_cat(request, category): | |
1
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
58 latest_dl_path, latest_version = utils.get_latest_sat() |
2
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
59 context = { |
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
60 "available_languages": ['fr', 'en'], |
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
61 "categories": CATEGORIES, |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
62 "categories_right": CATEGORIES_RIGHT, |
1
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
63 "category": category, |
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
64 "latest_dl_path": latest_dl_path, |
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
65 "latest_version": latest_version, |
a49aa1b823f6
added SàT archive download link (detect the last version)
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
66 } |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
67 |
2
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
68 context.update(csrf(request)) |
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
69 |
0 | 70 if not category or category == "overview": |
71 return render_to_response('sat_website/overview.html', context) | |
72 elif category == "screenshots": | |
73 context["screenshots"] = screenshots.screenshots | |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
74 elif category == "screenshots_tech": |
29
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
75 context["screenshots"] = screenshots.screenshots_tech |
0 | 76 elif category == "social_contract": |
77 context["SOCIAL_CONTRACT"] = social_contract.get_social_contract() | |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
78 |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
79 def all_keys(cats): |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
80 subcats = [value[1].keys() for value in cats.values() if isinstance(value, tuple)] |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
81 return sum(subcats, cats.keys()) |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
82 |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
4
diff
changeset
|
83 if category in all_keys(CATEGORIES) or category in all_keys(CATEGORIES_RIGHT): |
0 | 84 return render_to_response('sat_website/%s.html' % (category,), context) |
85 else: | |
86 raise Http404 |