예제 #1
0
def createpost(request):

    if request.method == 'POST':

        if request.POST['type'] == "1":

            category = request.POST.get('category', None)
            expiration = request.POST.get('expiration', None)
            lokacija = request.POST.get('City', None)
            pozicija = request.POST.get('pozicija', None)
            godineIskustva = request.POST.get('godineIskustva')
            strucnasprema = request.POST.get('strucnasprema', None)
            email = request.POST.get('email', None)
            brojTel = request.POST.get('brojTel', None)
            opis = request.POST.get('opis', None)
            type = request.POST.get('type', None)
            brojIzv = request.POST.get('brojIzvr', None)

            if type == '1':
                title = request.POST.get('naslov', None)
            else:
                title = pozicija + category

            if request.FILES.get('image_uploads', None):
                myfile = request.FILES['image_uploads']
                #if myfile._size > 5242880:
                #    sweetify.sweetalert(request, title="Datoteka prevelika", text="Vaša datoteka prelazi maksimalnu veličinu od 5 MB", icon="error", timer=10000)
                #    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
                #else:
                fs = FileSystemStorage()
                myfile.name.encode('utf-8')
                filename = fs.save(myfile.name, myfile)
                uploaded_file_url = fs.url(filename)
            else:
                myfile = None

            args = [
                title, category, expiration, lokacija, pozicija,
                godineIskustva, email, brojTel, opis, type, brojIzv
            ]
            keys = [
                'naslov', 'category', 'expiration', ' City', 'pozicija',
                'godineIsku', 'strucnasprema', 'email', 'brojTel', 'opis',
                'type', 'brojIzvr'
            ]
            argErr = [
                "Naslov", "Kategorija", 'Trajanje', 'Lokacija', 'Pozicija',
                'Godine iskustva', 'Sprema', 'Kontakt Email',
                'Kontakt Telefon', 'Vrsta', 'Broj izrsitelja'
            ]

            valid = validationWithKeys(request, args, keys, argErr)

            if valid is not True:
                return HttpResponseRedirect(
                    request.META.get('HTTP_REFERER', '/').split('?')[0] +
                    valid)

            cat = Category.objects.get(name=category)

            post = Post(userID=request.user,
                        brojIzvrsitelja=brojIzv,
                        categoryID=cat,
                        title=title,
                        region="BiH",
                        location=lokacija,
                        position=pozicija,
                        type=type,
                        specialty=strucnasprema,
                        experience=godineIskustva,
                        contact_email=email,
                        contact_phone=brojTel,
                        content=opis)

            tz = pytz.timezone('Europe/Sarajevo')

            if expiration is not '0':
                post.expires_at = tz.localize(datetime.now() +
                                              timedelta(days=int(expiration)))
            else:
                post.expires_at = tz.localize(datetime.now() +
                                              timedelta(days=365 * 200))

                #post.expires_at = datetime.now()+timedelta(years=999)

            post.attachment = myfile
            post.save()
            post.url = post.generateSlug
            post.save()

            postcat = PostCategories(postID=post, categoryID=cat)

            postcat.save()

            sweetify.success(request,
                             title="Uspješno kreiran oglas",
                             text="",
                             icon="success",
                             timer=8000)

            return redirect('showpost', post.slugifyName, post.url)
        else:

            type = request.POST['type']
            btobtype = request.POST.get('b2btype', None)
            category = request.POST.get('category', None)
            kanton = request.POST.get('kanton', None)
            trajanje = request.POST.get('expiration', None)
            email = request.POST['email']
            brojTel = request.POST['brojTel']
            opis = request.POST['opis']

            if request.FILES.get('image_uploads', None):
                myfile = request.FILES['image_uploads']
                #if myfile._size > 5242880:

                #   sweetify.sweetalert(request, title="Datoteka prevelika",
                #                      text="Vaš CV prelazi maksimalnu veličinu od 5 MB", icon="error", timer=10000)

                #return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
                #else:
                fs = FileSystemStorage()
                filename = fs.save(myfile.name, myfile)
                uploaded_file_url = fs.url(filename)

            else:
                myfile = None

            args = [
                type, btobtype, category, kanton, trajanje, email, brojTel,
                opis
            ]
            keys = [
                'type', 'b2btype', 'category', 'kanton', 'trajanje', 'email',
                'brojTel', 'opis'
            ]
            argErr = [
                '', "Trazim/Nudim", "Kategorija", 'Kanton', 'Trajanje',
                'Email', 'Broj Telefona', 'Opis'
            ]

            valid = validationWithKeys(request, args, keys, argErr)

            if valid is not True:
                return HttpResponseRedirect(
                    request.META.get('HTTP_REFERER', '/').split('?')[0] +
                    valid)

            cat = Category.objects.get(name=category)

            if category == 'Finansijske':
                title = 'Finansijske'
            elif category == "Osiguravajuće":
                title = "Osiguravajuće"
            else:
                if btobtype == '1':
                    title = "Ponuda"
                elif btobtype == '2':
                    title = "Potražnja"
                else:
                    title = "Partnerstvo"

            if category == 'Finansijske' or category == "Osiguravajuće":
                position = request.POST['position']
            else:
                position = ""

            post = Post(attachment=myfile,
                        position=position,
                        title=title,
                        userID=request.user,
                        categoryID=cat,
                        type=int(type),
                        b2b_type=int(btobtype),
                        region=kanton,
                        expires_at=datetime.now() +
                        timedelta(days=int(trajanje)),
                        contact_email=email,
                        contact_phone=brojTel,
                        content=opis)

            post.save()
            post.url = post.generateSlug
            post.save()

            postCategories = PostCategories(postID=post, categoryID=cat)
            postCategories.save()

            sweetify.success(request,
                             title="Uspješno kreiran oglas",
                             icon="success",
                             timer=8000)

            return redirect('showpost', post.slugifyName, post.url)

    return redirect('home')