diff --git a/README.md b/README.md index e68a558..93a5781 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,10 @@ instance is installed by ansible, the role is available here: - Support any database supported by Django (Sqlite3, MySQL, PostgreSQL, Oracle, ...) - Available in english, french .. and easily translatable into another languages. - Syntax highlighting for a bunch of languages using Pygments. -- Public/private pastes (don't appear in the pastes history). - Time-based or "page loads"-based pastes expiration. - Password protection. - Possibility to enable/disable renderers and to choose the default one. - Limit pastes size. -- Pastes history. ## Running Pasteque diff --git a/paste/forms.py b/paste/forms.py index d198c42..1be3e24 100644 --- a/paste/forms.py +++ b/paste/forms.py @@ -20,7 +20,6 @@ class PasteForm(ModelForm): "content", "lifetime", "lifecount", - "private", ] def save(self, commit=True): diff --git a/paste/locale/fr_FR/LC_MESSAGES/django.po b/paste/locale/fr_FR/LC_MESSAGES/django.po index 0553005..c935beb 100644 --- a/paste/locale/fr_FR/LC_MESSAGES/django.po +++ b/paste/locale/fr_FR/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-04 15:13+0200\n" +"POT-Creation-Date: 2023-04-21 09:18+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,172 +15,185 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: models.py:12 +#: paste/models.py:12 msgid "Never expire" msgstr "Jamais" -#: models.py:13 -msgid "5 minutes" -msgstr "5 minutes" - -#: models.py:14 -msgid "30 minutes" -msgstr "30 minutes" - -#: models.py:15 +#: paste/models.py:13 msgid "1 hour" msgstr "1 heure" -#: models.py:16 +#: paste/models.py:14 msgid "1 day" msgstr "1 jour" -#: models.py:17 +#: paste/models.py:15 msgid "1 week" msgstr "1 semaine" -#: templates/404.html:3 templates/404.html.py:5 templates/500.html:3 +#: paste/models.py:16 +msgid "1 month" +msgstr "" + +#: paste/models.py:17 +msgid "1 year" +msgstr "" + +#: paste/templates/404.html:3 paste/templates/404.html:5 +#: paste/templates/500.html:3 msgid "Not found" msgstr "Non trouvé" -#: templates/404.html:7 +#: paste/templates/404.html:7 msgid "Sorry but the page you try to access does not exists" msgstr "Désolé mais la page à laquelle vous tentez d'accéder n'existe pas" -#: templates/500.html:5 +#: paste/templates/500.html:5 msgid "Server error" msgstr "Erreur système" -#: templates/500.html:7 +#: paste/templates/500.html:7 msgid "An error occurred" msgstr "Une erreur est survenue" -#: templates/base.html:27 -msgid "powered by" -msgstr "propulsé par" - -#: templates/base.html:30 templates/paste/index.html:4 +#: paste/templates/base.html:21 paste/templates/paste/index.html:4 msgid "Paste something" msgstr "Nouveau collage" -#: templates/base.html:31 templates/paste/history.html:3 -msgid "Lasts pastes" -msgstr "Derniers collages" +#: paste/templates/base.html:25 +msgid "powered by" +msgstr "propulsé par" -#: templates/paste/expired.html:7 +#: paste/templates/paste/expired.html:7 msgid "This paste has expired" msgstr "Ce collage a expiré" -#: templates/paste/expired.html:8 +#: paste/templates/paste/expired.html:8 msgid "Sorry but the paste you try to access has expired" msgstr "Désolé mais ce collage n'est plus accessible car il a expiré" -#: templates/paste/history.html:9 templates/paste/index.html:11 +#: paste/templates/paste/history.html:3 +msgid "Lasts pastes" +msgstr "Derniers collages" + +#: paste/templates/paste/history.html:10 paste/templates/paste/index.html:21 msgid "Title" msgstr "Titre" -#: templates/paste/history.html:10 templates/paste/index.html:19 -#: templates/paste/paste-meta.html:6 +#: paste/templates/paste/history.html:12 paste/templates/paste/index.html:28 +#: paste/templates/paste/paste-meta.html:7 msgid "Language" msgstr "Langage" -#: templates/paste/history.html:11 templates/paste/paste-meta.html:7 +#: paste/templates/paste/history.html:13 +#: paste/templates/paste/paste-meta.html:8 msgid "Size" msgstr "Taille" -#: templates/paste/history.html:12 templates/paste/paste-meta.html:8 +#: paste/templates/paste/history.html:14 +#: paste/templates/paste/paste-meta.html:9 msgid "Paste time" msgstr "Heure collage" -#: templates/paste/history.html:13 templates/paste/paste-meta.html:9 -msgid "User IP" -msgstr "IP utilisateur" - -#: templates/paste/history.html:14 templates/paste/paste-meta.html:11 +#: paste/templates/paste/history.html:15 +#: paste/templates/paste/paste-meta.html:11 msgid "Protection" msgstr "Protection" -#: templates/paste/history.html:15 templates/paste/paste-meta.html:12 +#: paste/templates/paste/history.html:16 +#: paste/templates/paste/paste-meta.html:12 msgid "Views" msgstr "Vues" -#: templates/paste/history.html:25 templates/paste/paste-meta.html:22 +#: paste/templates/paste/history.html:27 +#: paste/templates/paste/paste-meta.html:20 msgid "locked" msgstr "verrouillé" -#: templates/paste/history.html:25 templates/paste/paste-meta.html:22 +#: paste/templates/paste/history.html:27 +#: paste/templates/paste/paste-meta.html:20 msgid "open" msgstr "ouvert" -#: templates/paste/history.html:30 +#: paste/templates/paste/history.html:32 msgid "Nothing has been pasted yet" msgstr "Rien n'a encore été collé" -#: templates/paste/index.html:27 -msgid "Private" -msgstr "Privé" - -#: templates/paste/index.html:35 -msgid "Content" -msgstr "Contenu" - -#: templates/paste/index.html:42 templates/paste/paste-meta.html:13 -msgid "Expire time" -msgstr "Expiration temporelle" - -#: templates/paste/index.html:50 -msgid "Expire allowed views" -msgstr "Expiration nombre d'affichages" - -#: templates/paste/index.html:58 -msgid "Password protected" -msgstr "Protection par mot de passe" - -#: templates/paste/index.html:67 -msgid "Paste" -msgstr "Coller" - -#: templates/paste/index.html:75 +#: paste/templates/paste/index.html:11 msgid "characters left" msgstr "caractères restants" -#: templates/paste/locked.html:7 +#: paste/templates/paste/index.html:13 +msgid "Content" +msgstr "Contenu" + +#: paste/templates/paste/index.html:39 paste/templates/paste/paste-meta.html:13 +msgid "Expire time" +msgstr "Expiration temporelle" + +#: paste/templates/paste/index.html:51 +msgid "Expire allowed views" +msgstr "Expiration nombre d'affichages" + +#: paste/templates/paste/index.html:63 +msgid "Password protected" +msgstr "Protection par mot de passe" + +#: paste/templates/paste/index.html:74 +msgid "Paste" +msgstr "Coller" + +#: paste/templates/paste/locked.html:7 msgid "This paste is password protected" msgstr "Protégé par un mot de passe" -#: templates/paste/locked.html:8 -msgid "Please enter the password in the field below to unlock the paste and display it" -msgstr "Veuillez entrer le mot de passe dans le champ ci-dessous pour déverrouiller le collage et l'afficher" +#: paste/templates/paste/locked.html:8 +msgid "" +"Please enter the password in the field below to unlock the paste and display " +"it" +msgstr "" +"Veuillez entrer le mot de passe dans le champ ci-dessous pour déverrouiller " +"le collage et l'afficher" -#: templates/paste/locked.html:12 +#: paste/templates/paste/locked.html:12 msgid "Password" msgstr "Mot de passe" -#: templates/paste/locked.html:21 +#: paste/templates/paste/locked.html:20 msgid "Unlock" msgstr "Déverrouiller" -#: templates/paste/paste-meta.html:10 +#: paste/templates/paste/paste-meta.html:10 msgid "Visibility" msgstr "Visibilité" -#: templates/paste/paste-meta.html:21 -msgid "private" -msgstr "Privé" - -#: templates/paste/paste-meta.html:21 -msgid "public" -msgstr "publique" - -#: templates/paste/paste-meta.html:24 +#: paste/templates/paste/paste-meta.html:22 msgid "None" msgstr "Aucune" -msgid "Paste expired" -msgstr "Heure collage" +#~ msgid "Private" +#~ msgstr "Privé" -msgid "Plain text" -msgstr "Texte simple" +#~ msgid "private" +#~ msgstr "Privé" -msgid "Expiration time" -msgstr "Heure d'expiration" +#~ msgid "public" +#~ msgstr "publique" + +#~ msgid "5 minutes" +#~ msgstr "5 minutes" + +#~ msgid "30 minutes" +#~ msgstr "30 minutes" + +#~ msgid "User IP" +#~ msgstr "IP utilisateur" + +#~ msgid "Paste expired" +#~ msgstr "Heure collage" + +#~ msgid "Plain text" +#~ msgstr "Texte simple" + +#~ msgid "Expiration time" +#~ msgstr "Heure d'expiration" diff --git a/paste/migrations/0003_remove_paste_private.py b/paste/migrations/0003_remove_paste_private.py new file mode 100644 index 0000000..b6598d1 --- /dev/null +++ b/paste/migrations/0003_remove_paste_private.py @@ -0,0 +1,16 @@ +# Generated by Django 4.2 on 2023-04-21 07:19 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("paste", "0002_auto_20180513_1644"), + ] + + operations = [ + migrations.RemoveField( + model_name="paste", + name="private", + ), + ] diff --git a/paste/models.py b/paste/models.py index ea92a05..9cdd3ee 100644 --- a/paste/models.py +++ b/paste/models.py @@ -60,7 +60,6 @@ class Paste(models.Model): lifecount = models.IntegerField(default=0, blank=True) viewcount = models.IntegerField(default=0, editable=False) expired = models.BooleanField(default=False, editable=False) - private = models.BooleanField(default=False) password = models.CharField(max_length=128, blank=True) salt = models.CharField(max_length=36, blank=True) diff --git a/paste/templates/paste/index.html b/paste/templates/paste/index.html index 3339e97..ca6f9dd 100644 --- a/paste/templates/paste/index.html +++ b/paste/templates/paste/index.html @@ -70,12 +70,6 @@ {{ form.password.errors }} -
- {{ form.private|add_class:"form-check-input" }} - - {{ form.private.errors }} -
-
diff --git a/paste/templates/paste/paste-meta.html b/paste/templates/paste/paste-meta.html index 75a7d45..865de91 100644 --- a/paste/templates/paste/paste-meta.html +++ b/paste/templates/paste/paste-meta.html @@ -17,7 +17,6 @@ {% trans paste.language.name %} {{ paste.size }} {{ paste.paste_time }} - {% if paste.private %} {% trans 'private' %}{% else %} {% trans 'public' %}{% endif %} {% if paste.password %} {% trans 'locked' %}{% else %} {% trans 'open' %}{% endif %} {{ paste.viewcount }}{% if paste.lifecount > 0 %}/{{ paste.lifecount }}{% endif %} {% if paste.expiration_time %}{{ paste.expiration_time }}{% else %}{% trans 'None' %}{% endif %} diff --git a/paste/urls.py b/paste/urls.py index 46ba435..3760acd 100644 --- a/paste/urls.py +++ b/paste/urls.py @@ -6,7 +6,6 @@ from webtools import settings urlpatterns = [ url(r"^$", views.index, name="index"), - url(r"^history$", views.history, name="history"), url(r"^static/(?P.*)", serve, {"document_root": settings.STATIC_ROOT}), url( r"^paste/(?P[a-zA-Z0-9-]+)/(?P[a-z]+)?$", diff --git a/paste/views.py b/paste/views.py index b215d8b..f235c42 100644 --- a/paste/views.py +++ b/paste/views.py @@ -23,7 +23,6 @@ def index(request): { "language": language.id, "title": any_file.name, - "private": settings.PASTE["private_by_default"], "lifetime": settings.PASTE["default_lifetime"], "content": any_file.read().decode(), }, @@ -43,7 +42,6 @@ def index(request): ) data["form"] = PasteForm( initial={ - "private": settings.PASTE["private_by_default"], "lifetime": settings.PASTE["default_lifetime"], "language": Language.by_name(settings.PASTE["default_language"]).id, } @@ -84,14 +82,3 @@ def show(request, slug, renderer="pygments"): if "password" in request.POST: response.set_cookie("password", request.POST["password"]) return response - - -def history(request): - """Display last 25 public non-expired pastes.""" - pastes = Paste.objects.filter(private=False, expired=False).order_by("-pk")[:25] - data = { - "pastes": pastes, - "menu": "history", - "default_renderer": settings.PASTE["default_renderer"], - } - return render(request, "paste/history.html", data) diff --git a/webtools/settings.py b/webtools/settings.py index 034407f..5c39184 100644 --- a/webtools/settings.py +++ b/webtools/settings.py @@ -97,7 +97,6 @@ PASTE = { "has_expire_by_views": False, "has_meta_table": False, "show_char_left": False, - "private_by_default": True, "enabled_renderers": ["pygments", "raw"], "default_renderer": "pygments", "max_characters": 100000,