Exemple #1
0
def email(request, group_id):
    '''Creates a view to send emails to a group,the address of the group members are\
    append to a list and read subject and body of email is send to the list.'''
    add = []
    group = Group.objects.get(id=group_id)
    members = group.member_set.all()
    for member in members:
        add.append(member.email)
    addr_list = [str(x) for x in add]
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            subject = form.cleaned_data['subject']
            body = form.cleaned_data['body']
            from_id = form.cleaned_data['from_id']
            try:
                subject = str(subject)
                body = str(body)
                from_id = str(from_id)
                send_mail(subject,
                          body,
                          from_id,
                          addr_list,
                          fail_silently=False)
            except:
                pass
            return HttpResponseRedirect(reverse('index'))

    else:
        form = EmailForm()
    context = {'group': group, 'members': members, 'form': form}
    return render(request, 'groups/email.html', context)
def email(request,group_id):
    '''Creates a view to send emails to a group,the address of the group members are\
    append to a list and read subject and body of email is send to the list.'''
    add = []
    group = Group.objects.get(id=group_id)
    members = group.member_set.all()
    for member in members:
        add.append(member.email)
    addr_list  = [str(x) for x in add]
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            subject =form.cleaned_data['subject']
            body = form.cleaned_data['body']
            from_id = form.cleaned_data['from_id']
            try:
                subject = str(subject)
                body = str(body)
                from_id = str(from_id)
                send_mail(subject, body, from_id, addr_list, fail_silently=False)
            except:
                pass
            return HttpResponseRedirect(reverse('index'))

    else:
        form = EmailForm()
    context = {'group': group,'members' :members, 'form' : form}
    return render(request, 'groups/email.html', context)
Exemple #3
0
def view_group(request, group_pk):
    """
    This view simply displays the group page to the user, depending on the
    request pk.
    """

    date = datetime.date.today()
    start_of_week = date - datetime.timedelta( 7 )

    group = get_object_or_404( WorkoutGroup, pk=group_pk )
    member_workouts = {}
    for member in group.members.all():
        workouts = member.workout_set.all()
        member_workouts[member] = workouts

    if request.method == 'POST':
        if 'new-goal-submit' in request.POST:
            goal_form = WorkoutGoalForm(request.POST)
            if goal_form.is_valid():
                goal = goal_form.save(commit=False)
                goal.save()
                group.goals.add( goal )
                return redirect('groups.views.view_group', group.pk)
        else:
            goal_form = WorkoutGoalForm() 
        
        if 'new-member-submit' in request.POST:
            new_member_form = EmailForm(request.POST)
            if new_member_form.is_valid():
                new_member_email = new_member_form.cleaned_data.get('email')
                new_user = User.objects.get(email = new_member_email)
                new_member = UserProfile.objects.get(user=new_user)
                group.members.add(new_member)
                return redirect('groups.views.view_group', group.pk)
        else:
            new_member_form = EmailForm()
    else:
        goal_form = WorkoutGoalForm()
        new_member_form = EmailForm()
        

    completed_goals = group.goals.filter(achieved=True)
        

    return render(request, 'view_group.html', {
        'group': group,
        'goal_form' : goal_form,
        'member_workouts' : member_workouts,
        'completed_goals' : completed_goals,
        "new_member_form" : new_member_form,
    },
    )