# -*- coding: utf-8 -*- from django.shortcuts import render_to_response from django.http import HttpResponseRedirect, HttpResponse from django.template import RequestContext from django.shortcuts import get_object_or_404 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage #models from models import Exposition from accounts.models import User from functions.custom_views import ExpoListView, ExpoMixin from django.views.generic import ListView # import json from django.utils.translation import ugettext as _ class ExpositionView(ExpoListView): model = Exposition template_name = 'event_catalog.html' class ExpositionVisitors(ExpositionView): model = Exposition template_name = 'event_visitors.html' def get_queryset(self): params = self.get_params() for param in params: if param.get('type') == 'event': exp = Exposition.objects.safe_get(url=param.get('url')) #query = exp.users param['name'] = exp.name params.append({'type':'visitors', 'name':_(u'Посетители')}) self.params = params return exp.users.all() class ExpositionMembers(ExpoListView): model = Exposition template_name = 'event_members.html' def get_queryset(self): params = self.get_params() for param in params: if param.get('type') == 'event': exp = Exposition.objects.safe_get(url=param.get('url')) param['name'] = exp.name #query = exp.users params.append({'type':'members', 'name':_(u'Участники')}) self.params = params return exp.company.all() def exposition_add_calendar(request, id): args = {'success': False} user = request.user if user.is_authenticated(): exp = Exposition.objects.safe_get(id=id) if exp: user.calendar.expositions.add(exp) args['success'] = True else: args['not_authorized'] = True args['success'] = True return HttpResponse(json.dumps(args), content_type='application/json') def exposition_remove_calendar(request, id): args = {'success': False} user = request.user if user.is_authenticated(): exp = Exposition.objects.safe_get(id=id) if exp: user.calendar.expositions.remove(exp) args['success'] = True else: args['not_authorized'] = True args['success'] = True return HttpResponse(json.dumps(args), content_type='application/json') def exposition_visit(request, id): args = {'success': False} user = request.user if user.is_authenticated(): exp = Exposition.objects.safe_get(id=id) if exp: exp.users.add(user) args['success'] = True else: args['not_authorized'] = True args['success'] = True return HttpResponse(json.dumps(args), content_type='application/json') def exposition_unvisit(request, id): args = {'success': False} user = request.user if user.is_authenticated(): exp = Exposition.objects.safe_get(id=id) if exp: exp.users.remove(user) else: args['not_authorized'] = True args['success'] = True return HttpResponse(json.dumps(args), content_type='application/json')