def _create_student(self, prefix=''): name = "%s_%s" % (self.name, prefix) user = User(first_name=name, last_name=name, username=name) user.save() student = Student(user=user, about_me=name, specialities=name) student.save() return student
def upload_student_sheet(request): fileobj = request.FILES['file'] try: wb = xlrd.open_workbook(file_contents=fileobj.read()) for sheet in wb.sheets(): depart = Department.objects.get(name=sheet.name) frow = sheet.row_values(0) year = frow[0] req_pubcourse = frow[2] req_pubelective = frow[4] req_procourse = frow[6] req_proelective = frow[8] for rind in range(2, sheet.nrows): row = sheet.row_values(rind) spec = Speciality.objects.get_or_create( name=row[3], department=depart ) if spec[1]: spec[0].save() try: user = User.objects.get(username=row[0]) user.set_password(row[2][-6:]) except User.DoesNotExist: user = User.objects.create_user(username=row[0], password=row[2][-6:]) user.save() meta = StudentMeta.objects.get_or_create( year=year, req_pubcourse=req_pubcourse, req_pubelective=req_pubelective, req_procourse=req_procourse, req_proelective=req_proelective, major=spec[0] )[0] try: stud = Student.objects.get(student_name=row[1], user=user) if stud.student_meta is not meta: stud.student_meta = meta stud.save() except Student.DoesNotExist: stud = Student(student_name=row[1], user=user, student_meta=meta) stud.save() except xlrd.XLRDError: return HttpResponseBadRequest('xls file error') except: return HttpResponseBadRequest('Error occur') return { 'valid': True, }
def setUp(self): self.student_a = Student( first_name="Tiffany", last_name="Jeruto", date_of_birth=datetime.date(2000, 6, 24), registration_number="254016", Email="*****@*****.**", phone_number="0789647745", place_of_residence="Rongai", guardian_phone="0789567484", id_number=345378625, date_joined=datetime.date.today(), ) self.student_b = Student( first_name="Clay", last_name="Jensen", date_of_birth=datetime.date(1999, 7, 25), registration_number="254017", Email="*****@*****.**", phone_number="0789765945", place_of_residence="Roysambu", guardian_phone="0780007684", id_number=3453734789, date_joined=datetime.date.today(), ) self.python = Course(name="Python", duration_in_months=10, Course_number="1001", description="Django and Flask frameworks") self.javascript = Course( name="Javascript", duration_in_months=10, Course_number="1002", description="Vanilla javascript and frameworks") self.hardware = Course(name="Hardware", duration_in_months=10, Course_number="1003", description=" Product design using Fusion 360") self.teacher = Teacher(first_name="James", last_name="Mwai", place_of_residence="Kilimani", phone_number="0723456786", Email="*****@*****.**", id_number=3128956743, profession="Google Expert", registration_number="2344", date_joined=datetime.date.today())
def save(self, user): student = Student() student.user = user student.college = self.cleaned_data['college'] student.course = self.cleaned_data['course'] student.batch_start_year = self.cleaned_data['batch_start_year'] student.save()
def handle(self, *args, **kwargs): num_students = kwargs['num_students'] Student.objects.all().delete() groups = list(Group.objects.all()) try: for _ in range(num_students): Student.generate_student(groups) except Exception as ex: raise CommandError('Generate students failed: "%s"' % ex) self.stdout.write(self.style.SUCCESS(f'Successfully generated {num_students} students'))
def register(request): if request.method == 'POST': username = request.POST['username'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] email = request.POST['email'] phone = request.POST['phone'] isEmployer = request.POST['isEmployer'] password = request.POST['passwd1'] password2 = request.POST['passwd2'] if password == password2: if CustomUser.objects.filter(username=username).exists(): messages.error(request, 'Ta nazwa uzytkownika jest zajeta, sprobuj innej') return redirect('register') else: if CustomUser.objects.filter(email=email).exists(): messages.error(request, 'Ten email akutalnie wystepuje w naszym systemie, sprobuj inny') return redirect('register') else: if len(username) > 150 or len(username) < 3: messages.error(request, 'Nazwa uzytkownika powinna byc dluzsza od 3 znakow i krotsza od 150') else: if len(first_name) > 30: messages.error(request, 'Imie powinno zawierac mniej niz 30 znakow') else: if len(last_name) > 150: messages.error(request, 'Nazwisko powinno zawierac mniej niz 150 znakow') else: if len(email) > 254: messages.error(request, 'Adres email jest za dlugi') else: if len(phone) > 20: messages.error(request, 'Numer telefonu jest za dlugo gosciu') else: user = CustomUser.objects.create_user(password=password, username=username, first_name=first_name, last_name = last_name, email = email, isEmployer=isEmployer, phone=phone) user.save() if isEmployer == 'True': company = Company(user=user, email=email) company.save() else: student = Student(user=user, name=first_name, surname=last_name, email=email) student.save() messages.success(request, 'Rejestracja przebiegla pomyslnie') return redirect('login') else: messages.error(request, 'Hasla nie zgadzaja sie') return redirect('register') return render(request, 'users/register.html')
def test_authenticate_fail(self): auth = authentication.Authentication() student = Student(registrationNo='2017bcs042', fname='d', lname='j', email='*****@*****.**', mobile='1234567890', city='nanded', state='maha') student.save() studentId = Student.objects.get(email='*****@*****.**').studentId response = auth.create_token('student', studentId, '*****@*****.**') token_decode = self.client.get('/req/auth/ee' + response['Token']) self.assertEqual(json.loads(token_decode.content)['Status'], 400)
def regprocessv(request): #1. Get data from html form v1 = request.GET.get('n1') v2 = request.GET.get('n2') v3 = request.GET.get('n3') v4 = request.GET.get('n4') try: x = Student.objects.get(userid=v2) return render(request, 'regerror.html') except ObjectDoesNotExist: obj = Student(fullname=v1, pwd=v3, address=v4, userid=v2) obj.save() return render(request, 'regsuccess.html')
def insert(request): if request.POST: post = request.POST new_student = Student( num = post["num"], name = post["name"], chinese = post["chinese"], math = post["math"], english = post["english"], physics = post["physics"], chemistry = post["chemistry"], allscore = int(post["chinese"])+int(post["math"])+int(post["english"])+int(post["physics"])+int(post["chemistry"])) new_student.save() return render(request, 'insert.html')
def registration(request): if request.method == 'POST': StudentImage = request.FILES['txtimageurl'] filesystem = FileSystemStorage() filename = filesystem.save(StudentImage.name, StudentImage) url = filesystem.url(filename) users = User.objects.all() for user in users: if user.username == request.POST['txtusername']: messages.warning(request, "User already exist") return render(request, 'client/registration-form.html') # User Creation user = User.objects.create_user(request.POST['txtusername'], request.POST['txtemail'], request.POST['txtpassword']) group = Group.objects.get(name="Student") user.groups.add(group) # Name split and join Name = request.POST['txtfullname'].split() if len(Name) > 1: user.first_name = Name[0] user.last_name = " ".join(Name[1:]) else: user.first_name = " ".join(Name) user.save() student = Student( StudentName=request.POST['txtfullname'], UserId_id=user.id, # StudentUserName = request.POST['txtusername'], # StudentPassword = request.POST['txtpassword'], DepartmentName_id=request.POST['dropdowndepartment'], SubDepartmentName_id=request.POST['dropdownsubdepartment'], StudentImageName=filename, StudentImage=url, StudentGender=request.POST['gender'], StudentPhoneNumber=request.POST['txtphoneno'], StudentEmail=request.POST['txtemail'], StudentAddress=request.POST['txtaddress'], StudentCity=request.POST['txtcityname']) student.save() return redirect('home') else: department_data = Department.objects.all() subdepartment_data = SubDepartment.objects.all() return render( request, 'client/registration-form.html', { 'department_data': department_data, 'subdepartment_data': subdepartment_data })
def save(self): try: student_name = self.validated_data['student_name'] department = self.validated_data['department'] contact = self.validated_data['contact'] studentinfo = Student( student_name=student_name, department=department, contact=contact ) studentinfo.save() return studentinfo except KeyError: raise serializers.ValidationError({"response": "this invalid somethings!!!!!"})
def GetStudVal(request): id = request.POST.get("sid") fname = request.POST.get("name") course = request.POST.get("course") mark = request.POST.get("total") ob = Student(name=fname, course=course, marks=mark, rollnum=id) ob.save() context = {} data = Student.objects.all() context['data'] = data print(ob.name) return render(request, 'Student/Output.html', context)
def issue_this_book(request): if (request.method == "POST"): book_name = request.POST['book_name'].replace('-',' ') book = Books.objects.filter(title=book_name) student_name = request.POST['student_name'] book_to_update = Books.objects.get(id = book[0].id) book_to_update.count -= 1 book_to_update.save() student = Student(student_name = student_name, book_id = book[0].id, date_issued = datetime.datetime.now()) student.save() messages.success(request, 'Book '+book_name+' issued successfully to ' + student_name) return redirect('/')
def add_student(request): if request.method == 'POST': student = Student() student.user_number = request.POST['number'] student.password = request.POST['password'] student.save() profile = StudentProfile() profile.user = student profile.username = request.POST['username'] profile.email = request.POST['email'] profile.phone = request.POST['phone'] profile.save() return redirect('student_manage') else: return render_to_response('manage/new.html', RequestContext(request))
def upload_student(self, file_path, teacher_id): wb = openpyxl.load_workbook(file_path) # 打开excel ws = wb.active # 选中第一个sheet rows = ws.max_row # 获取行数 columns = ws.max_column # 获取列数 student_list = [] repetition = 0 # 从第2行开始遍历每行 for row in ws.iter_rows(min_row=2, min_col=1, max_row=rows, max_col=columns): data = [i.value for i in row] # 获取每一行数据 # 取出重复数据 if Student.objects.filter(student_num=data[0]).exists(): repetition += 1 continue # 写入User表 user = User( username=data[0], # 以学号作为用户名,防止重复 password=make_password(settings.STUDENT_INIT_PASSWORD)) user.save() # 存入数据库 # 写入student表 student = Student( student_num=data[0], name=data[1].strip(), # 去除空格 gender='male' if data[2] == '男' else 'female', phone=data[4], birthday=data[3], user_id=user.id, teacher_id=teacher_id) student_list.append(student) Student.objects.bulk_create(student_list) # 批量加入Student表 return repetition
def manager_studentview(request): if request.method == 'GET': return render(request,'manager/manager_studentview.html') else: email = request.POST.get('email') name = request.POST.get('name') contact = request.POST['contact'] password = randomPassword() user = Account(email=email, password=make_password(password), is_teacher=False,is_manager=False,is_student=True) user.save() msg = f'{name}, your account is created successfully \n use the following credential to login \n email:{email} \n password:{password}' Mail(subject='Account created', message=msg,recipient_list=[email]) student = Student(name=name, contact=contact, user_id=user.id) student.save() messages.add_message(request,messages.SUCCESS,'student Account is created successfully') return redirect('manager_view')
def setUp(self): user = User(first_name=self.name, last_name=self.name, username=self.name) user.save() self.student = Student(user=user, about_me=self.name, specialities=self.name) self.student.save()
def setUp(self): self.student_a=Student(first_name=Joy, last_name=Wahome, date_of_birth=datetime.date(1998,8,25), registration_number=123, place_of_residence=Nairobi, phone_number=123456789, [email protected], guardian_phone=12345, id_number=1111111, date_joined=datetime.date.today(),) self.student_b=Student(first_name=Ivy, last_name=Wahome, date_of_birth=datetime.date(1996,5,24), registration_number=1234, place_of_residence=Nairobi, phone_number=123456789, [email protected], guardian_phone=123456, id_number=2222222, date_joined=datetime.date.today(),) self.python=Course(name=python, duration_in_months=10, course_number=1, description=Learn to code in Python,) self.javascript=Course(name=javascript, duration_in_months=10, course_number=2, description=Learn to code in JS,) self.hardware=Course(name=hardware, duration_in_months=10, course_number=3, description=Learn to build hardware,) self.teacher=Teacher(first_name=James, last_name=Mwai, date_of_birth=datetime.date(1998,8,25), registration_no=123, place_of_residence=Nairobi, phone_number=123456789, [email protected], id_number=1111111, profession=Consultant,)
def test_index(self): def do_request(redirect): response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 302) self.assertRedirects(response, 'http://testserver%s' % reverse(redirect)) do_request('student-add') user = User(username=self.name) user.save() student = Student(user=user, specialities=self.name) student.save() #do_request('student-first') response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 302)
class SkillAjaxTest(TestCase): name = "test" def setUp(self): user = User(first_name=self.name, last_name=self.name, username=self.name) user.save() self.student = Student(user=user, about_me=self.name, specialities=self.name) self.student.save() def test_change_status(self): category = Category(name=self.name) category.save() track = Track(name=self.name, category=category) track.save() skill = Skill(name=self.name, track=track) skill.save() #value = 'n' status = SkillStatus(student=self.student, skill=skill) status.save() response = self.client.get(reverse('change-skill-status', args=(status.id,))) # should be 'i' self.assertEqual(response.status_code, 200) self.assertEqual(SkillStatus.objects.get(id=status.id).value, 'i') def test_change_progress_status(self): level = ProgressLevel(name=self.name) level.save() response = self.client.post(reverse('change-progress-status', args=(self.student.progress_stasus.id,)), data={'value': 'i', 'level': level.id, }) self.assertEqual(response.status_code, 200) updated_status = ProgressStatus.objects.get( id=self.student.progress_stasus.id) self.assertEqual(updated_status.value, 'i') self.assertEqual(updated_status.level, level)
def save(self, user): student = Student() student.user= user student.college = self.cleaned_data['college'] student.course = self.cleaned_data['course'] student.batch_start_year = self.cleaned_data['batch_start_year'] student.save()
def registration_page(request): context = {} groups = StudyGroup.objects.all() context['groups'] = groups if request.POST: #jeigu paspausta submit accForm = Account_form(request.POST) studForm = Student_form(request.POST) if accForm.is_valid() and studForm.is_valid(): account = accForm.save( commit=False) #is abieju formu gaunu modeliu duomenis student = studForm.save(commit=False) #sukuriu paskyra firstName = accForm.cleaned_data.get("first_name") lastName = accForm.cleaned_data.get("last_name") account.username = firstName[:3].lower() + lastName[:3].lower() account.user_type = Account.STUDENT account.save() #sukuriu studento profili, prijungta prie paskyros code = codeGenerator( ) # reiketu patikrinti ar toks kodas neegzistuoja group = studForm.cleaned_data.get("studyGroup") phone = studForm.cleaned_data.get("phone") student = Student(account=account, phone=phone, code=code, studyGroup=group) student.save() createStudentCourses( student) #db uzpildoma studento moduliais ir atsiskaitymais login(request, account) return redirect('home') else: #jei yra klaidu tas pacias formas grazinti atgal context['account_form'] = accForm context['student_form'] = studForm else: #jei katik atejo i registracijos puslapi, pateikia tuscias formas accForm = Account_form() studForm = Student_form() context['account_form'] = accForm context['student_form'] = studForm return render(request, 'register.html', context)
def index(request): students = Student.objects.all() form = StudentForm() if request.method == 'POST': form = StudentForm(request.POST) if form.is_valid(): cleaned_data = form.cleaned_data # 经过验证后的数据 student = Student() # 生成一个空的对象 student.name = cleaned_data['name'] student.sex = cleaned_data['sex'] student.email = cleaned_data['email'] student.profession = cleaned_data['profession'] student.qq = cleaned_data['qq'] student.phone = cleaned_data['phone'] student.save() return HttpResponseRedirect(reverse('student:index')) ctx = {'data': students, 'form': form} return render(request, 'student/index.html', ctx)
def add_students(request, excel_file, student_class): COLUMN_LIMIT = 6 sheet_name = "students" students = _get_data_from_sheet(request, excel_file, COLUMN_LIMIT, sheet_name) if not students: return False # DATA HEAD FROM EXCEL SHEET: # No student_id name paren_sms Class ID course ID elective IDs # Add student to the database for row in students: if (len(row) > 0): if (row[0] != "No" and row[0] != "CLASS ID"): # if there are empty colums if (len(row) < COLUMN_LIMIT): i = len(row) while (i < COLUMN_LIMIT): # fill with "" row.append("") i += 1 try: # Check for the exitence of the staff id s = Student.objects.filter(student_id=row[1]) if (s.count() == 0): # Students elective subjects elective_ids = row[4].split(" ") new_student = Student(student_id=row[1], name=row[2], parent_sms=row[3], student_class=student_class, house=row[5].capitalize()) new_student.save() for id in elective_ids: if id: elective = Subject.objects.filter( is_elective=True, subject_id=id).first() if elective: new_student.electives.add(elective) new_student.save() else: new_student.delete() request.session[ "error_message"] = f"Elective subject with ID '{id}' not found" return False else: request.session[ "error_message"] = "Student IDs must be unique for all students." except Exception as err: request.session["error_message"] = str(err) return False return True
def seed_student_table(): student = Student(email="*****@*****.**", student_id="101678608", first_name="Jan", last_name="Timpe") student.save() student = Student(email="*****@*****.**", student_id="74151585", first_name="Test", last_name="Testerson") student.save()
def add(request): if request.POST: post_data = request.POST name = post_data.get("name", "") rollno = post_data.get("rollno", "") Class = post_data.get("Class", "") gender = post_data.get("gender", "") address = post_data.get("address", "") stud = Student( name=name, rollno=rollno, Class=Class, gender=gender, address=address, ) stud.save() return redirect("/studlist/") return render(request, "form.html", {})
def add_student(request): """添加学生到数据库""" # 接收前端传递过来的值 data = json.loads(request.body.decode("utf-8")) try: # 添加到数据库 obj_student = Student(sno=data['sno'],name=data['name'],gender=data['gender'], birthday=data['birthday'],mobile=data['mobile'], email= data['email'], address=data['address'],image=data['image']) # 执行添加 obj_student.save() # 使用ORM获取所有学生信息 并把对象转为字典格式 obj_students = Student.objects.all().values() # 把外层的容器转为List students = list(obj_students) # 返回 return JsonResponse({'code': 1, 'data': students}) except Exception as e: return JsonResponse({'code':0 , 'msg': "添加到数据库出现异常,具体原因:" + str(e)})
def managerStd(request): if request.method == 'GET': return render(request, 'manager/stddashboard.html') else: email = request.POST.get('email') name = request.POST.get('name') password = getRandomPassword() user = Account(email=email, password=make_password(password), is_student=True, is_manager=False) user.save() msg = f'{name}, Your Account is created successfully, to log into your account \n please use \n email: {email} \n password : {password}' Mail(subject='Account Created', message=msg, recipient_list=[email]) student = Student(name=name, user_id=user.id) student.save() messages.success( request, "Account created successfully please do check your email") return redirect('managerStd')
def save(self): auth_user = User.objects.create_user(username=self.cleaned_data['admission_number'], password='******') auth_user.save() student = Student(admission_number=self.cleaned_data['admission_number'], name=self.cleaned_data['name'], class_of_student=self.cleaned_data['class_of_student'], roll_number=self.cleaned_data['roll_number'], student_image=self.cleaned_data['student_image'] ) student.save() list_of_subjects = ClassAndSubject.objects.filter(class_name=self.cleaned_data['class_of_student']) for subject in list_of_subjects: object = Marks.objects.create(admission_number=self.cleaned_data['admission_number'], subject_code=subject.subject_code) object.save() return student
def generate_students(request): amount = int(request.GET['amount']) lst = [] if amount > 200: amount = 5 for _ in range(amount): a = Student.generate_student() lst.append(a.Student_first_name) lst.append('<br>') return HttpResponse(f'generated {amount} students: <br> {lst}')
def registrationfunction(request): userName = request.POST['userName'] userEmail = request.POST['userEmail'] userPassword = request.POST['userPassword'] userSubject = request.POST['userSubject'] userMobile = request.POST['userMobile'] #WE NEED TO CREATE student object WITH ABOVE VALUES s1 = Student() s1.name = userName s1.email = userEmail s1.pw = userPassword s1.sub = userSubject s1.mobile = userMobile #NOW LETS INSERT A ROW (object) s1.save() #---> inserts s1 object into Student table return render(request, 'registration.html')
def post(self, request, format='json'): serializer = UserSerializer(data=request.data) if serializer.is_valid(): #print("Valid") user = serializer.save() if user: if request.data["isStudent"] == 1: new_student = Student(user=user, contact_no=request.data["contact_no"]) new_student.save() elif request.data["isStudent"] == 0: new_teacher = Teacher(user=user, contact_no=request.data["contact_no"]) new_teacher.save() else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) token = Token.objects.create(user=user) json = serializer.data json['token'] = token.key return Response(json, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def addMark(request): rollno = int(request.POST['rollno']) name = request.POST['name'] totalmark = int(request.POST['totalmark']) student = Student() student.rollno = rollno student.name = name student.toltalmark = totalmark Student.save(student) return render(request, "addmark.html", {"result": "SUCCESS"})
def register_student(request, **args): new_user = RegistrationBackend().register(request, **args) new_user.userattributes.has_agreed_to_terms() domain = new_user.email.split("@")[1] if not DomainName.objects.filter(domain=domain).exists(): #make new domain name DomainName.objects.create(domain=domain) #send email #gets email of [email protected] recipients = [mail_tuple[1] for mail_tuple in s.MANAGERS] context = Context({'domain': domain}) context.update(get_basic_email_context()) txt_email_body = render_to_string('new_domain_email_body.txt', context) subject = ''.join( render_to_string('email_admin_subject.txt', { 'message': "New Domain: %s" % domain }, context).splitlines()) send_email(subject, txt_email_body, recipients) if new_user.first_name and new_user.last_name: student = Student(user=new_user, first_name=new_user.first_name, last_name=new_user.last_name) else: student = Student(user=new_user) umeqo = Employer.objects.get(name="Umeqo") student.save() if args.has_key("course"): try: course = Course.objects.get(id=args["course"]) except: Course.DoesNotExist else: student.first_major = course student.subscriptions.add(umeqo) student.save() return student
def social_login_post_processing(request): if request.user.is_authenticated(): studentgroup = Group.objects.get_or_create(name=studentgroupname) user = get_object_or_404(User, username=request.user.username) newStudent = Student() newStudent.userprofile = user.userprofile newStudent.save() 'Create a default resume' Resume.objects.create(student=newStudent) user.userprofile.student = newStudent user.userprofile.save() studentgroup = Group.objects.get_or_create(name=studentgroupname) user.groups.add(studentgroup[0]) user.save() return HttpResponseRedirect(reverse_lazy('profile')) else: return HttpResponseRedirect(reverse_lazy('home'))
def social_login_post_processing(request): if request.user.is_authenticated(): studentgroup = Group.objects.get_or_create(name=studentgroupname) user = get_object_or_404(User, username=request.user.username) newStudent=Student() newStudent.userprofile=user.userprofile newStudent.save() 'Create a default resume' Resume.objects.create(student=newStudent) user.userprofile.student=newStudent user.userprofile.save() studentgroup = Group.objects.get_or_create(name=studentgroupname) user.groups.add(studentgroup[0]) user.save() return HttpResponseRedirect(reverse_lazy('profile')) else: return HttpResponseRedirect(reverse_lazy('home'))
def create_test_students(request): if not request.is_ajax(): return HttpResponseBadRequest room_name = request.GET.get("room_name", None) if room_name is None: return HttpResponseBadRequest try: room = Room.objects.get(room_name=room_name) except Room.DoesNotExist: return ajax_bad_request("Room" + room_name + " doesn't exist") for _ in range(0, 10): Student(user_name=random_word()[:6], session=None, room=room).save() return HttpResponseNoContent()
def edit_profile(request): if request.method == 'POST': uid = request.user.id rn = request.POST['rn'] dept = request.POST['dept'] try: sd_new = Student(rollno=rn, department=dept, UserId_id=uid) sd_old = Student.objects.filter(UserId=uid) sd_old.delete() sd_new.save() msg = "Details successfully added!" messages.add_message(request,messages.INFO,msg,extra_tags='adderror') except: errormsg = "Error while adding details" messages.add_message(request,messages.ERROR,errormsg,extra_tags='adderror') try: sd = Student.objects.filter(UserId=request.user.id).values_list('rollno', 'department') return render(request, 'profile.html', {'uid': request.user.id, 'rn': sd[0][0], 'nm': request.user.first_name, 'dept': sd[0][1]}) except: return render(request, 'profile.html', {'uid': request.user.id, 'nm': request.user.first_name})
def registeraction(request): name = request.POST.get('name', 'NULL') email = request.POST.get('email', 'NULL') contact = request.POST.get('phone', 'NULL') username = request.POST.get('username', 'NULL') password = request.POST.get('password', 'NULL') uploadedfileurl = '' if request.method == 'POST' and request.FILES['myfile']: myfile = request.FILES['myfile'] fs = FileSystemStorage() filename = fs.save(myfile.name, myfile) uploadedfileurl = fs.url(filename) bool = usernamepresent(username) if contact == 'NULL': contact = 0 if bool == True: s = Student(name=name, email=email, contact=contact, username=username, password=password, pic_path=uploadedfileurl) s.save() if s.id: subject = 'Registered' message = 'Thank you for Registering -Kolrad Inc' from_email = settings.EMAIL_HOST_USER li = [email] a = send_mail(subject, message, from_email, li, fail_silently=True) return HttpResponseRedirect(reverse('login')) else: return HttpResponse('Error') else: return HttpResponseRedirect(reverse('studentregister') + '?auth1=true')
def post(self, request, *args, **kwargs): email = request.POST.get('email') name = request.POST.get('name') password_ = randomPassword() try: user = Account(email=email, password=make_password(password_), is_student=True) user.save() msg = f'{name}, Your account is created Please use the following credential to login into your account \n Email: {email} \n password: {password_}' Mail(subject="Account Creation", message=msg, recipient_list=[ email, ]) student = Student(name=name, user_id=user.id) student.save() messages.add_message(request, messages.SUCCESS, 'Student Account is created successfully') return redirect('manage_student') except Exception as e: messages.add_message(request, messages.ERROR, str(e)) return redirect('manage_student')
def add(request): if request.method == "POST": form = StudentForm(request.POST) if form.is_valid(): user = User( first_name=request.POST['first_name'], last_name=request.POST['last_name'] ) user.username = "******" % (user.first_name, user.last_name, str(uuid.uuid4()).replace('-', '')[:8]) user.save() student = Student( user=user, specialities=request.POST['specialities'], about_me=request.POST['about_me'] ) if request.FILES.get('photo'): student.image = request.FILES['photo'] student.save() return redirect(reverse('student-profile', args=(student.id,))) else: form = StudentForm() return locals()
def enroll(request, netid): try: course_name = request.GET['course'] except: return HttpResponse("Please provide a course to enroll in.") courses = Course.objects.filter(name=course_name) if len(courses) == 0: return HttpResponse("No course called " + course_name + " exists") course = courses[0] students = Student.objects.filter(netid=netid) if len(students) == 0: student = Student(netid=netid) else: student = students[0] if course.student_set.filter(pk=student.pk).exists(): return HttpResponse("Already enrolled") student.courses.add(course) student.save() return HttpResponse("Enrolled in " + course.name)
def register_student(request, **args): new_user = RegistrationBackend().register(request, **args) new_user.userattributes.has_agreed_to_terms() domain = new_user.email.split("@")[1] if not DomainName.objects.filter(domain=domain).exists(): #make new domain name DomainName.objects.create(domain=domain) #send email #gets email of [email protected] recipients = [mail_tuple[1] for mail_tuple in s.MANAGERS] context = Context({'domain':domain}) context.update(get_basic_email_context()) txt_email_body = render_to_string('new_domain_email_body.txt', context) subject = ''.join(render_to_string('email_admin_subject.txt', { 'message': "New Domain: %s" % domain }, context).splitlines()) send_email(subject, txt_email_body, recipients) if new_user.first_name and new_user.last_name: student = Student(user=new_user, first_name = new_user.first_name, last_name = new_user.last_name) else: student = Student(user=new_user) umeqo = Employer.objects.get(name="Umeqo") student.save() if args.has_key("course"): try: course = Course.objects.get(id=args["course"]) except: Course.DoesNotExist else: student.first_major=course student.subscriptions.add(umeqo) student.save() return student
def import_students(self, wb, sheet_index): # self.stdout.write("Import students...") colpos = { 'region': 1, 'location': 2, 'school': 3, 'donor_balance': 4, 'student_name': 5, 'sex': 6, 'grade': 7, 'graduation_year': 8, 'student_donor_id': 9, 'student_donor_name': 10, 'student_donor_donation_amount_local': 11, 'student_donor_donation_amount_us': 12, 'comment': 13, 'comment_tw': 14, } # Location.objects.all().delete() # Area.objects.all().delete() # Student.objects.all().delete() sheet = wb.sheet_by_index(sheet_index) sheet_info = self.get_info_from_sheet_name(sheet.name) # Determine if we need to alter colpos to older version. amt_title = sheet.cell_value(1, colpos['student_donor_donation_amount_local']) amt_title += sheet.cell_value(2, colpos['student_donor_donation_amount_local']) if amt_title.lower().find(u'amount') < 0: #print amt_title # print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" # Different version, adjust column positions. colpos.pop('donor_balance') adjust_list = ['student_name', 'sex', 'grade', 'graduation_year', 'student_donor_id', 'student_donor_name', 'student_donor_donation_amount_local', 'student_donor_donation_amount_us' ] for x in adjust_list: colpos[x] = colpos[x] - 1 # Find correct comment column position s = colpos['student_donor_donation_amount_us'] e = colpos['student_donor_donation_amount_us'] + 3 for x in xrange(s, e): v = self.normalize_value(sheet.cell_value(1, x)) if v.lower().find(u'comments') >= 0 or v == "": # print "................ ", x colpos['comment'] = colpos['comment_tw'] = x break # print colpos """ us_amt_title = self.normalize_value( sheet.cell_value(1, colpos['student_donor_donation_amount_us']) ).strip() if us_amt_title == u"USD": # print "YES....." pass """ if sheet_info['country'] == Location.TAIWAN: comment_pos = colpos['comment_tw'] else: comment_pos = colpos['comment'] if sheet_info['season'] == Season.SPRING: dt = '1/1/{}' else: dt = '6/1/{}' school_end_dt = datetime.strptime(dt.format(sheet_info['yr']), '%m/%d/%Y') school_end_dt -= timedelta(seconds=1) # print school_end_dt # print sheet.number, sheet.name, sheet_info # Import each student, school assignment, donor assignment. start_row = 3 end_row = 3070 for row in xrange(start_row, end_row): """Exit when there are no more students by checking for empty value in the first and 2nd column. """ if ( unicode(self.normalize_value(sheet.cell_value(row, 0))).strip() == '' and unicode(self.normalize_value(sheet.cell_value(row + 1, 0))).strip() == '' ): break dm = self.normalize_value(sheet.cell_value( row, colpos['student_donor_donation_amount_us']) ) # Import new area and school if necessary. area = self.get_area( sheet.cell_value(row, colpos['region']), sheet.cell_value(row, colpos['location']) ) school = self.get_school(area, sheet.cell_value(row, colpos['school'])) # print area.location.country # Get donor. donor_id = int(sheet.cell_value(row, colpos['student_donor_id'])) donor = self.get_donor(donor_id) # If a student exists, update data except the name. Else create it. try: name = self.normalize_value(sheet.cell_value(row, colpos['student_name'])) s = Student.objects.get(name=name) old_school = s.school except: s = Student() s.name = name old_school = None # Disable school history recording. s.record_school_history = False sex = self.normalize_value(sheet.cell_value(row, colpos['sex'])) s.sex = (Student.FEMALE if sex.find(u'女') >= 0 else Student.MALE) s.cls = self.normalize_value(sheet.cell_value(row, colpos['grade'])) s.grad_yr = self.normalize_value(sheet.cell_value(row, colpos['graduation_year'])) s.notes = self.normalize_value(sheet.cell_value(row, comment_pos)) s.school = school try: s.save() Student.record_school_change(s, old_school, school, school_end_dt) # Assignment assignment = s.assign_to_donor( donor, sheet_info['yr'], sheet_info['season'], self.normalize_value(sheet.cell_value( row, colpos['student_donor_donation_amount_us']) ) ) except: print sys.exc_info() print "Unable to save student: {}".format(row) print "Rows:", row
def csv_student(request): if request.POST and request.FILES: csvfile = request.FILES['csv_file'] dialect = csv.Sniffer().sniff(codecs.EncodedFile(csvfile, "utf-8").read(1024)) csvfile.open() reader = csv.reader(codecs.EncodedFile(csvfile, "utf-8"), delimiter=',', dialect=dialect) file_upload = False success = False for x in reader: if x[0] =='Student': file_upload = True else: if Student.objects.filter(studentid=x[0]).exists(): student_update = Student.objects.get(studentid=x[0]) if file_upload: if Student.objects.filter(studentid=x[0]).exists(): student_update.firstname = x[1] student_update.middlename = x[2] student_update.lastname = x[3] student_update.gender = x[4] student_update.date_of_birth =x[5] student_update.date_admitted = x[6] student_update.address = x[7] student_update.mother_name = x[8] student_update.father_name = x[9] student_update.mother_occ = x[10] student_update.father_occ = x[11] student_update.last_school_att = x[12] student_update.last_school_att_address = x[13] student_update.acad_status = x[14] student_update.privilege = x[15] student_update.year_level = x[16] student_update.cell_no = x[17] student_update.Section = x[18] student_update.password = x[19] success = True else: student_create = Student( studentid = x[0], firstname = x[1], middlename = x[2], lastname = x[3], gender = x[4], date_of_birth =x[5], date_admitted = x[6], address = x[7], mother_name = x[8], father_name = x[9], mother_occ = x[10], father_occ = x[11], last_school_att = x[12], last_school_att_address = x[13], acad_status = x[14], privilege = x[15], year_level = x[16], cell_no = x[17], Section = x[18], password = x[19], ) student_create.save() success = True student_update.save() if success: return render(request,'msge.html', {'success':'success'} ) else: return render(request,'msge.html', {'success':'no'} ) return render(request,'msge.html', {'success':'no'} )
def setup_students(request): # first see whether the cancel button was pressed if "cancel" in request.POST: return HttpResponseRedirect(reverse('setup_index')) # now start processing the file upload context_dict = { } context_dict['header'] = 'Upload Student Data' if request.method == 'POST': # get the file uploaded by the user form = ExcelFileUploadForm(request.POST, request.FILES) context_dict['form'] = form if form.is_valid(): try: print 'now starting to process the uploaded file for setting up Student data...' fileToProcess_handle = request.FILES['excelFile'] # check that the file uploaded should be a valid excel # file with .xls or .xlsx if not validate_excel_extension(fileToProcess_handle, form, context_dict): return render(request, 'classup/setup_data.html', context_dict) # if this is a valid excel file - start processing it fileToProcess = xlrd.open_workbook(filename=None, file_contents=fileToProcess_handle.read()) sheet = fileToProcess.sheet_by_index(0) if (sheet): print 'Successfully got hold of sheet!' for row in range(sheet.nrows): # skip the header row if (row == 0): continue print 'Processing a new row' # first, capture student data # we need to explicitly cast student id to string. Else update will not function properly student_id = str(sheet.cell(row, 0).value) student_first_name = sheet.cell(row, 1).value student_last_name = sheet.cell(row, 2).value current_class = sheet.cell(row, 3).value current_section = sheet.cell(row, 4).value current_roll_no = sheet.cell(row, 5).value # now, capture the parent data parent_name = sheet.cell(row, 6).value parent_email = sheet.cell(row, 7).value # we need to explicitly case mobile number to string. Else update will not function properly parent_mobile1 = str(sheet.cell(row, 8).value) parent_mobile2 = str(sheet.cell(row, 9).value) # class and section are foreign keys. Get hold of the relevant objects print 'Class = ' + current_class the_class = None the_section = None try: the_class = Class.objects.get(standard=current_class) except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) error = 'Unable to retrieve the relevant class: ' + current_class form.errors['__all__'] = form.error_class([error]) print error # todo - we should skip this student but report this and move on to the next student <provide code> continue try: the_section = Section.objects.get(section=current_section) except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) error = 'Unable to retrieve the relevant object for section: ' + current_section form.errors['__all__'] = form.error_class([error]) print error # todo - we should skip this student but report this and move on to the next student <provide code> continue # process student first. If this is an existing student, this is an update operations. try: s = Student.objects.get(student_erp_id=student_id) if (s): print 'Student with ID: ' + student_id + \ ' & name: ' + student_first_name + ' already exist. This will be updated!' s.student_erp_id = student_id s.first_name = student_first_name s.last_name = student_last_name s.current_class = the_class s.current_section = the_section s.roll_no = current_roll_no except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) print 'Student with ID: ' + student_id + ' Name: ' \ + student_first_name + ' ' + student_last_name + ' is a new entry. Hence inserting...' try: s = Student(student_erp_id=student_id, fist_name=student_first_name, last_name=student_last_name, current_class=the_class, current_section=the_section, roll_number=current_roll_no) s.save() print 'saving successful!' except Exception as e: error = 'Unable to save the new student to the database' print error print 'Exception = %s (%s)' % (e.message, type(e)) form.errors['__all__'] = form.error_class([error]) # todo - we should skip this student but report this and move on to the next student <provide code> try: s.save() except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) error = 'Unable to save the data for Student with ID: ' + student_id + \ ' Name: ' + student_first_name + ' ' + student_last_name + ' in Table Student' form.errors['__all__'] = form.error_class([error]) print error # todo - we should skip this student but report this and move on to the next student <provide code> # now, process the parent for the student created/updated above try: p = Parent.objects.get(parent_mobile1=parent_mobile1) if (p): print 'Parent for Student with ID: ' + student_id + \ ' & name: ' + student_first_name + ' already exist. This will be updated!' p.student_id = s p.parent_name = parent_name p.parent_mobile1 = parent_mobile1 p.parent_mobile2 = parent_mobile2 p.parent_email = parent_email except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) print 'Student with ID: ' + student_id + ' Name: ' \ + student_first_name + ' ' + student_last_name + ' is a new entry. Hence inserting...' p = Parent(student_id=s, parent_name=parent_name, parent_mobile1=parent_mobile1, parent_mobile2=parent_mobile2, parent_email=parent_email) try: p.save() except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) error = 'Unable to save the parent data for Student with ID: ' + student_id + \ ' Name: ' + student_first_name + ' ' + student_last_name + ' in Table Parent' form.errors['__all__'] = form.error_class([error]) print error # file upload and saving to db was successful. Hence go back to the main menu return HttpResponseRedirect(reverse('setup_index')) except Exception as e: print 'Exception = %s (%s)' % (e.message, type(e)) error = 'Invalid file uploaded. Please try again.' form.errors['__all__'] = form.error_class([error]) print error return render(request, 'classup/setup_data.html', context_dict) else: form = ExcelFileUploadForm() context_dict['form'] = form return render(request, 'classup/setup_data.html', context_dict)
def create(request, netid): s = Student(netid=netid) s.save() return HttpResponse('Created!')