# Society Self-Service # Copyright © 2018-2019 Yingtong Li (RunasSudo) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from django.contrib.auth.decorators import login_required from django.conf import settings from django.db import transaction from django.http import HttpResponse from django.shortcuts import render, redirect from django.urls import reverse from . import models @login_required def index(request): try: member = models.Member.objects.get(email=request.user.email) except models.Member.DoesNotExist: member = None return render(request, 'ssmembership/index.html', {'member': member, 'years': models.Member.YEARS}) if request.method != 'POST': return render(request, 'ssmembership/index.html', {'member': member, 'years': models.Member.YEARS}) # Update membership member.student_id = request.POST['student_id'] member.first_name = request.POST['first_name'] member.last_name = request.POST['last_name'] member.phone = request.POST['phone'] member.year = int(request.POST['year']) member.is_msa = True if request.POST['is_msa'] == '1' else '0' errors = member.validation_problems() if not member or len(errors) > 0: return render(request, 'ssmembership/index.html', { 'member': member, 'years': models.Member.YEARS, 'errors': errors }) member.save() return render(request, 'ssmembership/index.html', {'member': member, 'years': models.Member.YEARS}) return render(request, 'ssmembership/index.html', {'member': member})