Exemple #1
0
    def post(self, request):
        data = request.POST.copy()
        passs = request.POST.get('password', None)
        pk = request.POST.get('pk', None)
        group = request.POST.get('groups', None)

        if group:
            data['groups'] = group

        try:
            instanced = User.objects.get(pk=pk)
        except:
            instanced = None

        data['date_joined'] = datetime.datetime.now()
        response = {}
        forma = FormCreator()
        forma = forma.form_to_model(modelo=User, excludes=[])
        if instanced:
            forma.base_fields['password'].required = False
        else:
            forma.base_fields['password'].required = True
        forma.base_fields['email'].required = True
        forma.base_fields['groups'].required = True

        data['is_active'] = True
        data['is_staff'] = True

        if passs:
            data['password'] = make_password(data['password'])

        forma = forma(data, instance=instanced)

        if forma.is_valid():
            saved = forma.save()

            response['saved'] = 'ok'
            response['datos'] = {
                'msg': u'guardao con éxito',
                'liga': '/admins/users/'
            }
            response['callback'] = 'reg_success_user'

        else:
            response['msg'] = 'Verifique su información'
            response['errors'] = forma.errors

        returns = HttpResponse(simplejson.dumps(response))

        return returns
    def get(self,request):

        pax = checkuser(request)
        if pax:
            return redirect('/home/')


        context = {}
        forma = FormCreator()
        pk = request.POST.get('pk',None)


        if pk:
            instanced = User.objects.get(pk=pk)
            permisos = instanced.permission_set.all()[0]
            permisos = permisos.permslist()
        else:
            instanced = None
            permisos = []


        widgets = {
            'password':forms.PasswordInput(),
            'groups':forms.Select()
        }

        forma = forma.form_to_model(modelo=User,
                                             fields=['username','password','first_name','last_name','email','groups'],
                                             widgets = widgets
                                             )
        for x,y in forma.base_fields.iteritems():
            (y.widget.attrs.update({'class':'form-control'}))


        forma = forma(instance=instanced)

        sections = None     


        context['forma'] = forma
        context['pk'] = pk
        context['sections'] = sections
        context['permisos'] = permisos
        context['grupos'] = Group.objects.all().order_by('name')

        response = render(request, self.template, context)
        return response
    def post(self, request):
        data = request.POST.copy()
        f = FormCreator()
        forma = f.form_to_model(modelo=Downloadmod, excludes=[])
        forma = forma(data, request.FILES)

        if forma.is_valid():
            saved = forma.save()
            response = HttpResponse(
                simplejson.dumps({'path': '/%s' % saved.dwfile.url}))
            return response
        else:
            response = HttpResponse(
                simplejson.dumps({
                    'msg': 'something is wrong :(',
                    'err': forma.errors
                }))
            return response
    def post(self, request):
        data = request.POST.copy()
        f = FormCreator()
        forma = f.form_to_model(modelo=LinkDwn, excludes=[])
        try:
            instanced = LinkDwn.objects.get(pk=data['pk'])
        except:
            instanced = None

        forma = forma(data, instance=instanced)

        if forma.is_valid():
            saved = forma.save()
            responsed = {'saved': 'ok', 'pk': saved.pk}
        else:
            errs = '%s' % (forma.errors)
            responsed = {'errors': errs}

        response = HttpResponse(simplejson.dumps(responsed))
        return response
    def get(self, request):

        logout_pass = request.GET.get('logout', None)

        if logout_pass:
            logout(request)

        if request.user.is_active:
            if 'admon' in request.user.groups.all():

                if u'campañas' in request.user.groups.all():
                    response = redirect("/campains/")
                else:
                    response = redirect("/admin/")

                return response
            else:
                response = redirect("/home/")
                return response

        context = {}
        forma = FormCreator()
        widgets = {
            'password': forms.PasswordInput(),
        }

        forma = forma.form_to_model(modelo=User,
                                    fields=[
                                        'username', 'password', 'first_name',
                                        'last_name', 'email'
                                    ],
                                    widgets=widgets)
        for x, y in forma.base_fields.iteritems():
            (y.widget.attrs.update({'class': 'form-control'}))

        context['forma'] = forma

        response = render(request, self.template, context)
        return response
    def post(self, request):
        assert False, 'done'
        response = {}
        data = request.POST.copy()
        imagens = request.POST.get('webimage', None)
        pkid = request.POST.get('pkid', None)
        rowpk = request.POST.get('rowpk', None)

        if rowpk:
            rowupdate = Rowsection.objects.get(pk=rowpk)
            rowupdate.configur = data['columns']
            rowupdate.save()

        if pkid:
            instanced = Mediasection.objects.get(pk=pkid)

        else:
            instanced = None

        data['orden'] = 1
        if imagens:
            imagen = imagens.decode('base64')
            original = Image.open(BytesIO(imagen))
            name_imagen = 'brouch.%s' % original.format.lower()
            data['webimage'] = ContentFile(imagen, name_imagen)
        f = FormCreator()
        forma = f.form_to_model(modelo=Mediasection, excludes=[])
        forma = forma(data, instance=instanced)
        if forma.is_valid():
            saved = forma.save()
            if imagens:
                saved.webimage = data['webimage']
                saved.save()

            response = {'pk': saved.pk}
        else:
            response = forma.errors

        return HttpResponse(simplejson.dumps(response))
    def post(self, request):
        context = {}
        current_site = get_current_site(request)

        data = request.POST.copy()

        data['page_type'] = request.POST.get('page_type', 'homepage')
        pk = request.POST.get('pk', None)
        if pk:
            instanced = Section.objects.get(pk=pk)
            excludes = [
                'sec_slug', 'orden', 'parent', 'webimage', 'mobileimage'
            ]
        else:
            instanced = None
            excludes = []

        data['sec_slug'] = slugify(data['sec_name'])
        data['sitio'] = current_site.pk

        f = FormCreator()
        forma = f.form_to_model(modelo=Section, excludes=excludes)
        forma = forma(data, instance=instanced)

        if forma.is_valid():
            save_reg = forma.save()
            responde = {
                'saved': 'ok',
                'datos': {
                    'pk': save_reg.pk,
                    'mesagge': u'Sección Guardada con éxito',
                },
                'callback': 'reg_success'
            }

            return HttpResponse(simplejson.dumps(responde))
        else:
            returner = {'errors': forma.errors}
            return HttpResponse(simplejson.dumps(returner))
    def post(self, request):

        retorno = []
        modelos = [
            Section, Linkmod, Textmodule, Secrowmenu, Seccolmenu, Videomodule
        ]
        data = request.POST.copy()
        modelo = modelos[int(data['step'])]
        imagens = request.POST.get('imagen', None)
        pkid = request.POST.get('pkid', None)
        sec_name = request.POST.get('sec_name', None)
        col_name = request.POST.get('col_name', None)
        texto = request.POST.get('texto', None)

        current_site = get_current_site(request)
        data['sitio'] = current_site.pk

        #if texto:
        #    data['texto'] = texto.replace("'","\'")
        #    data['texto'] = data['texto'].replace(''','\'')

        # se esta  recibiendo una seccion, vamos a generar su slug
        if sec_name and int(data['step']) == 0:
            data['sec_slug'] = slugify(sec_name)

        if col_name and int(data['step']) == 4:
            data['slug_col_name'] = slugify(col_name)

        rowpk = request.POST.get('rowpk', None)

        if rowpk and int(data['step']) != 4:
            rowupdate = Rowsection.objects.get(pk=rowpk)
            rowupdate.configur = data['columns']
            rowupdate.save()

        if pkid:
            instanced = modelo.objects.get(pk=pkid)
        else:
            instanced = None

        if imagens:
            imagen = data['imagen'].decode('base64')
            original = Image.open(BytesIO(imagen))
            name_imagen = 'brouch.%s' % original.format.lower()
            data['imagen'] = ContentFile(imagen, name_imagen)
        else:
            data['imagen'] = None

        f = FormCreator()
        forma = f.form_to_model(modelo=modelo, excludes={})
        forma = forma(data, instance=instanced)
        if forma.is_valid():
            saved = forma.save()
            if data['imagen']:
                saved.imagen = data['imagen']
                saved.save()
            retorno = {'saved': 'ok', 'pk': saved.pk}
        else:
            retorno = forma.errors

        response = HttpResponse(simplejson.dumps(retorno))
        return response
    def post(self, request):
        response = {}
        data = request.POST.copy()
        imagens = request.POST.get('webimage', None)
        smallimg = request.POST.get('smallimg', None)
        pkid = request.POST.get('pkid', None)
        rowpk = request.POST.get('rowpk', None)
        banco = request.POST.get('banco', 0)
        cats = request.POST.getlist('cats[]')

        data['cats'] = simplejson.dumps(cats)

        modelos = [Mediasection, Bancoimg]
        modelo = modelos[int(banco)]

        flotando = request.POST.get('flotando', None)
        invflotando = request.POST.get('invflotando', None)
        imagesize = request.POST.get('imagesize', 6)
        textsize = request.POST.get('textsize', 6)

        if flotando and invflotando:
            configures = {
                'flotando': flotando,
                'invflotando': invflotando,
                'imagesize': imagesize,
                'textsize': textsize
            }
            configures = simplejson.dumps([configures])
            data['configs'] = configures

        if rowpk:
            rowupdate = Rowsection.objects.get(pk=rowpk)
            rowupdate.configur = data['columns']
            rowupdate.save()

        if pkid:

            instanced = modelo.objects.get(pk=pkid)

        else:
            instanced = None

        #data['orden']=1

        if imagens:
            imagen = imagens.decode('base64')
            original = Image.open(BytesIO(imagen))
            name_imagen = 'brouch.%s' % original.format.lower()
            data['webimage'] = ContentFile(imagen, name_imagen)

        if smallimg:
            imagen = smallimg.decode('base64')
            original = Image.open(BytesIO(imagen))
            name_imagen = '%s' % original.format.lower()
            data['smallimage'] = ContentFile(imagen, name_imagen)

        f = FormCreator()

        forma = f.form_to_model(modelo=modelo, excludes=[])
        forma = forma(data, instance=instanced)
        if forma.is_valid():
            saved = forma.save()
            if imagens:
                saved.webimage = data['webimage']
                saved.save()
            if smallimg:
                saved.smallimage = data['smallimage']
                saved.save()

            response = {'pk': saved.pk}
        else:
            response = forma.errors

        return HttpResponse(simplejson.dumps(response))
    def post(self, request):
        response = {}
        data = request.POST.copy()
        imagens = request.POST.get('webimage', None)
        smallimg = request.POST.get('smallimg', None)
        pkid = request.POST.get('pkid', None)
        rowpk = request.POST.get('rowpk', None)
        banco = request.POST.get('banco', 0)
        cats = request.POST.getlist('cats[]')
        descargar = request.POST.get('descargar', None)

        data['cats'] = simplejson.dumps(cats)

        modelos = [Mediasection, Bancoimg]
        modelo = modelos[int(banco)]

        flotando = request.POST.get('flotando', None)
        invflotando = request.POST.get('invflotando', None)
        imagesize = request.POST.get('imagesize', 6)
        textsize = request.POST.get('textsize', 6)

        if flotando and invflotando:
            configures = {
                'flotando': flotando,
                'invflotando': invflotando,
                'imagesize': imagesize,
                'textsize': textsize
            }
            configures = simplejson.dumps([configures])
            data['configs'] = configures

        if pkid:

            instanced = modelo.objects.get(pk=pkid)

        else:
            instanced = None

        if instanced:
            rowupdate = instanced.rowpk
            rowupdate.configur = data['columns']
            rowupdate.save()

        #data['orden']=1

        if imagens:
            imagen = imagens.decode('base64')
            original = Image.open(BytesIO(imagen))
            name_imagen = 'brouch.%s' % original.format.lower()
            data['webimage'] = ContentFile(imagen, name_imagen)

            if banco == '1':
                imagen = imagens.decode('base64')
                imagen = Image.open(BytesIO(imagen))

                wi = original.width
                hi = original.height
                th = hi * 0.6  #200.0
                tw = (th / hi) * wi
                newsize = (int(tw), int(th))
                thimg = imagen.resize(newsize, Image.ANTIALIAS)
                img_str = thimg.tobytes()
                #img_str = img_str.decode('base64')
                name_imagen = 'websize.%s' % imagen.format.lower()
                data['originalfile'] = ContentFile(img_str, name_imagen)

        if smallimg:

            recortale = data.get('recortar', None)
            if recortale:
                imagen = smallimg.decode('base64')
                original = Image.open(BytesIO(imagen))
                name_imagen = 'smallimage.%s' % original.format.lower()
                data['smallimage'] = ContentFile(imagen, name_imagen)
            else:

                wi = original.width
                hi = original.height
                th = 200.0
                tw = (th / hi) * wi
                newsize = (int(tw), int(th))
                thimg = imagen.resize(newsize, Image.ANTIALIAS)
                img_str = thimg.tobytes()
                #img_str = img_str.decode('base64')
                name_imagen = 'smallimage.%s' % imagen.format.lower()
                data['smallimage'] = ContentFile(img_str, name_imagen)

        if descargar:
            extt = request.POST.get('extt', None)
            formats, imgstr = descargar.split(';base64,')
            descargarextext = formats.split('/')
            namefile = 'bancoimg.%s' % (extt)
            data['descargar'] = ContentFile(b64decode(imgstr), name=namefile)

        f = FormCreator()

        forma = f.form_to_model(modelo=modelo, excludes=[])
        forma = forma(data, instance=instanced)
        if forma.is_valid():
            saved = forma.save()
            if imagens:
                saved.webimage = data['webimage']
                saved.save()

            if banco == '1':
                if descargar:
                    b = Bancodwfile(bancopk=saved,
                                    descargar=data['descargar'],
                                    extencion=extt,
                                    tipo=descargarextext[0])
                    b.save()

                    #saved.descargar = data['descargar']
                    #saved.save()

                try:
                    saved.recorte = data['originalfile']
                    saved.save()
                    thimg.save(saved.recorte.path)
                except:
                    pass

            if smallimg:
                saved.smallimage = data['smallimage']
                saved.save()

            response = {'pk': saved.pk}
        else:
            response = forma.errors

        return HttpResponse(simplejson.dumps(response))