Skip to content

Instantly share code, notes, and snippets.

@Tushant
Created October 9, 2017 00:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tushant/75ab9141666f05eddff4aa5012b64ec4 to your computer and use it in GitHub Desktop.
Save Tushant/75ab9141666f05eddff4aa5012b64ec4 to your computer and use it in GitHub Desktop.
# right now this form works only for Resume but how do I make it more generic to follow django DRY principle
def addForm(request, form, template):
if request.method == "POST":
if form.is_valid():
resume_instance = Resume.objects.get(applicant=request.user)
new_form = form.save(commit=False)
new_form.resume=resume_instance
new_form.save()
messages.success(request, 'Thank you')
messages.warning(request, 'Correct the error')
context = {
'form': form
}
return render(request, template, context)
def edit_form(request, form, template):
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(request, 'successfully updated')
messages.warning(request, 'Correct the error')
context={
'form': form
}
return render(request, template, context)
def resume_form(request):
template='userDashboard/user/resume.html'
user = request.user
try:
resume = Resume.objects.get(applicant=request.user)
if (user and resume):
form = ResumeForm(request.POST or None, instance=resume)
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(request, 'Thank you for updating the personal detail')
messages.warning(request, 'Error')
context={'form': form}
return render(request, template, context)
except Resume.DoesNotExist:
print ('error')
form = ResumeForm(request.POST or None)
if request.method=='POST' and form.is_valid():
peronal_detail = form.save(commit=False)
personal_detail.applicant=user
personal_detail.save()
messages.success(request, 'Thank you for posting the personal detail')
messages.warning(request, 'Error is here')
context={'form': form}
return render(request, template, context)
def add_education(request):
form = addForm(request, EducationForm(request.POST or None), 'userDashboard/user/add_education.html')
return form
def edit_education(request, id):
instance = get_object_or_404(Education, id=id)
form = edit_form(request, EducationForm(request.POST or None, instance=instance), 'userDashboard/user/add_education.html')
return form
def add_experience(request):
form = addForm(request, ExperienceForm(request.POST or None), 'userDashboard/user/add_experience.html')
return form
def edit_experience(request, id):
instance = get_object_or_404(Experience, id=id)
form = edit_form(request, ExperienceForm(request.POST or None, instance=instance), 'userDashboard/user/add_experience.html')
return form
def add_skill(request):
form = addForm(request, SkillForm(request.POST or None), 'userDashboard/user/add_skill.html')
return form
def edit_skill(request, id):
instance = get_object_or_404(Skill, id=id)
form = edit_form(request, SkillForm(request.POST or None, instance=instance), 'userDashboard/user/add_skill.html')
return form
def usersetting(request):
form = UserSettingForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
user_setting = form.save(commit=False)
user_setting.user=request.user
user_setting.save()
messages.success(request, 'Thank you')
messages.warning(request, 'correct the error')
context = {
'form': form
}
return render(request, 'userDashboard/user/user_setting.html', context)
def edit_usersetting(request, id):
print ('id', id)
user_setting_instance = get_object_or_404(UserSetting, id=id)
form = UserSettingForm(request.POST or None, instance=user_setting_instance)
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(request, 'Thank you')
messages.warning(request, 'correct the error')
context = {
'form': form
}
return render(request, 'userDashboard/user/user_setting.html', context)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment