예제 #1
0
    def guardar_contenido(self,id=None):
        """Guarda en la base de datos el post recibido por la forma"""

        if id is not None:
            contenido = Session.query(Contenido).get(id)
            titulo_original = contenido.titulo
            schema = FormaNuevoContenido() #contra que voy a validar
            ControllerState = FormencodeState() #el estado que le voy a pasar al validador
            if request.params['titulo']!=titulo_original:
                ControllerState.cambio = True #en este caso el validador debe checar que el nuevo nombre sea unico
            else:
                ControllerState.cambio = False

            try:
                form_result = schema.to_python(request.params,ControllerState)
            except formencode.validators.Invalid, error:
                c.contenido = {'titulo':request.params['titulo'],
                              'texto':request.params['texto']}
                return htmlfill.render(render("/derived/contenidos/nuevo.mako"),c.contenido,error)

            contenido.titulo = form_result['titulo']
            contenido.texto = form_result['texto']
            contenido.editado = datetime.datetime.now()
            Session.add(contenido)
            Session.commit()
            return redirect(url(controller="contenido", action="view", id=contenido.id))
예제 #2
0
    def guardar_contenido(self, id=None):
        """Guarda en la base de datos el post recibido por la forma"""

        if id is not None:
            contenido = Session.query(Contenido).get(id)
            titulo_original = contenido.titulo
            schema = FormaNuevoContenido()  #contra que voy a validar
            ControllerState = FormencodeState(
            )  #el estado que le voy a pasar al validador
            if request.params['titulo'] != titulo_original:
                ControllerState.cambio = True  #en este caso el validador debe checar que el nuevo nombre sea unico
            else:
                ControllerState.cambio = False

            try:
                form_result = schema.to_python(request.params, ControllerState)
            except formencode.validators.Invalid, error:
                c.contenido = {
                    'titulo': request.params['titulo'],
                    'texto': request.params['texto']
                }
                return htmlfill.render(
                    render("/derived/contenidos/nuevo.mako"), c.contenido,
                    error)

            contenido.titulo = form_result['titulo']
            contenido.texto = form_result['texto']
            contenido.editado = datetime.datetime.now()
            Session.add(contenido)
            Session.commit()
            return redirect(
                url(controller="contenido", action="view", id=contenido.id))
예제 #3
0
 def _to_python(self,value,state):
     nombre_valido = Session.query(AuthUser).filter_by(username=value).first()
     if nombre_valido is not None:
         raise formencode.Invalid(
             "El nombre de usuario ya existe!!!",
             value,
             state
             )
     else:
         return value
예제 #4
0
 def _to_python(self, value, state):
     if state is not None:
         if state.cambio:
             nombre_valido = Session.query(Contenido).filter_by(
                 titulo=value).first()
             if nombre_valido is not None:
                 raise formencode.Invalid("El título ya existe!!!", value,
                                          state)
             else:
                 return value
         else:
             return value
     else:
         nombre_valido = Session.query(Contenido).filter_by(
             titulo=value).first()
         if nombre_valido is not None:
             raise formencode.Invalid("El título ya existe!!!", value,
                                      state)
         else:
             return value
예제 #5
0
    def crear_post(self,id=None):
        """Regresa la forma para crear una nueva entrada en el blog"""
        if id is not None:
            #estamos editando
            contenido = Session.query(Contenido).get(id)
            c.contenido = {'titulo':contenido.titulo,
                          'texto':contenido.texto,'id':contenido.id}
            return htmlfill.render(render("/derived/contenidos/nuevo.mako"),c.contenido)


        return render("/derived/contenidos/nuevo.mako")
예제 #6
0
    def crear_post(self, id=None):
        """Regresa la forma para crear una nueva entrada en el blog"""
        if id is not None:
            #estamos editando
            contenido = Session.query(Contenido).get(id)
            c.contenido = {
                'titulo': contenido.titulo,
                'texto': contenido.texto,
                'id': contenido.id
            }
            return htmlfill.render(render("/derived/contenidos/nuevo.mako"),
                                   c.contenido)

        return render("/derived/contenidos/nuevo.mako")
예제 #7
0
 def guardar_usuario(self):
     """Guarda el nuevo usuario en la base de datos"""
     usuario = AuthUser()
     usuario.username = self.form_result["username"]
     usuario.email = self.form_result["email"]
     usuario.password = self.form_result["password"]
     group = Session.query(AuthGroup).filter_by(name=u'usuarios').first()
     group.users.append(usuario)
     Session.add(usuario)
     Session.add(group)
     Session.commit()
     c.usuario = usuario
     session['flash'] = u"Se agregó el usuario."
     session.save()
     return render("/index.mako")
예제 #8
0
파일: usuarios.py 프로젝트: thluna/QuickCMS
 def guardar_usuario(self):
     """Guarda el nuevo usuario en la base de datos"""
     usuario = AuthUser()
     usuario.username = self.form_result["username"]
     usuario.email = self.form_result["email"]
     usuario.password = self.form_result["password"]
     group = Session.query(AuthGroup).filter_by(name=u'usuarios').first()
     group.users.append(usuario)
     Session.add(usuario)
     Session.add(group)
     Session.commit()
     c.usuario = usuario
     session['flash'] = u"Se agregó el usuario."
     session.save()
     return render("/index.mako")
예제 #9
0
 def _to_python(self,value,state):
     if state is not None:
         if state.cambio:
             nombre_valido = Session.query(Contenido).filter_by(titulo=value).first()
             if nombre_valido is not None:
                 raise formencode.Invalid(
                     "El título ya existe!!!",
                     value,
                     state
                     )
             else:
                 return value
         else:
             return value
     else:
         nombre_valido = Session.query(Contenido).filter_by(titulo=value).first()
         if nombre_valido is not None:
             raise formencode.Invalid(
                 "El título ya existe!!!",
                 value,
                 state
                 )
         else:
             return value
예제 #10
0
 def index(self,id):
     # Return a rendered template
     #return render('/usuarios.mako')
     # or, return a string
     c.usuario = Session.query(Usuario).get(id)
     return render("/derived/usuario/index.mako")
예제 #11
0
파일: usuarios.py 프로젝트: thluna/QuickCMS
 def index(self, id):
     # Return a rendered template
     #return render('/usuarios.mako')
     # or, return a string
     c.usuario = Session.query(Usuario).get(id)
     return render("/derived/usuario/index.mako")
예제 #12
0
    def view(self, id):
        """Regresa la vista de un contenido"""

        c.contenido = Session.query(Contenido).get(id)
        return render("/derived/contenidos/view.mako")
예제 #13
0
    def index(self):
        """Regresa todos los contenidos"""

        c.contenidos = Session.query(Contenido).all()
        return render("/derived/contenidos/index.mako")
예제 #14
0
    def view(self,id):
        """Regresa la vista de un contenido"""

        c.contenido = Session.query(Contenido).get(id)
        return render("/derived/contenidos/view.mako")
예제 #15
0
    def index(self):
        """Regresa todos los contenidos"""

        c.contenidos = Session.query(Contenido).all()
        return render("/derived/contenidos/index.mako")