1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# -*- coding: utf-8 -*-
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.contrib.auth import logout
from django.utils.translation import check_for_language
from django.conf import settings
def index(request):
from events.models import GlobalEvent, TeamEvent
team_event_count = TeamEvent.objects.next_events().count()
global_event_list = GlobalEvent.objects.next_events()[:5]
context = {'team_event_count': team_event_count,
'global_event_list': global_event_list,}
return render_to_response('index.html', context,
RequestContext(request))
def loco_council(request):
context = {}
return render_to_response('loco_council.html', context,
RequestContext(request))
def about(request):
context = {}
return render_to_response('about.html', context,
RequestContext(request))
def about_loco(request):
context = {}
return render_to_response('about_loco.html', context,
RequestContext(request))
def irc_chat(request):
context = {}
return render_to_response('irc_chat.html', context,
RequestContext(request))
def using_locodir(request):
context = {}
return render_to_response('using_locodir.html', context,
RequestContext(request))
def site_logout(request):
logout(request)
return HttpResponseRedirect('/')
def set_language(request):
"""
Change the language for a user
"""
next = request.META.get('HTTP_REFERER', None)
if not next:
next = '/'
response = HttpResponseRedirect(next)
lang = request.GET.get('lang', '')
if check_for_language(lang):
if hasattr(request, 'session'):
request.session['django_language'] = lang
response.set_cookie(settings.LANGUAGE_COOKIE_NAME,lang)
return response
def site_search(request):
from common.forms import SiteSearchForm
from common.utils import simple_iterator
teams = []
global_events = []
team_events = []
venues = []
meetings = []
q = None
form = SiteSearchForm(data=request.GET)
if form.is_valid():
q = form.cleaned_data.get('q', None)
if q is not None:
teams = search_teams(q)
global_events = search_global_events(q)
team_events = search_team_events(q)
venues = search_venues(q)
meetings = search_meetings(q)
context = {
'teams': teams,
'global_events': global_events,
'team_events': team_events,
'venues': venues,
'meetings': meetings,
'q': q,
'colcycle' : simple_iterator('col_left', 'col_right'),
}
return render_to_response('site_search.html', context,
RequestContext(request))
def search_teams(q):
from teams.models import Team
from django.db.models import Q
team_list = Team.objects.filter(Q(name__icontains=q) | Q(countries__name__icontains=q) | Q(city__icontains=q) | Q(languages__name__icontains=q)).order_by('name').distinct()
return team_list
def search_global_events(q):
from events.models import GlobalEvent
from django.db.models import Q
global_event_list = GlobalEvent.objects.next_events()
global_event_list = global_event_list.filter(Q(name__icontains=q)).distinct()
return global_event_list
def search_team_events(q):
from events.models import TeamEvent
from django.db.models import Q
team_event_list = TeamEvent.objects.next_events()
team_event_list = team_event_list.filter(Q(name__icontains=q) | Q(teams__name__icontains=q) | Q(venue__name__icontains=q) | Q(venue__city__icontains=q) | Q(venue__country__name__icontains=q) | Q(global_event__name__icontains=q)).distinct()
return team_event_list
def search_venues(q):
from venues.models import Venue
from django.db.models import Q
venue_list = Venue.objects.filter(Q(name__icontains=q) | Q(country__name__icontains=q) | Q(city__icontains=q) | Q(address__icontains=q)).order_by('name').distinct()
return venue_list
def search_meetings(q):
from meetings.models import TeamMeeting
from django.db.models import Q
meeting_list = TeamMeeting.objects.next_meetings()
meeting_list = meeting_list.filter(Q(name__icontains=q) | Q(teams__name__icontains=q) | Q(agenda__title__icontains=q)).distinct()
return meeting_list
|