Пример #1
0
def text_description_to_model(module, text, app_label, admin_register=True):
    dct = yaml.load(text)
    for model_name in dct.keys():
        fields = dct[model_name]['fields']
        attrs = {}

        for field in fields:
            attrs[field['id']] = _field_by_type(field['type'], field['title'])

        attrs['__module__'] = module.__name__

        model_name = str(model_name).capitalize()
        NewModel = type(model_name, (Model,), attrs)

        setattr(module, model_name, NewModel)

        new_ct = ContentType()
        new_ct.app_label = app_label
        new_ct.name = model_name
        new_ct.model = model_name.lower()
        new_ct.save()

        if admin_register:

            class Admin(admin.ModelAdmin):
                pass

            admin.site.register(NewModel, Admin)

    if admin_register:
        reload(import_module(settings.ROOT_URLCONF))
        clear_url_caches()
Пример #2
0
    def setUp(self):
        person = Person()

        User.objects.create(username="******", password="******")
        person.user = User.objects.get(username="******")

        person.birthDate = "1990-05-14"
        person.birthForeignCity = "Melbourne"
        person.birthForeignState = "Victoria"
        person.birthForeignCountry = '1'

        person.save()

        contentType = ContentType()
        contentType.app_label = "auth"
        contentType.model = "any"
        contentType.save()

        emailType = EmailType()
        emailType.description = "Email Type"
        emailType.save()
        email = Email()
        email.email = "*****@*****.**"
        email.email_type = EmailType.objects.all()[0]
        email.content_object = person
        email.save()

        site = Site()
        site.description = "this is a website"
        site.site = "www.google.com.br"
        site.content_object = person
        site.save()

        person.save()

        self.p = Person.objects.get(user_id=person.user.id)

        def tearDown(self):
            for person in Person.objects.all():
                person.delete()

            for user in User.objects.all():
                user.delete()
Пример #3
0
    def setUp(self):
        person = Person()
		
        User.objects.create(username="******", password="******")		
        person.user = User.objects.get(username="******")
	    
        person.birthDate = "1990-05-14"
        person.birthForeignCity = "Melbourne"
        person.birthForeignState = "Victoria"
        person.birthForeignCountry = '1'
        
        person.save()
        
        contentType = ContentType()
        contentType.app_label = "auth"
        contentType.model = "any"
        contentType.save()
        
        emailType = EmailType()
        emailType.description = "Email Type"
        emailType.save()
        email = Email()
        email.email = "*****@*****.**"
        email.email_type = EmailType.objects.all()[0]
        email.content_object = person
        email.save()

        site = Site()
        site.description = "this is a website"
        site.site = "www.google.com.br"
        site.content_object = person
        site.save()

        person.save()

        self.p = Person.objects.get(user_id=person.user.id)

	def tearDown(self):
	    for person in Person.objects.all():
	        person.delete()

	    for user in User.objects.all():
	        user.delete()
Пример #4
0
 def get_permission(permission_type, compendium_db):
     p = None
     ct = None
     try:
         ct = ContentType.objects.get(
             app_label=compendium_db.compendium_nick_name)
     except Exception as e:
         ct = ContentType()
         ct.app_label = compendium_db.compendium_nick_name
         ct.save()
     try:
         p = Permission.objects.get(content_type=ct,
                                    codename=permission_type)
     except Exception as e:
         p = Permission()
         p.content_type = ct
         p.codename = permission_type
         p.name = CommandPermission.get_name(permission_type)
         p.save()
     return p
Пример #5
0
def on_add_module(request,module_type,parent_id):
	context = {}
	try:
		parent = Module.objects.get(id=parent_id)
		context.update({'parent_name':parent.name})
		context.update({'app_name':parent.app.name})
		# title
		title = ""
		if module_type=="G":
			title = _(u"THÊM NHÓM MODULE")
		elif module_type=="M":
			title = _(u"THÊM MODULE")
		elif module_type=="P":
			title = _(u"THÊM QUYỀN")
		context.update({'title':title})
		if request.POST:
			#auto commit
			transaction.set_autocommit(False)
			#parameter
			code = request.POST["txtCode"]
			name = request.POST["txtName"]
			action = request.POST["txtAction"]
			url = request.POST["txtUrl"]
			icon = request.POST["txtIcon"]
			ord_num = request.POST["txtOrd"]
			#new Module
			module = Module()
			module.code = code
			module.name = name
			module.action = action
			module.url = url
			module.type = module_type
			module.icon_class = icon
			module.ord = ord_num
			if request.POST.get('ckStatus'):
				module.status = "1"
			else:
				module.status = "0"
			module.parent = parent
			module.app = parent.app
			module.user_name = request.user.username
			if module_type=="M":
				#Insert content type
				content_type = ContentType()
				content_type.app_label = parent.app.code
				content_type.model = code
				content_type.name = name
				content_type.save()
				module.content_type = content_type
			elif module_type=="P":
				#Insert permission
				permission = Permission()
				permission.content_type = parent.content_type
				permission.name = name
				permission.codename = code
				permission.save()
				module.permission = permission
			#save module
			module.save()
			#commit
			transaction.commit()
			return HttpResponseRedirect(str("%s?app_id="+str(parent.app.id)) % resolve_url("module"))
	except Exception as ex:
		transaction.rollback()
		context.update({'has_error':str(ex)})
	finally:
		context.update(csrf(request))
	return render_to_response("admin/module/add-module.html", context, RequestContext(request))