def post(self, request, *args, **kwargs): if permissions.can_user_create_member(self.request.user): form = MemberAdminForm(request.POST) if form.is_valid(): unity_id = request.POST['unity_id'] email = request.POST['email'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] group = request.POST['group'] classification = request.POST['classification'] status = Member.STATUS_EMPTY # so a member can fill out their information if User.objects.filter(username=unity_id).exists(): form._errors['unity_id'] = form.error_class(['User with that Unity ID already exists']) return self.render_to_response(self.get_context_data(form=form)) elif re.match('^.+\\@ncsu.edu', email) is None: form._errors['email'] = form.error_class(['The email must be an NCSU email address']) return self.render_to_response(self.get_context_data(form=form)) else: user = User.objects.create(username=unity_id, email=email, first_name=first_name, last_name=last_name) # indicates WRAP login only user.set_unusable_password() user.save() # why is project_member returned here? # that belongs with project editing #member, project_member = signals.create_profile.send(sender=None, user=user, group=group, classification=classification, status=status) member = signals.create_profile.send(sender=None, user=user, group=group, classification=classification, status=status) return HttpResponseRedirect(reverse('cms:members_url')) else: return self.render_to_response(self.get_context_data(form=form)) else: return HttpResponseForbidden('You do not have permission to access this page.')
def render_to_response(self, context): if permissions.can_user_create_member(self.request.user): return CreateView.render_to_response(self, context) else: return HttpResponseForbidden('You do not have permission to access this page.')