Beispiel #1
0
def themeitem_add_desktopscreenshot(request):
    if request.method == "POST":
        form = DesktopScreenShotForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t = Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            thumbnail = Image.open(item.image.path)
            thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(item.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html",
                                   locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="masaüstü")]
        form = DesktopScreenShotForm(initial={"tags": tags})
    return render_response(request,
                           "tema/themeitem_add_desktopscreenshot.html",
                           locals())
Beispiel #2
0
def themeitem_add_desktopscreenshot(request):
    if request.method == "POST":
        form = DesktopScreenShotForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t=Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            thumbnail = Image.open(item.image.path)
            thumbnail.thumbnail((150,200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(item.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html", locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="masaüstü")]
        form = DesktopScreenShotForm(initial={"tags":tags})
    return render_response(request, "tema/themeitem_add_desktopscreenshot.html", locals())
Beispiel #3
0
def add_bug(request):
    if request.method == "POST":
        form = BugForm(request.POST.copy())
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            bug = Bug(
                title=form.cleaned_data["title"],
                submitter=request.user,
                description=form.cleaned_data["description"],
                priority=form.cleaned_data["priority"],
                assigned_to=BUG_USER,
            )
            bug.save()
            email_dict = {
                "bugId":
                bug.id,
                "bugTitle":
                bug.title,
                "link":
                bug.get_full_url(),
                "title":
                bug.title,
                "priority":
                bug.get_priority_display(),
                "submitter":
                "%s %s <%s>" % (bug.submitter.first_name,
                                bug.submitter.last_name, bug.submitter.email),
                "assigned_to":
                "%s %s <%s>" %
                (bug.assigned_to.first_name, bug.assigned_to.last_name,
                 bug.assigned_to.email),
                "description":
                bug.description,
            }
            email_subject = u"[Hata %(bugId)s] Yeni: %(bugTitle)s"
            email_body = u"""%(link)s
Başlık: %(title)s
Öncelik: %(priority)s
Bildiren: %(submitter)s
Atanan: %(assigned_to)s

%(description)s
"""
            mail_set = set()
            mail_set.add(BUG_MAILLIST)
            mail_set.add(bug.submitter.email)
            mail_set.add(bug.assigned_to.email)
            # send mails seperately
            for subscriber in mail_set:
                send_mail(email_subject % email_dict,
                          email_body % email_dict,
                          BUG_FROM_EMAIL, [subscriber],
                          fail_silently=True)
            return HttpResponseRedirect(bug.get_absolute_url())
    else:
        form = BugForm(auto_id=True)

    return render_response(request, 'bug/bug_add.html', locals())
Beispiel #4
0
def themeitem_add_font(request):
    if request.method == "POST":
        form = FontForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t = Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            twidth = 150
            theight = 100
            thumbnail = Image.new("RGBA", (twidth, theight))
            draw = ImageDraw.Draw(thumbnail)
            bigfont = ImageFont.truetype(item.font.path, 22)
            smallfont = ImageFont.truetype(item.font.path, 14)
            fill = (112, 112, 112)
            draw.text((5, 5), "Aa Ee Rr", font=bigfont, fill=fill)
            text_list = (
                (30, "Dag basini", u"Dağ başını"),
                (45, "duman almis,", u"duman almış,"),
                (60, "Gumus dere", u"Gümüş dere"),
                (75, "durmaz akar.", u"durmaz akar."),
            )
            for text in text_list:
                s = draw.textsize(text[1], font=smallfont)
                x = twidth - s[0] - 5
                if item.is_turkish:
                    draw.text((x, text[0]), text[2], font=smallfont, fill=fill)
                else:
                    draw.text((x, text[0]), text[1], font=smallfont, fill=fill)
            file = ContentFile("")
            item.thumbnail.save(item.font.path[:item.font.path.rfind(".")] +
                                ".png",
                                file,
                                save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html",
                                   locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="yazıtipi")]
        form = FontForm(initial={"tags": tags})
    return render_response(request, "tema/themeitem_add_font.html", locals())
Beispiel #5
0
def detail(request, id):
    bug = Bug.objects.get(id=id)
    default_data = {
            "title": bug.title,
            "assigned_to": bug.assigned_to.id,
            "description": bug.description,
            "status": bug.status,
            "priority": bug.priority,
            }
    bugform = FullBugForm(default_data)
    if request.method == "POST" and request.user.is_authenticated():
        form = CommentForm(request.POST.copy())
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            comment = Comment(
                bug = bug,
                author = request.user,
                text = form.cleaned_data["text"],
                )
            comment.save()
            comments = bug.comment_set.all()
            email_dict = {
                    "bugId": bug.id,
                    "bugTitle": bug.title,
                    "link": bug.get_full_url(),
                    "comment_count": comments.count(),
                    "author": "%s %s <%s>" % (comment.author.first_name, comment.author.last_name, comment.author.email),
                    "date": comment.date,
                    "comment": comment.text,
                    }
            email_subject = u"[Hata %(bugId)s] %(bugTitle)s"
            email_body = u"""%(link)s

-- Yorum #%(comment_count)s yazan %(author)s %(date)s --

%(comment)s
"""
            mail_set = set()
            mail_set.add(BUG_MAILLIST)
            mail_set.add(bug.submitter.email)
            mail_set.add(bug.assigned_to.email)
            for comment in comments:
                mail_set.add(comment.author.email)
            # send mails seperately
            for subscriber in mail_set:
                send_mail(email_subject % email_dict, email_body % email_dict, BUG_FROM_EMAIL, [subscriber], fail_silently=True)
    else:
        form = CommentForm()
    return render_response(request, 'bug/bug_detail.html', locals())
Beispiel #6
0
def themeitem_change_desktopscreenshot(request, item_id):
    object = get_object_or_404(DesktopScreenshot, pk=item_id)
    if request.user == object.author or request.user.has_perm("can_change_themeitem"):
        if request.method == "POST":
            form = DesktopScreenShotForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(request, "tema/message.html", {"type": "error", "message": "Lütfen %s saniye sonra tekrar deneyiniz." % timeout })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                object.origin_url = form.cleaned_data["origin_url"]
                object.update = datetime.datetime.now()
                object.image = form.cleaned_data["image"]

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.image.path)
                thumbnail.thumbnail((150,200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html", locals())
        else:
            default_data = {"title": object.title,
                            "license": object.license,
                            "text": object.text,
                            "tags": object.tags.all(),
                            "origin_url": object.origin_url,
                            "image": object.image,
                            }

            form = DesktopScreenShotForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {"type": "error", "message": "Bu işlemi yapmak için yetkiniz yok."})
Beispiel #7
0
def themeitem_add_font(request):
    if request.method == "POST":
        form = FontForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t=Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            twidth = 150
            theight = 100
            thumbnail = Image.new("RGBA", (twidth, theight))
            draw = ImageDraw.Draw(thumbnail)
            bigfont = ImageFont.truetype(item.font.path, 22)
            smallfont = ImageFont.truetype(item.font.path, 14)
            fill = (112,112,112)
            draw.text((5, 5), "Aa Ee Rr", font=bigfont, fill=fill)
            text_list = (
                (30, "Dag basini", u"Dağ başını"),
                (45, "duman almis,", u"duman almış,"),
                (60, "Gumus dere", u"Gümüş dere"),
                (75, "durmaz akar.", u"durmaz akar."),
            )
            for text in text_list:
                s = draw.textsize(text[1], font=smallfont)
                x = twidth - s[0] - 5
                if item.is_turkish:
                    draw.text((x, text[0]), text[2], font=smallfont, fill=fill)
                else:
                    draw.text((x, text[0]), text[1], font=smallfont, fill=fill)
            file = ContentFile("")
            item.thumbnail.save(item.font.path[:item.font.path.rfind(".")]+".png", file, save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html", locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="yazıtipi")]
        form = FontForm(initial={"tags":tags})
    return render_response(request, "tema/themeitem_add_font.html", locals())
Beispiel #8
0
def themeitem_add_packagescreenshot(request):
    if request.method == "POST":
        form = PackageScreenshotForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))

            #change image file name
            path, extension = '/'.join(item.image.name.split('/')
                                       [:-1]), item.image.name.split('.')[-1]
            item.image.name = "%s/%s.%s" % (path, item.title, extension)
            item.save()

            for tag in form.cleaned_data["tags"]:
                t = Tag.objects.get(name=tag)
                item.tags.add(t)

            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            thumbnail = Image.open(item.image.path)
            thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(item.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #create thumbnail for package manager
            s_image = Image.open(item.image.path)
            s_image.thumbnail((270, 190), Image.ANTIALIAS)
            file = ContentFile("")
            item.s_image.save(item.image.path, file, save=True)
            s_image.save(item.s_image.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html",
                                   locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="paket görüntüsü")]
        form = PackageScreenshotForm(initial={"tags": tags})

    return render_response(request,
                           "tema/themeitem_add_packagescreenshot.html",
                           locals())
Beispiel #9
0
def themeitem_add_wallpaper(request):
    #TODO: add SVG support
    WallpaperFileFormSet = formset_factory(WallpaperFileForm)
    if request.method == "POST":
        form = WallpaperForm(request.POST.copy())
        fileforms = WallpaperFileFormSet(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and fileforms.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t = Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()
            for form in fileforms.forms:
                paper = form.save(commit=False)
                paper.title = "%dx%d" % (paper.image.width, paper.image.height)
                paper.save()
                item.title = item.title.replace(paper.title, "")
                item.save()
                if form.cleaned_data["create_smaller_wallpapers"]:
                    item.create_smaller_wallpapers(paper)
                item.papers.add(paper)

            #create thumbnail from first paper
            firstpaper = item.papers.all()[0]
            thumbnail = Image.open(firstpaper.image.path)
            thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(firstpaper.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html",
                                   locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="duvar kağıdı")]
        form = WallpaperForm(initial={"tags": tags})
        fileforms = WallpaperFileFormSet()
    return render_response(request, "tema/themeitem_add_wallpaper.html",
                           locals())
Beispiel #10
0
def add_bug(request):
    if request.method == "POST":
        form = BugForm(request.POST.copy())
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            bug = Bug(
                title = form.cleaned_data["title"],
                submitter = request.user,
                description = form.cleaned_data["description"],
                priority = form.cleaned_data["priority"],
                assigned_to = BUG_USER,
                )
            bug.save()
            email_dict = {
                    "bugId": bug.id,
                    "bugTitle": bug.title,
                    "link": bug.get_full_url(),
                    "title": bug.title,
                    "priority": bug.get_priority_display(),
                    "submitter": "%s %s <%s>" % (bug.submitter.first_name, bug.submitter.last_name, bug.submitter.email),
                    "assigned_to": "%s %s <%s>" % (bug.assigned_to.first_name, bug.assigned_to.last_name, bug.assigned_to.email),
                    "description": bug.description,
                    }
            email_subject = u"[Hata %(bugId)s] Yeni: %(bugTitle)s"
            email_body = u"""%(link)s
Başlık: %(title)s
Öncelik: %(priority)s
Bildiren: %(submitter)s
Atanan: %(assigned_to)s

%(description)s
"""
            mail_set = set()
            mail_set.add(BUG_MAILLIST)
            mail_set.add(bug.submitter.email)
            mail_set.add(bug.assigned_to.email)
            # send mails seperately
            for subscriber in mail_set:
                send_mail(email_subject % email_dict, email_body % email_dict, BUG_FROM_EMAIL, [subscriber], fail_silently=True)
            return HttpResponseRedirect(bug.get_absolute_url())
    else:
        form = BugForm(auto_id=True)

    return render_response(request, 'bug/bug_add.html', locals())
Beispiel #11
0
def themeitem_add_packagescreenshot(request):
    if request.method == "POST":
        form = PackageScreenshotForm(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))

            #change image file name
            path, extension = '/'.join(item.image.name.split('/')[:-1]), item.image.name.split('.')[-1]
            item.image.name = "%s/%s.%s" % (path, item.title, extension)
            item.save()

            for tag in form.cleaned_data["tags"]:
                t=Tag.objects.get(name=tag)
                item.tags.add(t)

            item.slug = str(item.id) + "-" + slug
            item.save()

            #create thumbnail
            thumbnail = Image.open(item.image.path)
            thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(item.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #create thumbnail for package manager
            s_image = Image.open(item.image.path)
            s_image.thumbnail((270, 190), Image.ANTIALIAS)
            file = ContentFile("")
            item.s_image.save(item.image.path, file, save=True)
            s_image.save(item.s_image.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html", locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="paket görüntüsü")]
        form = PackageScreenshotForm(initial={"tags":tags})

    return render_response(request, "tema/themeitem_add_packagescreenshot.html", locals())
Beispiel #12
0
def themeitem_add_wallpaper(request):
    #TODO: add SVG support
    WallpaperFileFormSet = formset_factory(WallpaperFileForm)
    if request.method == "POST":
        form = WallpaperForm(request.POST.copy())
        fileforms = WallpaperFileFormSet(request.POST.copy(), request.FILES)
        flood, timeout = flood_control(request)

        if form.is_valid() and fileforms.is_valid() and not flood:
            item = form.save(commit=False)
            item.author = request.user
            item.submit = item.update = datetime.datetime.now()
            slug = slugify(replace_turkish(item.title))
            item.save()
            for tag in form.cleaned_data["tags"]:
                t=Tag.objects.get(name=tag)
                item.tags.add(t)
            item.slug = str(item.id) + "-" + slug
            item.save()
            for form in fileforms.forms:
                paper = form.save(commit=False)
                paper.title = "%dx%d" % (paper.image.width, paper.image.height)
                paper.save()
                item.title = item.title.replace(paper.title, "")
                item.save()
                if form.cleaned_data["create_smaller_wallpapers"]:
                    item.create_smaller_wallpapers(paper)
                item.papers.add(paper)

            #create thumbnail from first paper
            firstpaper = item.papers.all()[0]
            thumbnail = Image.open(firstpaper.image.path)
            thumbnail.thumbnail((150,200), Image.ANTIALIAS)
            file = ContentFile("")
            item.thumbnail.save(firstpaper.image.path, file, save=True)
            thumbnail.save(item.thumbnail.path)

            #TODO: Send e-mail to admins
            return render_response(request, "tema/themeitem_add_complete.html", locals())
    else:
        tags = [t.pk for t in Tag.objects.filter(name="duvar kağıdı")]
        form = WallpaperForm(initial={"tags":tags})
        fileforms = WallpaperFileFormSet()
    return render_response(request, "tema/themeitem_add_wallpaper.html", locals())
Beispiel #13
0
def create_cdclient(request):
    if request.method == "POST":
        form = CdClientForm(request.POST.copy())
        flood, timeout = flood_control(request)
        if form.is_valid() and not flood:
            cdClient = form.save()
            message = loader.get_template("shipit/confirm_email.html").render(Context({"cdClient":cdClient}))
            mail = EmailMessage("Pardus DVD isteğiniz", message, "Özgürlükiçin <%s>" % DEFAULT_FROM_EMAIL, ["%s <%s>" % (cdClient.get_full_name(), cdClient.email)])
            mail.content_subtype = "html"
            mail.send(fail_silently=True)
            return render_response(request, "shipit/sent.html", locals())
    else:
        initial = {}
        if request.user.is_authenticated():
            initial["first_name"] = request.user.first_name
            initial["last_name"] = request.user.last_name
            initial["email"] = request.user.email
            initial["city"] = request.user.get_profile().city
        form = CdClientForm(initial=initial)
    return render_response(request, "shipit/create_cdclient.html", locals())
Beispiel #14
0
def create_cdclient(request):
    if request.method == "POST":
        form = CdClientForm(request.POST.copy())
        flood, timeout = flood_control(request)
        if form.is_valid() and not flood:
            cdClient = form.save()
            message = loader.get_template("shipit/confirm_email.html").render(
                Context({"cdClient": cdClient}))
            mail = EmailMessage(
                "Pardus DVD isteğiniz", message,
                "Özgürlükiçin <%s>" % DEFAULT_FROM_EMAIL,
                ["%s <%s>" % (cdClient.get_full_name(), cdClient.email)])
            mail.content_subtype = "html"
            mail.send(fail_silently=True)
            return render_response(request, "shipit/sent.html", locals())
    else:
        initial = {}
        if request.user.is_authenticated():
            initial["first_name"] = request.user.first_name
            initial["last_name"] = request.user.last_name
            initial["email"] = request.user.email
            initial["city"] = request.user.get_profile().city
        form = CdClientForm(initial=initial)
    return render_response(request, "shipit/create_cdclient.html", locals())
Beispiel #15
0
def themeitem_change_wallpaper(request, item_id):
    object = get_object_or_404(Wallpaper, pk=item_id)
    WallpaperFileFormSet = formset_factory(WallpaperFileForm)
    if request.user == object.author or request.user.has_perm("can_change_themeitem"):
        if request.method == "POST":
            form = WallpaperForm(request.POST.copy())
            fileforms = WallpaperFileFormSet(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(request, "tema/message.html", {"type": "error", "message": "Lütfen %s saniye sonra tekrar deneyiniz." % timeout })

            if form.is_valid() and fileforms.is_valid():
                object.title = form.cleaned_data["title"]
                object.category = form.cleaned_data["category"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                object.update = datetime.datetime.now()
                object.papers = []

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                for fileform in fileforms.forms:
                    paper = fileform.save(commit=False)
                    paper.title = "%dx%d" % (paper.image.width, paper.image.height)
                    paper.save()
                    object.title = object.title.replace(paper.title, "")
                    object.save()
                    if fileform.cleaned_data["create_smaller_wallpapers"]:
                        object.create_smaller_wallpapers(paper)
                    object.papers.add(paper)

                #create thumbnail from first paper
                firstpaper = object.papers.all()[0]
                thumbnail = Image.open(firstpaper.image.path)
                thumbnail.thumbnail((150,200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(firstpaper.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html", locals())
        else:
            default_data = {"title": object.title,
                            "license": object.license,
                            "text": object.text,
                            "version": object.version,
                            "tags": object.tags.all(),
                            "origin_url": object.origin_url,
                            "category": object.category
                            }

            form = WallpaperForm(initial=default_data)
            fileforms = WallpaperFileFormSet()

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {"type": "error", "message": "Bu işlemi yapmak için yetkiniz yok."})
Beispiel #16
0
def detail(request, id):
    bug = Bug.objects.get(id=id)
    default_data = {
        "title": bug.title,
        "assigned_to": bug.assigned_to.id,
        "description": bug.description,
        "status": bug.status,
        "priority": bug.priority,
    }
    bugform = FullBugForm(default_data)
    if request.method == "POST" and request.user.is_authenticated():
        form = CommentForm(request.POST.copy())
        flood, timeout = flood_control(request)

        if form.is_valid() and not flood:
            comment = Comment(
                bug=bug,
                author=request.user,
                text=form.cleaned_data["text"],
            )
            comment.save()
            comments = bug.comment_set.all()
            email_dict = {
                "bugId":
                bug.id,
                "bugTitle":
                bug.title,
                "link":
                bug.get_full_url(),
                "comment_count":
                comments.count(),
                "author":
                "%s %s <%s>" %
                (comment.author.first_name, comment.author.last_name,
                 comment.author.email),
                "date":
                comment.date,
                "comment":
                comment.text,
            }
            email_subject = u"[Hata %(bugId)s] %(bugTitle)s"
            email_body = u"""%(link)s

-- Yorum #%(comment_count)s yazan %(author)s %(date)s --

%(comment)s
"""
            mail_set = set()
            mail_set.add(BUG_MAILLIST)
            mail_set.add(bug.submitter.email)
            mail_set.add(bug.assigned_to.email)
            for comment in comments:
                mail_set.add(comment.author.email)
            # send mails seperately
            for subscriber in mail_set:
                send_mail(email_subject % email_dict,
                          email_body % email_dict,
                          BUG_FROM_EMAIL, [subscriber],
                          fail_silently=True)
    else:
        form = CommentForm()
    return render_response(request, 'bug/bug_detail.html', locals())
Beispiel #17
0
def themeitem_change_openofficetheme(request, item_id):
    object = get_object_or_404(OpenOfficeTheme, pk=item_id)
    if request.user == object.author or request.user.has_perm(
            "can_change_themeitem"):
        if request.method == "POST":
            form = OpenOfficeThemeForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)

            if flood:
                render_response(
                    request, "tema/message.html", {
                        "type":
                        "error",
                        "message":
                        "Lütfen %s saniye sonra tekrar deneyiniz." % timeout
                    })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.category = form.cleaned_data["category"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.file = form.cleaned_data["file"]
                screenshot = form.cleaned_data["screenshot"]
                object.update = datetime.datetime.now()

                if screenshot != None:
                    object.screenshot = screenshot

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.screenshot.path)
                thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.screenshot.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                #post changes
                if object.version != old_version:
                    text = "%s %s sürümlü %s OpenOffice.org öğesini %s sürümüne güncelledi." % (
                        request.user, old_version, object.title,
                        object.version)
                    post = Post(
                        topic=object.topic,
                        author=request.user,
                        text=text,
                    )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(
                    request, "tema/themeitem_add_openofficetheme.html",
                    locals())
        else:
            default_data = {
                "title": object.title,
                "category": object.category,
                "license": object.license,
                "text": object.text,
                "version": object.version,
                "tags": object.tags.all(),
                "origin_url": object.origin_url,
                "file": object.file,
                "screenshot": object.screenshot,
            }
            form = OpenOfficeThemeForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {
            "type": "error",
            "message": "Bu işlemi yapmak için yetkiniz yok."
        })
Beispiel #18
0
def themeitem_change_font(request, item_id):
    object = get_object_or_404(Font, pk=item_id)
    if request.user == object.author or request.user.has_perm(
            "can_change_themeitem"):
        if request.method == "POST":
            form = FontForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(
                    request, "tema/message.html", {
                        "type":
                        "error",
                        "message":
                        "Lütfen %s saniye sonra tekrar deneyiniz." % timeout
                    })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.font = form.cleaned_data["font"]
                object.is_turkish = form.cleaned_data["is_turkish"]
                object.update = datetime.datetime.now()

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                twidth = 150
                theight = 100
                thumbnail = Image.new("RGBA", (twidth, theight))
                draw = ImageDraw.Draw(thumbnail)
                bigfont = ImageFont.truetype(object.font.path, 22)
                smallfont = ImageFont.truetype(object.font.path, 14)
                fill = (112, 112, 112)
                draw.text((5, 5), "Aa Ee Rr", font=bigfont, fill=fill)
                text_list = (
                    (30, "Dag basini", u"Dağ başını"),
                    (45, "duman almis,", u"duman almış,"),
                    (60, "Gumus dere", u"Gümüş dere"),
                    (75, "durmaz akar.", u"durmaz akar."),
                )
                for text in text_list:
                    s = draw.textsize(text[1], font=smallfont)
                    x = twidth - s[0] - 5
                    if object.is_turkish:
                        draw.text((x, text[0]),
                                  text[2],
                                  font=smallfont,
                                  fill=fill)
                    else:
                        draw.text((x, text[0]),
                                  text[1],
                                  font=smallfont,
                                  fill=fill)
                file = ContentFile("")
                object.thumbnail.save(
                    object.font.path[:object.font.path.rfind(".")] + ".png",
                    file,
                    save=True)
                thumbnail.save(object.thumbnail.path)

                #post changes
                if object.version != old_version:
                    text = "%s %s sürümlü %s yazitipini %s sürümüne güncelledi." % (
                        request.user, old_version, object.title,
                        object.version)
                    post = Post(
                        topic=object.topic,
                        author=request.user,
                        text=text,
                    )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html",
                                       locals())
        else:
            default_data = {
                "title": object.title,
                "license": object.license,
                "text": object.text,
                "version": object.version,
                "changelog": object.changelog,
                "tags": object.tags.all(),
                "origin_url": object.origin_url,
                "font": object.font,
                "is_turkish": object.is_turkish,
            }

            form = FontForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {
            "type": "error",
            "message": "Bu işlemi yapmak için yetkiniz yok."
        })
Beispiel #19
0
def themeitem_change_packagescreenshot(request, item_id):
    object = get_object_or_404(PackageScreenshot, pk=item_id)
    if request.user == object.author or request.user.has_perm(
            "can_change_themeitem"):
        if request.method == "POST":
            form = PackageScreenshotForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(
                    request, "tema/message.html", {
                        "type":
                        "error",
                        "message":
                        "Lütfen %s saniye sonra tekrar deneyiniz." % timeout
                    })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.update = datetime.datetime.now()
                object.image = form.cleaned_data["image"]

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                #change image file name
                path, extension = '/'.join(object.image.name.split(
                    '/')[:-1]), object.image.name.split('.')[-1]
                object.image.name = "%s/%s.%s" % (path, object.title,
                                                  extension)

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.image.path)
                thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                #create thumbnail for package manager
                s_image = Image.open(object.image.path)
                s_image.thumbnail((270, 190), Image.ANTIALIAS)
                file = ContentFile("")
                object.s_image.save(object.image.path, file, save=True)
                s_image.save(object.s_image.path)

                #post changes
                if object.version != old_version:
                    text = "%s %s uygulamasının %s sürümüne ait paket görüntüsünü %s sürümüne güncelledi." % (
                        request.user, object.title, old_version,
                        object.version)
                    post = Post(
                        topic=object.topic,
                        author=request.user,
                        text=text,
                    )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html",
                                       locals())
        else:
            default_data = {
                "title": object.title,
                "license": object.license,
                "text": object.text,
                "version": object.version,
                "tags": object.tags.all(),
                "origin_url": object.origin_url,
                "image": object.image,
            }

            form = PackageScreenshotForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {
            "type": "error",
            "message": "Bu işlemi yapmak için yetkiniz yok."
        })
Beispiel #20
0
def themeitem_change_desktopscreenshot(request, item_id):
    object = get_object_or_404(DesktopScreenshot, pk=item_id)
    if request.user == object.author or request.user.has_perm(
            "can_change_themeitem"):
        if request.method == "POST":
            form = DesktopScreenShotForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(
                    request, "tema/message.html", {
                        "type":
                        "error",
                        "message":
                        "Lütfen %s saniye sonra tekrar deneyiniz." % timeout
                    })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                object.origin_url = form.cleaned_data["origin_url"]
                object.update = datetime.datetime.now()
                object.image = form.cleaned_data["image"]

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.image.path)
                thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html",
                                       locals())
        else:
            default_data = {
                "title": object.title,
                "license": object.license,
                "text": object.text,
                "tags": object.tags.all(),
                "origin_url": object.origin_url,
                "image": object.image,
            }

            form = DesktopScreenShotForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {
            "type": "error",
            "message": "Bu işlemi yapmak için yetkiniz yok."
        })
Beispiel #21
0
def themeitem_change_wallpaper(request, item_id):
    object = get_object_or_404(Wallpaper, pk=item_id)
    WallpaperFileFormSet = formset_factory(WallpaperFileForm)
    if request.user == object.author or request.user.has_perm(
            "can_change_themeitem"):
        if request.method == "POST":
            form = WallpaperForm(request.POST.copy())
            fileforms = WallpaperFileFormSet(request.POST.copy(),
                                             request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(
                    request, "tema/message.html", {
                        "type":
                        "error",
                        "message":
                        "Lütfen %s saniye sonra tekrar deneyiniz." % timeout
                    })

            if form.is_valid() and fileforms.is_valid():
                object.title = form.cleaned_data["title"]
                object.category = form.cleaned_data["category"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                object.update = datetime.datetime.now()
                object.papers = []

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                for fileform in fileforms.forms:
                    paper = fileform.save(commit=False)
                    paper.title = "%dx%d" % (paper.image.width,
                                             paper.image.height)
                    paper.save()
                    object.title = object.title.replace(paper.title, "")
                    object.save()
                    if fileform.cleaned_data["create_smaller_wallpapers"]:
                        object.create_smaller_wallpapers(paper)
                    object.papers.add(paper)

                #create thumbnail from first paper
                firstpaper = object.papers.all()[0]
                thumbnail = Image.open(firstpaper.image.path)
                thumbnail.thumbnail((150, 200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(firstpaper.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html",
                                       locals())
        else:
            default_data = {
                "title": object.title,
                "license": object.license,
                "text": object.text,
                "version": object.version,
                "tags": object.tags.all(),
                "origin_url": object.origin_url,
                "category": object.category
            }

            form = WallpaperForm(initial=default_data)
            fileforms = WallpaperFileFormSet()

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {
            "type": "error",
            "message": "Bu işlemi yapmak için yetkiniz yok."
        })
Beispiel #22
0
def themeitem_change_packagescreenshot(request, item_id):
    object = get_object_or_404(PackageScreenshot, pk=item_id)
    if request.user == object.author or request.user.has_perm("can_change_themeitem"):
        if request.method == "POST":
            form = PackageScreenshotForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(request, "tema/message.html", {"type": "error", "message": "Lütfen %s saniye sonra tekrar deneyiniz." % timeout })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.update = datetime.datetime.now()
                object.image = form.cleaned_data["image"]

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                #change image file name
                path, extension = '/'.join(object.image.name.split('/')[:-1]), object.image.name.split('.')[-1]
                object.image.name = "%s/%s.%s" % (path, object.title, extension)

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.image.path)
                thumbnail.thumbnail((150,200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.image.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                #create thumbnail for package manager
                s_image = Image.open(object.image.path)
                s_image.thumbnail((270,190), Image.ANTIALIAS)
                file = ContentFile("")
                object.s_image.save(object.image.path, file, save=True)
                s_image.save(object.s_image.path)

                #post changes
                if object.version != old_version:
                    text="%s %s uygulamasının %s sürümüne ait paket görüntüsünü %s sürümüne güncelledi." % (request.user, object.title, old_version, object.version)
                    post = Post(topic=object.topic,
                                author=request.user,
                                text=text,
                            )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html", locals())
        else:
            default_data = {"title": object.title,
                            "license": object.license,
                            "text": object.text,
                            "version": object.version,
                            "tags": object.tags.all(),
                            "origin_url": object.origin_url,
                            "image": object.image,
                            }

            form = PackageScreenshotForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {"type": "error", "message": "Bu işlemi yapmak için yetkiniz yok."})
Beispiel #23
0
def themeitem_change_font(request, item_id):
    object = get_object_or_404(Font, pk=item_id)
    if request.user == object.author or request.user.has_perm("can_change_themeitem"):
        if request.method == "POST":
            form = FontForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)
            if flood:
                render_response(request, "tema/message.html", {"type": "error", "message": "Lütfen %s saniye sonra tekrar deneyiniz." % timeout })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.font = form.cleaned_data["font"]
                object.is_turkish = form.cleaned_data["is_turkish"]
                object.update = datetime.datetime.now()

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                twidth = 150
                theight = 100
                thumbnail = Image.new("RGBA", (twidth, theight))
                draw = ImageDraw.Draw(thumbnail)
                bigfont = ImageFont.truetype(object.font.path, 22)
                smallfont = ImageFont.truetype(object.font.path, 14)
                fill = (112,112,112)
                draw.text((5, 5), "Aa Ee Rr", font=bigfont, fill=fill)
                text_list = (
                    (30, "Dag basini", u"Dağ başını"),
                    (45, "duman almis,", u"duman almış,"),
                    (60, "Gumus dere", u"Gümüş dere"),
                    (75, "durmaz akar.", u"durmaz akar."),
                )
                for text in text_list:
                    s = draw.textsize(text[1], font=smallfont)
                    x = twidth - s[0] - 5
                    if object.is_turkish:
                        draw.text((x, text[0]), text[2], font=smallfont, fill=fill)
                    else:
                        draw.text((x, text[0]), text[1], font=smallfont, fill=fill)
                file = ContentFile("")
                object.thumbnail.save(object.font.path[:object.font.path.rfind(".")]+".png", file, save=True)
                thumbnail.save(object.thumbnail.path)

                #post changes
                if object.version != old_version:
                    text = "%s %s sürümlü %s yazitipini %s sürümüne güncelledi." % (request.user, old_version, object.title, object.version)
                    post = Post(topic=object.topic,
                                author=request.user,
                                text=text,
                                )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_change.html", locals())
        else:
            default_data = {"title": object.title,
                            "license": object.license,
                            "text": object.text,
                            "version": object.version,
                            "changelog": object.changelog,
                            "tags": object.tags.all(),
                            "origin_url": object.origin_url,
                            "font": object.font,
                            "is_turkish": object.is_turkish,
                            }

            form = FontForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {"type": "error", "message": "Bu işlemi yapmak için yetkiniz yok."})
Beispiel #24
0
def themeitem_change_openofficetheme(request, item_id):
    object = get_object_or_404(OpenOfficeTheme, pk=item_id)
    if request.user == object.author or request.user.has_perm("can_change_themeitem"):
        if request.method == "POST":
            form = OpenOfficeThemeForm(request.POST.copy(), request.FILES)
            flood, timeout = flood_control(request)

            if flood:
                render_response(request, "tema/message.html", {"type": "error", "message": "Lütfen %s saniye sonra tekrar deneyiniz." % timeout })

            if form.is_valid():
                object.title = form.cleaned_data["title"]
                object.category = form.cleaned_data["category"]
                object.license = form.cleaned_data["license"]
                object.text = form.cleaned_data["text"]
                old_version = object.version
                object.version = form.cleaned_data["version"]
                object.file = form.cleaned_data["file"]
                screenshot = form.cleaned_data["screenshot"]
                object.update = datetime.datetime.now()

                if screenshot != None:
                    object.screenshot = screenshot

                #change slug
                slug = slugify(replace_turkish(object.title))
                object.slug = str(object.id) + "-" + slug

                object.save()

                #create thumbnail
                thumbnail = Image.open(object.screenshot.path)
                thumbnail.thumbnail((150,200), Image.ANTIALIAS)
                file = ContentFile("")
                object.thumbnail.save(object.screenshot.path, file, save=True)
                thumbnail.save(object.thumbnail.path)

                #post changes
                if object.version != old_version:
                    text = "%s %s sürümlü %s OpenOffice.org öğesini %s sürümüne güncelledi." % (request.user, old_version, object.title, object.version)
                    post = Post(topic=object.topic,
                                author=request.user,
                                text=text,
                                )
                    post.save()

                return HttpResponseRedirect(object.get_absolute_url())

            else:
                return render_response(request, "tema/themeitem_add_openofficetheme.html", locals())
        else:
            default_data = {"title": object.title,
                            "category": object.category,
                            "license": object.license,
                            "text": object.text,
                            "version": object.version,
                            "tags": object.tags.all(),
                            "origin_url": object.origin_url,
                            "file": object.file,
                            "screenshot": object.screenshot,
                            }
            form = OpenOfficeThemeForm(initial=default_data)

        return render_response(request, "tema/themeitem_change.html", locals())

    else:
        return render_response(request, "tema/message.html", {"type": "error", "message": "Bu işlemi yapmak için yetkiniz yok."})