コード例 #1
0
def add_new_model(request, model_name):
	if (model_name.lower() == model_name):
		normal_model_name = model_name.capitalize()
	else:
		normal_model_name = model_name
	print normal_model_name
	
	if normal_model_name == 'ContentType' :
		
		if not request.user.is_staff:
			# return permission denied
			return HttpResponse(status=403)
		
		FieldFormSet = formset_factory(FieldTypeForm,extra=1)
		if request.method == 'POST':
			form1 = ContentTypeCreationForm(request.POST)
			form2 = FieldFormSet(request.POST)
			if form1.is_valid() and form2.is_valid():
				try:
					form_dict = {}
					for form in form2:
						form_dict[form.cleaned_data['field_name']] = form.cleaned_data['field_type']
					print "LOGS: Printing fomr dictionary: ", form_dict 
						
					
					if (create_content_type(slugify_name(form1.cleaned_data['content_type']),form_dict,form1.cleaned_data['is_leaf']) == False ):
						print 'Test'
						raise forms.ValidationError("something got wronged")
					new_obj = form1.save() #TODO many things
					
					print 'Test'
					print new_obj.content_type
				except forms.ValidationError:
					new_obj = None
				if new_obj:
					return HttpResponse('<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script>' % \
                	(escape(new_obj._get_pk_val()), escape(new_obj)))
				else:
					page_context = {'form1': form1,'formset':form2,  'field': normal_model_name}
					return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))
			else:
				print "form is not valid form1 ", form1.is_valid(), " form 2 ", form2.is_valid() 	
				page_context = {'form1': form1,'formset':form2,  'field': normal_model_name}
				return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))

		else:
			form = ContentTypeCreationForm()
			formset = FieldFormSet()

			page_context = {'form1': form,'formset':formset,  'field': normal_model_name }
			return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))
コード例 #2
0
def add_new_model(request, model_name):
	if (model_name.lower() == model_name):
		normal_model_name = model_name.capitalize()
	else:
		normal_model_name = model_name
	print normal_model_name
	
	if normal_model_name == 'ContentType' :
		FieldFormSet = formset_factory(FieldTypeForm,extra=1)
		if request.method == 'POST':
			form1 = ContentTypeCreationForm(request.POST)
			form2 = FieldFormSet(request.POST)
			if form1.is_valid() and form2.is_valid():
				try:
					form_dict = {}
					for form in form2:
						form_dict[form.cleaned_data['field_name']] = form.cleaned_data['field_type']
					print "LOGS: Printing fomr dictionary: ", form_dict 
						
					
					if (create_content_type(slugify_name(form1.cleaned_data['content_type']),form_dict,form1.cleaned_data['is_leaf']) == False ):
						raise forms.ValidationError("something got wronged")
					new_obj = form1.save() #TODO many things
					print new_obj.content_type
				except forms.ValidationError:
					new_obj = None
				if new_obj:
					return HttpResponse('<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script>' % \
                	(escape(new_obj._get_pk_val()), escape(new_obj)))
				else:
					page_context = {'form1': form1,'formset':form2,  'field': normal_model_name}
					return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))
			else:
				print "form is not valid form1 ", form1.is_valid(), " form 2 ", form2.is_valid() 	
				page_context = {'form1': form1,'formset':form2,  'field': normal_model_name}
				return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))

		else:
			form = ContentTypeCreationForm()
			formset = FieldFormSet()
			print form.as_table()

			page_context = {'form1': form,'formset':formset,  'field': normal_model_name }
			return render_to_response('blogging/includes/add_content_type.html', page_context, context_instance=RequestContext(request))
コード例 #3
0
 def clean_field_name(self):
     print("LOGS: clean_field_name called")
     data = slugify_name(self.cleaned_data['field_name'])
     return data
コード例 #4
0
 def save(self, *args, **kwargs):
     self.content_type = slugify_name(self.content_type)
     super(BlogContentType, self).save(*args, **kwargs)
コード例 #5
0
 def save(self, *args, **kwargs):
     self.content_type = slugify_name(self.content_type)
     super(BlogContentType, self).save(*args, **kwargs)