def book_slot(request, slot_id): if request.is_ajax(): s = Slot.objects.get(id=slot_id) if request.POST["patient"] is None or int( request.POST["patient"]) == 0: # new Patient s.informations = request.POST["informations"] p = Patient(email=unicode(request.POST["email"]), first_name=unicode(request.POST["first_name"]), last_name=unicode(request.POST["last_name"]), telephone=unicode(request.POST["telephone"])) p.confirm = string_random(32) p.save() mail_patient_welcome(request, p) s.patient = p s.informations = unicode(request.POST["informations"]) else: p = Patient.objects.get(id=int(request.POST["patient"])) s.patient = p s.booked = True s.save() s.icalendar() mail_patient_new_appointment(request, s) d = {'return': True, 'slot': s.as_json()} return HttpResponse(json.dumps(d))
def save(self, *args, **kwargs): if not self.random: self.random = string_random(16) super(Slot, self).save(*args, **kwargs) if self.refer_doctor: self.path = os.path.join(settings.MEDIA_ROOT, 'ics', 'slot', '%s_%s_%s.ics' % (self.random, self.refer_doctor.slug, self.id)) super(Slot, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.random: self.random = string_random(16) super(Slot, self).save(*args, **kwargs) if self.refer_doctor: self.path = os.path.join( settings.MEDIA_ROOT, 'ics', 'slot', '%s_%s_%s.ics' % (self.random, self.refer_doctor.slug, self.id)) super(Slot, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.date_start: self.date_start = datetime.now() self.date_end = self.date_start + relativedelta(months=+self.type_price.num_months) super(Invoice, self).save(*args, **kwargs) if self.price_incVAT != ((self.VAT / 100) * self.price_exVAT) + self.price_exVAT: self.price_VAT = (self.VAT / 100) * self.price_exVAT self.price_incVAT = self.price_VAT + self.price_exVAT # super(Invoice, self).save(*args, **kwargs) self.invoice_number = get_number(self.date_creation.year) self.path = os.path.join('invoice', '%s_%s_%s.pdf' % (string_random(16), self.date_creation.year, self.invoice_number)) super(Invoice, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.date_start: self.date_start = datetime.now() self.date_end = self.date_start + relativedelta( months=+self.type_price.num_months) super(Invoice, self).save(*args, **kwargs) if self.price_incVAT != ( (self.VAT / 100) * self.price_exVAT) + self.price_exVAT: self.price_VAT = (self.VAT / 100) * self.price_exVAT self.price_incVAT = self.price_VAT + self.price_exVAT # super(Invoice, self).save(*args, **kwargs) self.invoice_number = get_number(self.date_creation.year) self.path = os.path.join( 'invoice', '%s_%s_%s.pdf' % (string_random(16), self.date_creation.year, self.invoice_number)) super(Invoice, self).save(*args, **kwargs)
def create_user(request): c = {} if request.method == 'POST': ucform = UserCreateForm(request.POST) upform = UserProfileForm(request.POST) docform = DoctorForm(request.POST) invoiceform = MiniInvoiceForm(request.POST) if ucform.is_valid() and upform.is_valid() and docform.is_valid( ) and invoiceform.is_valid(): i = invoiceform.save() u = ucform.save() up = upform.save() u.is_active = False u.save() i.active = True i.save() up.confirm = string_random(32) doc = docform.save() doc.refer_userprofile = up for st in settings.SLOT_TYPE: doc.get_colorslot(st[0]) doc.invoices.add(i) doc.save() up.user = u up.doctors.add(doc) # TODO regarder dans collaborator pour voir si il faut en rajouter up.current_doctor = doc up.save() doc.set_slug() doc.save() mail_user_welcome(request, up, True) c['mail'] = True return render(request, 'valid.tpl', c) else: c['form'] = [ucform, upform, docform, invoiceform] messages.error(request, "Error") else: c['form'] = [ UserCreateForm(), UserProfileForm(), DoctorForm(), MiniInvoiceForm() ] c['url'] = "/user/create_user/" c['title'] = _("New doctor") return render(request, 'form.tpl', c)
def create_user(request): c = {} if request.method == 'POST': ucform = UserCreateForm(request.POST) upform = UserProfileForm(request.POST) docform = DoctorForm(request.POST) invoiceform = MiniInvoiceForm(request.POST) if ucform.is_valid() and upform.is_valid() and docform.is_valid() and invoiceform.is_valid(): i = invoiceform.save() u = ucform.save() up = upform.save() u.is_active = False u.save() i.active = True i.save() up.confirm = string_random(32) doc = docform.save() doc.refer_userprofile = up for st in settings.SLOT_TYPE: doc.get_colorslot(st[0]) doc.invoices.add(i) doc.save() up.user = u up.doctors.add(doc) # TODO regarder dans collaborator pour voir si il faut en rajouter up.current_doctor = doc up.save() doc.set_slug() doc.save() mail_user_welcome(request, up, True) c['mail'] = True return render(request, 'valid.tpl', c) else: c['form'] = [ucform, upform, docform, invoiceform] messages.error(request, "Error") else: c['form'] = [UserCreateForm(), UserProfileForm(), DoctorForm(), MiniInvoiceForm()] c['url'] = "/user/create_user/" c['title'] = _("New doctor") return render(request, 'form.tpl', c)
def book_slot(request, slot_id): if request.is_ajax(): s = Slot.objects.get(id=slot_id) if request.POST["patient"] is None or int(request.POST["patient"]) == 0: # new Patient s.informations = request.POST["informations"] p = Patient(email=unicode(request.POST["email"]), first_name=unicode(request.POST["first_name"]), last_name=unicode(request.POST["last_name"]), telephone=unicode(request.POST["telephone"])) p.confirm = string_random(32) p.save() mail_patient_welcome(request, p) s.patient = p s.informations = unicode(request.POST["informations"]) else: p = Patient.objects.get(id=int(request.POST["patient"])) s.patient = p s.booked = True s.save() s.icalendar() mail_patient_new_appointment(request, s) d = {'return': True, 'slot': s.as_json()} return HttpResponse(json.dumps(d))
def update(self): self.confirm = string_random(32)