def add_user(content): rows = content.split('\r') for row in rows[1:]: row = row.split(',') username = row[1].lower() + row[0].lower() try: user = User.objects.get(username = username) except ObjectDoesNotExist: user = User.objects.create_user(username) user.set_password(row[2]) user.first_name = row[0] user.last_name = row[1] admin_bol = row[5].lower() if admin_bol == 'admin': user.is_staff = True else: user.is_staff = False user.save() try: uinfo = UserProfile.objects.get(user_id=user.id) except ObjectDoesNotExist: uinfo = UserProfile() uinfo.user = user uinfo.school = row[3] if re.match("\d+", row[4]): uinfo.grade = int(row[4]) uinfo.save()
def edit(request): #create user profile status = '' if request.method == 'POST': if 'email' in request.POST: email = request.POST['email'] username = request.POST['username'] password = request.POST['password'] lastname = request.POST['lastname'] firstname = request.POST['firstname'] middlename = request.POST['middlename'] status = request.POST.get('status','') education = request.POST.get('education','') year = request.POST.get('year','1') course = request.POST.get('course','1') user = User.objects.create_user(username, email, password) user.first_name = firstname user.last_name = lastname user.save() user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) profile = UserProfile() profile.user = user profile.middle_name = middlename profile.status = status profile.education = education profile.grade = course profile.year = year profile.save() form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # get profile from user if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() m = request.user.user_profile.all()[0] status = m.status m.photo = form.cleaned_data['image'] m.save() if 'about' in request.POST or 'teaching' in request.POST or 'science' in request.POST or 'publications' in request.POST: if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() m = request.user.user_profile.all()[0] if 'about' in request.POST: m.about = request.POST.get('about','') if 'teaching' in request.POST: m.teaching = request.POST.get('teaching','') if 'science' in request.POST: m.science = request.POST.get('science','') if 'publications' in request.POST: m.publications = request.POST.get('publications','') m.save() context = get_context(request) context['type'] = status return render(request, 'main/edit.html', context) elif request.user.is_authenticated(): context = get_context(request) if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() context['type'] = request.user.user_profile.all()[0].status return render(request, 'main/edit.html', context) return HttpResponseForbidden('allowed only registered users or via POST')