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()
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()
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()
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
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))