コード例 #1
0
def messages(request, association_pseudo):
    association = get_object_or_404(Association,pseudo=association_pseudo)
    if association.est_cachee_a(request.user.profile):
        return redirect(index)
    membres = Adhesion.objects.filter(association__pseudo = association_pseudo).order_by('-ordre', 'eleve__last_name')
    list_messages = Message.accessibles_par(request.user.profile).filter(association__pseudo=association_pseudo).order_by('-date')
    return render(request, 'association/messages.html', {'association' : association, 'list_messages': list_messages, 'membres': membres})
コード例 #2
0
def search(request):
    query_string = ''
    found_messages = None
    found_users = None
    if ('q' in request.GET) and request.GET['q'].strip():
        query_string = request.GET['q']
        message_query = get_query(query_string, ['objet', 'contenu'])
        user_query = get_query(
            query_string,
            ['first_name', 'last_name', 'phone', 'chambre', 'user__username'])
        found_messages = Message.accessibles_par(
            request.user.profile).filter(message_query).order_by('-date')
        found_users = UserProfile.objects.filter(user_query).order_by(
            'user__username')

        if query_string.lower() == 'dieu':
            found_users = UserProfile.objects.filter(
                user__username__in=['11leuren', '15veaux'])

    return render(
        request, 'recherche/resultats.html', {
            'query_string': query_string,
            'list_messages': found_messages,
            'list_users': found_users
        })
コード例 #3
0
def tous(request):
    all_messages = Message.accessibles_par(request.user.profile)
    
    paginator = Paginator(all_messages, 15)
    page = request.GET.get('page')
    try:
        list_messages = paginator.page(page)
    except PageNotAnInteger:        
        list_messages = paginator.page(1)
    except EmptyPage:        
        list_messages = paginator.page(paginator.num_pages)
    
    return render(request, 'messages/tous.html', {'list_messages': list_messages})
コード例 #4
0
def index_json(request):
    eleve = request.user.profile
    list_messages = Message.accessibles_par(eleve).exclude(lu=eleve)
    response = HttpResponse(content_type='application/json')
    response.write(simplejson.dumps([{
            'id': m.id,
            'association': m.association.nom,
            'association_pseudo': m.association.pseudo,
            'objet': m.objet,
            'contenu': m.html_to_text(),
            'date': str(m.date.day)+'/'+str(m.date.month)+'/'+str(m.date.year)+ " " + str(m.date.hour) + ":" + str(m.date.minute),
            'expediteur': m.expediteur.user.username,
            'important': request.user.profile in m.important.all()
        } for m in list_messages]))
    return response
コード例 #5
0
def index(request):
    #On sélectionne les messages publics, et les messages dont l'utilisateur fait partie de l'assoce expeditrice, ou de l'assoce destinataires.
    if not request.user.is_authenticated():
        url='http://mines-paris.eu/'
        return render(request, '1y1b/redirect.html', {'url': url})
    else:
        eleve = request.user.profile
        list_messages = Message.accessibles_par(eleve).exclude(lu=eleve)
        paginator = Paginator(list_messages, 15)
        page = request.GET.get('page')
        try:
            list_messages = paginator.page(page)
        except PageNotAnInteger:
            list_messages = paginator.page(1)
        except EmptyPage:
            list_messages = paginator.page(paginator.num_pages)
        return render(request, 'messages/index.html', {'list_messages': list_messages})
コード例 #6
0
 def render(self, context):
     eleve = UserProfile.objects.get(
         user__username=self.login.resolve(context))
     context['nombre_de_messages'] = Message.accessibles_par(eleve).exclude(
         lu=eleve).count()
     return ''
コード例 #7
0
def importants(request):
    eleve = request.user.profile
    list_messages = Message.accessibles_par(eleve).filter(important=eleve)
    return render(request, 'messages/importants.html', {'list_messages': list_messages})