~ronnie.vd.c/loco-team-portal/loco-map-list

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