def camper_detail(request, id_camp, id_camper): context = getPersonal(request) context['id_camp'] = id_camp context['id_camper'] = id_camper context['name'] = getPersonal(request)['name'] context['campers'] = Camper.objects.filter(id=id_camper) context['observe'] = Observe.objects.filter(camper_id=id_camper) # use to link to personal link = Camper.objects.values('personal_id') # get object with personal_id = link for camper_object in link: camper_id = camper_object['personal_id'] # get date from camper_id = personal_id get_date = Personal.objects.filter(id=camper_id).values('birthday') for date_object in get_date: # return as time.delta then convert them time_count_year = datetime.now().date() - date_object['birthday'] # send year that already count as context context['birthday'] = time_count_year.days // 365 if id_camp: context['active_camp'] = True return render(request, 'camper_detail.html', context)
def edit_camper(request, id_camp, id_camper): context = getPersonal(request) context['id_camp'] = id_camp context['id_camper'] = id_camper context['campers'] = Camper.objects.filter(pk=id_camper) camper = Camper.objects.get(pk=id_camper) print(camper.personal_id) if id_camp: context['active_camp'] = True if request.method == 'POST': post = request.POST personal_id = camper.personal_id print(personal_id) personal = updatePersonal(post, personal_id) school = post.get('school') parent_phone = post.get('parent_phone') parent_name = post.get('parent_name') group = post.get('group') camper.school = school camper.parent_phone = parent_phone camper.parent_name = parent_name camper.group = group camper.save() messages.success(request, 'อัพเดตโปรไฟล์เสร็จสมบูรณ์') return HttpResponseRedirect('../../../../%d/campers/' % id_camp) else: form = CamperForm() context['form'] = form return render(request, 'edit_camper.html', context)
def create_camper(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp # camper_detail = Camper.objects.all() if id_camp: context['active_camp'] = True if request.method == 'POST': post = request.POST camp = Camp.objects.get(pk=id_camp) personal = savePersonal(request) school = post.get('school') parent_phone = post.get('parent_phone') parent_name = post.get('parent_name') group = post.get('group') camper = Camper( camp=camp, personal=personal, school=school, parent_phone=parent_phone, parent_name=parent_name, group=group, ) camper.save() messages.success(request, 'เพิ่ม Camper เรียบร้อยแล้ว') print('successfully add to database') return HttpResponseRedirect('../../../../camp/%d/campers/' % id_camp) else: form = CamperForm() context['form'] = form return render(request, 'create_camper.html', context)
def create_department_mc(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True if request.method == 'POST': camp = Camp.objects.get(pk=id_camp) choose = request.POST.get('choose') if choose == 'department': name = request.POST.get('name_department') typeOfDepartment = request.POST.get('typeOfDepartment') desc = request.POST.get('desc_department') department = Department(camp=camp, name=name, typeOfDepartment=typeOfDepartment, desc=desc) department.save() messages.success(request, 'ดำเนินการสร้างฝ่าย ' + name + ' แล้ว') elif choose == 'MC': name = request.POST.get('name_MC') typeOfMC = request.POST.get('typeOfMC') desc = request.POST.get('desc_MC') mc = MC(camp=camp, name=name, typeOfMC=typeOfMC, desc=desc) mc.save() messages.success(request, 'ดำเนินการสร้าง MC ' + name + ' แล้ว') return HttpResponseRedirect('../../../camp/%d/' % id_camp) return render(request, 'camp.html', context)
def create_staff(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True if request.method == 'POST': post = request.POST camp = Camp.objects.get(pk=id_camp) personal = savePersonal(request) position = post.get('position') group = post.get('group') staff = Staff( camp=camp, personal=personal, position=position, group=group, ) if post.get('department') != '0': department = Department.objects.get(pk=post.get('department')) staff.department = department staff.save() messages.success(request, 'เพิ่ม Staff '+personal.first_name+' แล้ว') return HttpResponseRedirect('../../../../camp/%d/staffs/' % id_camp) else: form = StaffForm() context['form'] = form context['departments'] = Department.objects.filter(camp_id=id_camp) return render(request, 'create_staff.html', context)
def camp(request, id_camp=""): context = getPersonal(request) context['id_camp'] = id_camp sex = {'M': 'Mr.', 'F': 'Miss.'} if id_camp: camp = Camp.objects.get(pk=id_camp) departments = reversed(Department.objects.filter(camp_id=id_camp)) MCs = reversed(MC.objects.filter(camp_id=id_camp)) count_total_staff = Staff.objects.select_related('camp').filter( camp_id=id_camp).count count_total_camper = Camper.objects.select_related('camp').filter( camp_id=id_camp).count camp.head.sex = sex[camp.head.personal.sex] context['active_camp'] = True context['camp'] = camp context['departments'] = departments context['MCs'] = MCs context['count_total_staff'] = count_total_staff context['count_total_camper'] = count_total_camper context['amount'] = camp.amount messages.info(request, 'ยินดีตอนรับสู่ค่าย ' + camp.name) else: user = request.user staff = Staff.objects.filter(personal=user.personal) if staff: staff = staff[0] camp = Camp.objects.filter(pk=staff.camp.id) else: camp = Camp.objects.filter(head=user) context['camps'] = camp context['active_camp'] = False return render(request, 'camp.html', context)
def campers(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp context['campers'] = reversed( Camper.objects.select_related('personal').filter(camp_id=id_camp)) if id_camp: context['active_camp'] = True return render(request, 'campers.html', context)
def delete_camper(request, id_camp, id_camper=""): context = getPersonal(request) context['id_camp'] = id_camp camper = Camper.objects.get(pk=id_camper) camper.delete() messages.warning( request, 'ลบ ' + camper.personal.first_name + ' ' + camper.personal.last_name + ' เรียบร้อย') return HttpResponseRedirect('../../../../%d/campers' % id_camp)
def flow(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True context['locations'] = Location.objects.all() context['departments'] = Department.objects.filter(camp_id=id_camp) context['mc'] = MC.objects.filter(camp_id=id_camp) return render(request, 'flow.html', context)
def delete_staff(request, id_camp, id_staff=""): context = getPersonal(request) context['id_camp'] = id_camp staff = Staff.objects.get(pk=id_staff) personal = Personal.objects.get(pk=staff.personal.id) personal.delete() staff.delete() messages.warning(request, 'ลบ '+staff.personal.first_name + ' '+staff.personal.last_name+' เรียบร้อย') return HttpResponseRedirect('../../../../%d/staffs' % id_camp)
def add_observe(request, id_camp, id_camper): context = {} context['id_camp'] = id_camp context['id_camper'] = id_camper context['name'] = getPersonal(request)['name'] context['observes'] = Observe.objects.filter(camper_id=id_camper) if request.method == 'POST': split_second = str(datetime.now().time()).split('.')[0] time = str(datetime.now().date()) + ' ' + split_second observe = request.POST.get('observe') observe_object = Observe(text=observe, time=time, camper_id=id_camper) observe_object.save() return render(request, 'camper_detail.html', context)
def add_staff(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True if request.method == 'POST': post = request.POST camp = Camp.objects.get(pk=id_camp) username = post.get('username') data_user = user.objects.get(username=username) personal = Personal.objects.get(pk=data_user.personal_id) position = post.get('position') group = post.get('group') staff = Staff( camp=camp, personal=personal, position=position, group=group, ) if post.get('department') != '0': department = Department.objects.get(name=post.get('department')) staff.department = department if post.get('mc') != '0': mc = MC.objects.get(name=post.get('mc')) staff.mc = mc my_group = Group.objects.get(name='staff') my_group.user_set.add(data_user) staff.save() messages.success(request, 'เพิ่ม Staff '+personal.first_name+' แล้ว') return HttpResponseRedirect('../../../../camp/%d/staffs/' % id_camp) else: form = StaffForm() context['camp'] = Camp.objects.get(pk=id_camp) context['userAll'] = user.objects.all() context['form'] = form context['MCs'] = MC.objects.filter(camp_id=id_camp) context['departments'] = Department.objects.filter(camp_id=id_camp) return render(request, 'add_staff.html', context)
def create_camp(request): context = getPersonal(request) if request.method == 'POST': user = request.user name = request.POST.get('name') desc = request.POST.get('desc') amount = request.POST.get('amount') start_date = request.POST.get('start_date') end_date = request.POST.get('end_date') logo = request.FILES.get('logo_pic') camp = Camp(head=user, name=name, desc=desc, amount=amount, start_date=start_date, end_date=end_date, logo=logo) camp.save() messages.success( request, 'ดำเนินการสร้าง ' + name + ' แล้ว ขอให้สนุกกับการจัดค่าย') return redirect('camp') return render(request, 'create_camp.html', context)
def profile(request): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True return render(request, 'profile.html', context)
def import_camper(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True template = "import_camper.html" camp = Camp.objects.get(pk=id_camp) data = Camper.objects.all() # GET request returns the value of the data with the specified key. if request.method == "GET": count = 0 # for _ in range(200): # personal = savePersonal(randomPersonal()) # rand = randomCamper() # camper = Camper( # camp = camp, # personal = personal, # school = rand['school'], # parent_phone = rand['parent_phone'], # parent_name = rand['parent_name'], # group = rand['group'] # ) # camper.save() # count += 1 # print('save camper', count) # messages.warning(request, 'ทำการ import camper จำนวน '+str(count)+' คน หากผิดพลาดโปรดติดต่อผู้ดูแล') return render(request, template, context) csv_file = request.FILES['file'] if not csv_file.name.endswith('.csv'): messages.error(request, 'THIS IS NOT A CSV FILE') data_set = csv_file.read().decode('utf-8-sig') dic = csv.DictReader(io.StringIO(data_set), delimiter=",") # นับจำนวน camper ทั้งหมด count = 0 for i in dic: # i.update((k, [v]) for k, v in i.items()) personal = savePersonal(i) school = i['school'] parent_phone = i['parent_phone'] parent_name = '-' group = i['group'] camper = Camper(camp=camp, personal=personal, school=school, parent_phone=parent_phone, parent_name=parent_name, group=group) camper.save() count += 1 messages.warning( request, 'ทำการ import camper จำนวน ' + str(count) + ' คน หากผิดพลาดโปรดติดต่อผู้ดูแล') return HttpResponseRedirect('../../../../camp/%d/campers/' % id_camp)
def import_staff(request, id_camp): context = getPersonal(request) context['id_camp'] = id_camp if id_camp: context['active_camp'] = True template = "import_staff.html" data = Staff.objects.all() # GET request returns the value of the data with the specified key. if request.method == "GET": count = 0 camp = Camp.objects.get(pk=id_camp) # for _ in range(200): # per = randomPersonal() # per['sid'] = '61070'+('%03d'%random.randrange(1, 500)) # personal = savePersonal(per) # rand = randomStaff() # department = Department.objects.filter(name=rand['department'], camp_id=id_camp) # mc = MC.objects.filter(name=rand['mc'], camp_id=id_camp) # group = '-' # staff = Staff( # camp = camp, # personal = personal, # position = rand['position'], # ) # check = 0 # if department: # staff.department = department[0] # else: # name = rand['department'] # typeOfDepartment = '-' # desc = '-' # if name in ['ค่าย IOT', 'ค่าย Network','ค่าย App',' ค่าย Data','ค่าย Game']: # depart = Department.objects.filter(typeOfDepartment=name, camp_id=id_camp) # if not depart: # typeOfDepartment = 'วิชาการ' # group = 'วิชาการ' # else: # check = 1 # if name == 'พี่บ้าน': # depart = Department.objects.filter(typeOfDepartment=name, camp_id=id_camp) # if not depart: # typeOfDepartment = 'ส้นทนาการ' # group = 'ส้นทนาการ' # else: # check = 1 # if check == 0: # department = Department( # camp = camp, # name = name, # typeOfDepartment = typeOfDepartment, # desc = desc # ) # department.save() # staff.department = department # if mc: # staff.mc = mc[0] # else: # name = rand['mc'] # if rand['mc'] != '-' and check == 0: # typeOfMC = '-' # desc = '-' # mc = MC( # camp = camp, # name = name, # typeOfMC = typeOfMC, # desc = desc # ) # mc.save() # staff.mc = mc # staff.group = group # staff.save() # count += 1 # print('save staff', count) return render(request, template, context) csv_file = request.FILES['file'] if not csv_file.name.endswith('.csv'): messages.error(request, 'THIS IS NOT A CSV FILE') data_set = csv_file.read().decode('utf-8-sig') dic = csv.DictReader(io.StringIO(data_set), delimiter=",") camp = Camp.objects.get(pk=id_camp) # นับจำนวน staff ทั้งหมด count = 0 for i in dic: # i.update((k, [v]) for k, v in i.items()) personal = savePersonal(i) department = Department.objects.filter( name=i['department'], camp_id=id_camp) position = 'staff' group = '-' staff = Staff( camp=camp, personal=personal, position=position, group=group, ) if department: staff.department = department[0] staff.save() count += 1 messages.warning(request, 'ทำการ import staff จำนวน ' + str(count)+' คน หากผิดพลาดโปรดติดต่อผู้ดูแล') return HttpResponseRedirect('../../../../camp/%d/staffs/' % id_camp)