コード例 #1
0
	def globalUser(self):
		"""
		Este metodo se usa para crear o modificar una pagina en espacifico
		variables a parasar por data 
		repeate, plantillas, categorias, post, pagina, boxes,titulo
		"""
		from modulos.ztec.zred import normalizar,redirecter
		
		if self.data["ajax"]==False:
			if self.data["action"]=="editar":
				self.data["repeate"]=1
				self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas")

				
				keys=self.data["args"][0]
				i=normalizar(self.data["args"][0])
				self.data["categorias"]={}

				self.data["titulo"]=self.data["metodo"]

				if i!=None:

					self.data["categorias"]={}
					

					self.data["titulo"]=self.data["model"]["global"].obtenerFilas("Usuarios")[i][0]
			                self.data["layout"]=self.data["titulo"]
		
			                self.data["post"]=str(i)
			                self.data["pagina"]="{'pagina':'"+self.data["titulo"]+"'}"
			                l1=self.data["model"]["global"].obtenerFilas("Usuarios")[i][1]
		                	self.data["boxes"]=[l1]
            			else:

		            		self.data["titulo"]="Agregar nuevo usuario"

            				self.data["boxes"]=self.data["model"]["global"].obtenerEstructura("Usuarios")[1]
            			self.servir()
            		elif self.data["action"]=="save":           
				#self.HEADERS.set_headers({"Content-type":"text/plain\n"})
				self.HEADERS.show()

				if self.data["args"][0]!=None:
					
					self.data["model"]["global"].modificarUsuario(self.data["args"][0],
																  self.data["request"]["usuario"].value,
																  self.data["request"]["email"].value,
																  self.data["request"]["password"].value,
																  self.data["request"]["avatar"].value,
																  self.data["request"]["permisologia"].value,
																  hours=4)
					redirecter(config,settings.app,"admin","Usuarios",action="listar")()
				else:
					self.data["model"]["global"].registrarUsuario(self.data["request"]["usuario"].value,
																  self.data["request"]["email"].value,
																  self.data["request"]["password"].value,
																  self.data["request"]["avatar"].value,
																  self.data["request"]["permisologia"].value,
																  hours=4)
					redirecter(config,settings.app,"admin","Usuarios",action="listar")()
コード例 #2
0
	def Entrada(self):
		"""
		Este metodo se usa para crear o modificar una pagina en espacifico
		"""
		from modulos.ztec.zred import normalizar,gringolizar
		
		if self.data["ajax"]==False:


			if self.data["action"]=="editar":
				#self.HEADERS.set_headers({"Content-type":"text/plain\n"})
				self.HEADERS.show()
				self.data["repeate"]=1
				self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas")

				
				keys=self.data["args"][0]
				i=normalizar(self.data["args"][0])
				self.data["categorias"]={}

				self.data["titulo"]=self.data["metodo"]
				if i!=None:

					self.data["categorias"]={}
					tabla=self.data["model"]["paginas"].obtenerFilas("Entradas")[i]
					self.data["titulo"]=tabla[0]
					self.data["meta-layout"]=self.data["model"]["paginas"].exportarMetadato(tabla[4],"layout")
					self.data["meta-control"]=self.data["model"]["paginas"].exportarMetadato(tabla[4],"control")

					self.data["post"]=gringolizar(self.data["titulo"],"-")
					self.data["control-post"]="Blog"
					l1=self.data["model"]["paginas"].obtenerFilas("Entradas")[i][1]
					self.data["boxes"]=[l1]
				else:
					self.data["titulo"]="Crea una nueva entrada"
					self.data["layout"]=self.data["titulo"]
					self.data["post"]=gringolizar(self.data["titulo"],"-")
					self.data["control-post"]="Inicio"
					self.data["boxes"]=[self.data["model"]["paginas"].obtenerEstructura("Entradas")[1]]

				modelos=self.data["model"]["main"].obtenerFilas('Tablas,args>Modelos')[0][0]
				tablas=self.data["model"]["main"].obtenerFilas('args>Tablas')[0][0]
				
				self.data["vars"]["modelos"]=modelos
				self.data["vars"]["opciones"]=self.data["model"][modelos[self.data["metodo"]]].obtenerFilas('Opciones')
				self.data["vars"]["Tablas"]=tablas
				self.servir()
			elif self.data["action"]=="save":           
				#self.HEADERS.set_headers({"Content-type":"text/plain\n"})
				self.HEADERS.show()

				if self.data["args"][0]!=None:
					self.data["model"]["paginas"].modificarEntrada(self.data["args"][0],self.data["request"],self.data["metadatos"])
					redirecter(config,settings.app,"admin","Entrada",str(self.data["args"][0]),action="editar")()
				else:
					self.data["model"]["paginas"].crearEntrada(self.data["request"],self.data["metadatos"])
					redirecter(config,settings.app,"admin","Entrada","None",action="editar")()
コード例 #3
0
ファイル: Login.py プロジェクト: ZerpaTechnology/asenzor-v2
    def Registrarse(self):
        try:

            self.data["model"]["usuarios" if self.data["isGlobalUser"] ==
                               False else "global"].registrarUsuario(
                                   self.data["request"]["usuario"]["value"],
                                   data["email"].value,
                                   self.data["request"]["password"].value,
                                   self.data["opciones"]["archivos"][1]
                                   [1].index(data["avatar"].value),
                                   self.data["opciones"]
                                   ["usuarios" if self.data["isGlobalUser"] ==
                                    False else "global"][0][1].index(
                                        data["permisologia"].value))

            token = self.data[
                "model"]["usuarios" if self.data["isGlobalUser"] ==
                         False else "global"].login(
                             self.data["request"]["email"].value,
                             self.data["request"]["password"].value)

            #pendiente que de momento trabajamos solo con la cookie token

            cookies = getCookie()
            folder = os.getcwd().replace("\\", "/").split("/")[-2]
            if self.data["isGlobalUser"] == False:

                if "token" in cookies:
                    tokens = normalizar(cookies["token"])

                else:
                    tokens = {}
                tokens[settings.app] = token
                cookie["token"] = tokens
                cookie["token"]["path"] = "/" + (
                    folder if folder != config.host_folder else "")
            else:

                cookie["token2"]["path"] = "/" + (
                    folder if folder != config.host_folder else "")
            #print "token="+str(tokens)[1:-1].replace("'","").replace('"',"").replace(" ","")

            print cookie

            HEADERS.show()
            contenttype = True

            redirecter(config, self.data["app"], "admin", "")()
        except Exception, e:
            print str(e)[1:-1]
コード例 #4
0
	def Formulario(self):
		"""
		Este metodo se usa para crear o modificar una pagina en espacifico
		"""
		from modulos.ztec.zred import normalizar,redirecter
		self.HEADERS.show()
		
		if self.data["ajax"]==False:
			
			if self.data["action"]=="editar":
				self.data["repeate"]=1
				self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas")

				
				keys=self.data["args"][0]
				i=normalizar(self.data["args"][0])
				self.data["categorias"]={}

				self.data["titulo"]=self.data["metodo"]
				if i!=None:

					self.data["categorias"]={}
					self.data["titulo"]=self.data["model"]["formularios"].obtenerFilas("Formularios")[i][0]
					self.data["layout"]=self.data["titulo"]

			                self.data["post"]=str(i)
			                self.data["pagina"]="{'pagina':'"+self.data["titulo"]+"'}"
			                l1=self.data["model"]["formularios"].obtenerFilas("Formularios")[i][1]
		
		
			                self.data["boxes"]=[l1]
				else:
					
					self.data["titulo"]="Subir nuevo archivo"
					self.data["boxes"]=self.data["model"]["formularios"].obtenerEstructura("Formularios")[1]
				self.servir()

			elif self.data["action"]=="save":            	
				self.data["model"]["formularios"].modificarFormulario(self.data["args"][0],self.data["request"])
				redirecter(config,settings.app,"admin","Formulario",str(self.data["args"][0]),action="editar")()
			elif self.data["action"]=="post":
				"""
				Esta accion es registrada por el usuario y no por el administrador
				"""
				
				self.data["model"]["formularios"].registrarFormulario(self.data["indice"],self.data["tabla"],self.data["request"])
				redirecter(config,settings.app,"")()
コード例 #5
0
ファイル: Login.py プロジェクト: ZerpaTechnology/asenzor-v2
 def Actualizar_usuario(self):
     HEADERS.show()
     if self.data["model"]["global"].isUser(self.data["user"]["email"]):
         self.data["model"]["usuarios"].modificarUsuario(
             indice, data["usuario"].value,
             self.data["request"]["email"].value,
             self.data["request"]["password"].value,
             self.data["opciones"]["archivos"][1][1].index(
                 data["avatar"].value), self.data["opciones"]
             ["usuarios" if self.data["isGlobalUser"] ==
              False else "global"][0][1].index(
                  self.data["permisologia"].value))
     redirecter(config,
                self.data["app"],
                "admin",
                "Usuarios",
                action="listar")()
コード例 #6
0
    def Entrar(self):
        self.HEADERS.set_headers({"Content-type": "text/html\n"})

        estudiante = self.model["main"].obtenerEstudiante(
            expediente=self.data["request"]["expediente"])

        if estudiante != None:
            self.login.Entrar(estudiante[0]["email"]["value"],
                              self.data["request"]["password"])
            redirecter(config,
                       "Plugin",
                       plugin_settings.name,
                       "sc",
                       "iframe",
                       sc="login",
                       manager=True,
                       app=self.data["app"])()
コード例 #7
0
ファイル: Login.py プロジェクト: ZerpaTechnology/asenzor-v2
    def Salir(self):
        if "token" in self.data:

            folder = os.getcwd().replace("\\", "/").split("/")[-2]
            import Cookie
            cookie = Cookie.SimpleCookie()

            if ((self.data["isGlobalUser"] == False
                 and self.data["model"]["usuarios"].closeSession(
                     self.data["token"]))
                    or (self.data["isGlobalUser"] == True
                        and self.data["model"]["global"].closeSession(
                            self.data["token"]))):

                folder = os.getcwd().replace("\\", "/").split("/")[-2]
                cookies = getCookie()
                if self.data["isGlobalUser"] == False:
                    cookie["token"] = cookies["token"]
                    cookie["token"]["path"] = "/" + (
                        folder if folder != config.host_folder else "")
                    cookie["token"][
                        "expires"] = "Thu, 01 Jan 1970 00:00:01 GMT"
                else:
                    cookie["token2"] = cookies["token2"]
                    cookie["token2"]["path"] = "/" + (
                        folder if folder != config.host_folder else "")
                    cookie["token2"][
                        "expires"] = "Thu, 01 Jan 1970 00:00:01 GMT"

                print cookie
                self.HEADERS.show()
                contenttype = True
                redirecter(config, self.data["app"], "admin", "")()
            else:

                print "No se a podido cerrar la sesion"
        else:
            self.HEADERS.show()
            redirecter(config, self.data["app"], "admin", "")()
コード例 #8
0
    def Ayuda(self):
        """
		Este metodo se usa para controlar el conjunto de paginas
		"""
        from modulos.ztec.zred import listar, listarAjax, normalizar, redirecter
        if self.data["ajax"] == False:
            if self.data["action"] == "listar":
                self.HEADERS.show()
                self.data["Tabla"] = "Ayuda"
                self.data["Modelos"] = ["ayuda"]
                listar(self.data, config)

                self.servir()
            elif self.data["action"] == "editar":
                self.data["repeate"] = 1
                self.data["plantillas"] = self.data["model"][
                    "main"].obtenerFilas("Plantillas")
                keys = self.data["metodo"]

                i = normalizar(self.data["args"][0])
                self.data["categorias"] = {}
                self.data["titulo"] = self.data["metodo"]

                if i != None:
                    self.data["categorias"] = {}

                    self.data["titulo"] = self.data["model"][
                        "ayuda"].obtenerFilas("Ayuda")[i][0]

                    l1 = self.data["model"]["ayuda"].obtenerFilas(
                        "Ayuda")[i][1]

                    self.data["boxes"] = [l1]
                else:
                    data["titulo"] = "Subir nuevo archivo"
                    data["boxes"] = data["model"]["ayuda"].obtenerEstructura(
                        "Ayuda")
                self.servir()
            elif self.data["action"] == "save":
                self.HEADERS.show()
                if self.data["args"][0] != None:

                    self.data["model"]["ayuda"].modificarTema(
                        self.data["args"][0], self.data["request"],
                        self.data["metadatos"])
                    redirecter(config,
                               settings.app,
                               "admin",
                               "Ayuda",
                               action="listar")()
                else:
                    self.data["model"]["ayuda"].crearTema(
                        self.data["request"], self.data["metadatos"])
                    redirecter(config,
                               settings.app,
                               "admin",
                               "Ayuda",
                               action="listar")()

        else:
            self.HEADERS.set_headers({"Content-type": "text/plain"})
            if self.data["action"] == "listar":
                self.HEADERS.show()
                listarAjax(self.data, config)
コード例 #9
0
    def Archivo(self):
        """
		Este metodo se usa para crear o modificar una pagina en espacifico
		"""
        from modulos.ztec.zred import normalizar
        self.HEADERS.show()
        if self.data["ajax"] == False:

            if self.data["action"] == "editar":
                self.data["repeate"] = 1
                self.data["plantillas"] = self.data["model"][
                    "main"].obtenerFilas("Plantillas")

                keys = self.data["args"][0]

                i = normalizar(self.data["args"][0])

                self.data["categorias"] = {}

                self.data["titulo"] = self.data["metodo"]

                if i != None:
                    self.data["categorias"] = {}

                    self.data["titulo"] = self.data["model"][
                        "archivos"].obtenerFilas("Archivos")[i][0]
                    l1 = self.data["model"]["archivos"].obtenerFilas(
                        "Archivos")[i][1]
                    self.data["boxes"] = [l1]

                else:
                    self.data["titulo"] = "Subir nuevo archivo"
                    self.data["boxes"] = [
                        self.data["model"]["archivos"].obtenerEstructura(
                            "Archivos")[1]
                    ]

                modelos = self.data["model"]["main"].obtenerFilas(
                    'Tablas,args>Modelos')[0][0]
                tablas = self.data["model"]["main"].obtenerFilas(
                    'args>Tablas')[0][0]
                self.data["control-post"] = "static"
                self.data["post"] = self.data["titulo"]
                self.data["vars"]["modelos"] = modelos
                self.data["vars"]["opciones"] = self.data["model"][modelos[
                    self.data["metodo"]]].obtenerFilas('Opciones')
                self.data["vars"]["Tablas"] = tablas
                self.servir()

            elif self.data["action"] == "save":
                #self.HEADERS.set_headers({"Content-type":"text/plain\n"})
                self.HEADERS.show()
                opciones = self.data["model"]["archivos"].obtenerFilas(
                    "Opciones")
                for k, elem in enumerate(opciones):
                    if elem[0] == "Categorias":
                        tipo = opciones[k][1][int(
                            self.data["request"]["tipo"].value)]

                if self.data["args"][0] == None:

                    resultado = self.data["model"]["archivos"].subirArchivo(
                        self.data["request"], self.data["metadatos"]
                        if "metadatos" in self.data else {})
                    if resultado:
                        redirecter(config,
                                   settings.app,
                                   "admin",
                                   "Archivo",
                                   "None",
                                   action="editar")()
                        pass
                    else:
                        print "Ya existe un archivo con el mismo nombre,  por favor utilice otro nombre,<br>", " regresando en 3 segundos..."
                        print "<script>setTimeout(function(){history.back()},3000)</script>"
                else:

                    self.data["model"]["archivos"].actualizarArchivo(
                        self.data["args"][0], self.data["request"],
                        self.data["metadatos"]
                        if "metadatos" in self.data else {})

                    redirecter(config,
                               settings.app,
                               "admin",
                               "Archivo",
                               str(self.data["args"][0]),
                               action="editar")()
コード例 #10
0
ファイル: Login.py プロジェクト: ZerpaTechnology/asenzor-v2
    def Entrar(self, email=None, password=None):
        """
			Metodo de logeado de la pagina 
			"""

        if ("email" in self.data["request"]
                and "password" in self.data["request"]) or (email != None and
                                                            password != None):
            from modulos.ztec.zred import getCookie, normalizar, redirecter

            import Cookie
            cookie = Cookie.SimpleCookie()
            token = False

            if self.data["model"]["global"].isUser(
                    self.data["request"]["email"].value if email ==
                    None else email):

                token = self.data["model"]["global"].login(
                    self.data["request"]["email"].value if email == None else
                    email, self.data["request"]["password"].value
                    if password == None else password)
                self.data["isGlobalUser"] = True
            elif self.data["model"]["usuarios"].isUser(
                    self.data["request"]["email"].value if email ==
                    None else email):

                token = self.data["model"]['usuarios'].login(
                    self.data["request"]["email"].value
                    if email == None else email,
                    self.data["password"] if password == None else password)

                self.data["isGlobalUser"] = False

            if token != False:
                #pendiente que de momento trabajamos solo con la cookie token
                cookies = getCookie()

                if "token" in cookies:

                    tokens = normalizar(cookies["token"]) if normalizar(
                        cookies["token"]) != "" else {}

                else:
                    tokens = {}
                if "token2" in cookies:
                    token2 = normalizar(cookies["token2"])
                else:
                    token2 = "None"

                folder = os.getcwd().replace("\\", "/").split("/")[-2]

                if self.data["isGlobalUser"]:

                    cookie["token2"] = token
                    cookie["token2"]["path"] = "/" + (
                        folder if folder != config.host_folder else "")

                else:

                    if self.data["app"] != None and self.data["user"] == None:
                        from settings import config as settings
                        from settings import routes

                        tokens[settings.app] = token

                        cookie["token"] = tokens

                        cookie["token"]["path"] = "/" + (
                            folder if folder != config.host_folder else "")

                print cookie
                self.HEADERS.show()

                contenttype = True
                if self.data["global_control"] == None:
                    redirecter(config, self.data["app"], "admin", "")()
                    pass
            else:
                self.HEADERS.show()
                contenttype = True
                print "Datos incorrectos"
コード例 #11
0
    def Galeria(self):
        """
		Este metodo se usa para crear o modificar una pagina en espacifico
		"""
        from modulos.ztec.zred import normalizar, gringolizar, redirecter

        if self.data["ajax"] == False:
            if self.data["action"] == "editar":
                #self.HEADERS.set_headers({"Content-type":"text/plain\n"})
                self.HEADERS.show()

                self.data["repeate"] = 1
                self.data["plantillas"] = self.model["main"].obtenerFilas(
                    "Plantillas")

                keys = self.data["args"][1]

                i = self.data["args"][2]

                self.data["categorias"] = {}

                self.data["titulo"] = self.data["metodo"]

                if i != None:
                    self.data["categorias"] = {}

                    tabla = self.model["galerias"].obtenerFilas("Galerias")[i]

                    self.data["titulo"] = tabla[0]

                    self.data["meta-layout"] = self.data["model"][
                        "paginas"].exportarMetadato(tabla[4], "layout")
                    self.data["meta-control"] = self.data["model"][
                        "paginas"].exportarMetadato(tabla[4], "control")

                    self.data["post"] = ""
                    self.data["control-post"] = gringolizar(
                        self.data["titulo"], "-")

                    l1 = self.data["plugins"][plugin_settings.name].model[
                        "galerias"].obtenerFilas("Galerias")[i][1]
                    self.data["boxes"] = [l1]
                    self.data["vars"] = {
                        "titulos": [],
                        "actual": self.data["titulo"]
                    }

                    for elem in self.data["plugins"][
                            plugin_settings.
                            name].model["galerias"].obtenerFilas("Galerias"):
                        self.data["vars"]["titulos"].append(elem[0])

                else:
                    self.data["titulo"] = "Crea una nueva pagina"
                    self.data["meta-layout"] = self.data["titulo"]
                    self.data["post"] = gringolizar(self.data["titulo"], "-")
                    self.data["control-post"] = "Inicio"
                    self.data["boxes"] = [
                        self.model["galerias"].obtenerEstructura("Galerias")[1]
                    ]

                modelos = self.data["model"]["main"].obtenerFilas(
                    'Tablas,args>Modelos')[0][0]
                tablas = self.data["model"]["main"].obtenerFilas(
                    'args>Tablas')[0][0]

                self.data["vars"]["modelos"] = modelos
                self.data["vars"]["opciones"] = self.data["opciones"]
                self.data["vars"]["Tablas"] = tablas

            elif self.data["action"] == "save":
                #self.HEADERS.set_headers({"Content-type":"text/plain\n"})
                self.HEADERS.show()

                if self.data["args"][2] != None:

                    self.model["galerias"].modificarGaleria(
                        self.data["args"][2], self.data["request"],
                        self.data["metadatos"])
                    redirecter(config,
                               settings.app,
                               "admin",
                               "Plugin",
                               plugin_settings.name,
                               "Galerias",
                               action="listar")()
                else:

                    self.model["galerias"].crearGaleria(
                        self.data["request"], self.data["metadatos"])

                    redirecter(config,
                               settings.app,
                               "admin",
                               "Plugin",
                               plugin_settings.name,
                               "Galeria",
                               self.data["args"][2],
                               action="listar")()
コード例 #12
0
    def Shortcode(self):
        """
		Este metodo se usa para crear o modificar una pagina en espacifico
		"""
        from modulos.ztec.zred import normalizar, gringolizar, redirecter

        if self.data["ajax"] == False:
            if self.data["action"] == "editar":
                #self.HEADERS.set_headers({"Content-type":"text/plain\n"})
                self.HEADERS.show()

                self.data["repeate"] = 1
                self.data["plantillas"] = self.model["main"].obtenerFilas(
                    "Plantillas")

                keys = self.data["args"][1]

                i = self.data["args"][2]
                self.data["categorias"] = {}

                self.data["titulo"] = self.data["metodo"]

                if i != None:
                    self.data["categorias"] = {}

                    tabla = self.model["shortcodes"].obtenerFilas(
                        "Shortcodes")[i]

                    self.data["titulo"] = tabla[0]

                    self.data["meta-layout"] = self.data["model"][
                        "paginas"].exportarMetadato(tabla[4], "layout")
                    self.data["meta-control"] = self.data["model"][
                        "paginas"].exportarMetadato(tabla[4], "control")

                    self.data["post"] = ""
                    self.data["control-post"] = gringolizar(
                        self.data["titulo"], "-")

                    l1 = self.data["plugins"][plugin_settings.name].model[
                        "shortcodes"].obtenerFilas("Shortcodes")[i][1]
                    self.data["boxes"] = [l1]
                    self.data["vars"] = {
                        "titulos": [],
                        "actual": self.data["titulo"]
                    }

                    for elem in self.data["plugins"][
                            plugin_settings.name].model[
                                "shortcodes"].obtenerFilas("Shortcodes"):
                        self.data["vars"]["titulos"].append(elem[0])

                else:
                    self.data["titulo"] = "Crea una nueva pagina"
                    self.data["meta-layout"] = self.data["titulo"]
                    self.data["post"] = gringolizar(self.data["titulo"], "-")
                    self.data["control-post"] = "Inicio"
                    self.data["boxes"] = [
                        self.model["shortcodes"].obtenerEstructura(
                            "Shortcodes")[1]
                    ]

                modelos = self.data["model"]["main"].obtenerFilas(
                    'Tablas,args>Modelos')[0][0]
                tablas = self.data["model"]["main"].obtenerFilas(
                    'args>Tablas')[0][0]

                self.data["vars"]["modelos"] = modelos
                self.data["vars"]["opciones"] = self.data["opciones"]
                self.data["vars"]["Tablas"] = tablas

            elif self.data["action"] == "save":
                #self.HEADERS.set_headers({"Content-type":"text/plain\n"})
                self.HEADERS.show()
                titulo = self.data["request"]["titulo"].value.strip(
                )[self.data["request"]["titulo"].value.strip().find("-") + 1:]
                f = open(
                    plugin_settings.__path__ +
                    plugin_settings.shortcodes_folder + titulo + ".py", "w")
                f.write(decode(self.data["request"]["controlador"].value))
                f.close()
                f = open(
                    plugin_settings.__path__ + plugin_settings.widgets_folder +
                    titulo + ".html", "w")
                f.write(decode(self.data["request"]["layout"].value))
                f.close()

                if self.data["args"][2] != None:

                    self.model["shortcodes"].modificarShortcode(
                        self.data["args"][2], self.data["request"],
                        self.data["metadatos"])
                    redirecter(config,
                               settings.app,
                               "admin",
                               "Plugin",
                               plugin_settings.name,
                               "Shortcode",
                               str(self.data["args"][2]),
                               action="editar")()
                else:
                    self.model["shortcodes"].crearShortcode(
                        self.data["request"], self.data["metadatos"])

                    redirecter(config,
                               settings.app,
                               "admin",
                               "Plugin",
                               plugin_settings.name,
                               "Shortcode",
                               str(self.data["args"][2]),
                               action="editar")()