Exemplo n.º 1
0
Arquivo: views.py Projeto: Metalab/mos
def announce(request):
    form = AnnouncementForm(request.POST or None)
    if not request.POST or not form.is_valid():
        context = {'form': form, 'user': request.user}
        return render(request, 'announce/write_message.html', context)
    # Valid message: send it!
    users = get_active_members()
    if form.cleaned_data['to'] != 'all':
        users = users.filter(paymentinfo__bank_collection_allowed=True)\
                     .filter(paymentinfo__bank_collection_mode__id=4)
        for u in users:
            debt = u.contactinfo.get_debt_for_month(date.today())
            if debt == 0:
                users = users.exclude(pk=u.pk)

    for user in users:
        ci = ContactInfo.objects.get(user=user)
        try:
            send_mail(form.cleaned_data['subject'],
                      form.cleaned_data['body'],
                      settings.HOS_ANNOUNCE_FROM,
                      [user.email],
                      fail_silently=False)
            ci.last_email_ok = True
            ci.save()
        except smtplib.SMTPException as e:
            f = open(settings.HOS_ANNOUNCE_LOG, 'a')
            f.write('\n\n'+user.email)
            f.write('\n'+repr(e))
            ci.last_email_ok = False
            ci.save()
            f.close()

    context = {'form': form, 'user': request.user, 'users': users}
    return render(request, 'announce/message_sent.html', context)
Exemplo n.º 2
0
def announce(request):
    form = AnnouncementForm(request.POST or None)
    if not request.POST or not form.is_valid():
        context = {'form': form, 'user': request.user}
        return render(request, 'announce/write_message.html', context)
    # Valid message: send it!
    users = get_active_members()
    if form.cleaned_data['to'] != 'all':
        users = users.filter(paymentinfo__bank_collection_allowed=True)\
                     .filter(paymentinfo__bank_collection_mode__id=4)
        for u in users:
            debt = u.contactinfo.get_debt_for_month(date.today())
            if debt == 0:
                users = users.exclude(pk=u.pk)

    for user in users:
        ci = ContactInfo.objects.get(user=user)
        try:
            send_mail(form.cleaned_data['subject'],
                      form.cleaned_data['body'],
                      settings.HOS_ANNOUNCE_FROM, [user.email],
                      fail_silently=False)
            ci.last_email_ok = True
            ci.save()
        except smtplib.SMTPException as e:
            f = open(settings.HOS_ANNOUNCE_LOG, 'a')
            f.write('\n\n' + user.email)
            f.write('\n' + repr(e))
            ci.last_email_ok = False
            ci.save()
            f.close()

    context = {'form': form, 'user': request.user, 'users': users}
    return render(request, 'announce/message_sent.html', context)
Exemplo n.º 3
0
Arquivo: views.py Projeto: hex2a/mos
def display_main_page(request):
    events = Event.future.get_n(5)
    changes = WikiChange.objects.order_by('-updated')[:5]
    projects = Project.all.order_by('-created_at')[:5]
    randommembers = list(get_active_members().exclude(contactinfo__image="").order_by('?')[:7])

    context = custom_settings_main(request)
    context.update(
        {'event_error_id': ' ',
        'latestevents': events,
        'latestchanges': changes,
        'latestprojects': projects,
        'randommembers': randommembers}
    )
    return render(request, 'index.html', context)
Exemplo n.º 4
0
def display_main_page(request):
    events = Event.future.get_n(5)
    changes = WikiChange.objects.order_by('-updated')[:5]
    projects = Project.all.order_by('-created_at')[:5]
    randommembers = list(get_active_members().exclude(contactinfo__image="").order_by('?')[:7])

    context = custom_settings_main(request)
    context.update(
        {'event_error_id': ' ',
        'latestevents': events,
        'latestchanges': changes,
        'latestprojects': projects,
        'randommembers': randommembers}
    )
    return render(request, 'index.html', context)
Exemplo n.º 5
0
    def handle(self, *args, **kwargs):
        for user in get_active_members():
            user.is_active = True
            user.save()

            print(user, user.email)