Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
7354af5787 | |||
![]() |
b814ab4d72 | ||
![]() |
a0ec59ddc3 | ||
cea449ddcd | |||
![]() |
70e796acc3 | ||
![]() |
242a126245 | ||
![]() |
03a0e748ec | ||
e024b881a5 | |||
![]() |
fb9b330535 | ||
![]() |
6bc1b49071 | ||
![]() |
0cf24055d5 | ||
52e9a1ae0e | |||
b386d89d6c
|
|||
![]() |
59229f280b | ||
![]() |
4c57725862 | ||
![]() |
8ded12a7cf | ||
![]() |
0180242d2a | ||
![]() |
bf29716008 |
@@ -2,6 +2,7 @@ version: '2'
|
||||
|
||||
# Run the following once:
|
||||
# docker compose run --rm archweb_web python manage.py migrate
|
||||
# docker compose run --rm archweb_web python manage.py loaddata mirrors/fixtures/mirrorprotocols.json
|
||||
# docker compose run --rm archweb_web python manage.py loaddata main/fixtures/arches.json
|
||||
# docker compose run --rm archweb_web python manage.py loaddata main/fixtures/repos.json
|
||||
# docker compose run --rm archweb_web python manage.py createsuperuser --username=admin --email=admin@artixweb.local
|
||||
@@ -11,6 +12,8 @@ version: '2'
|
||||
# docker compose run --rm archweb_web python manage.py pgp_import ./config/keyring
|
||||
## go to /admin/devel/developerkey/ and set the owner (and parent) for the ownerless key
|
||||
## go to /admin/sites/site/1/change/ and set the domain
|
||||
## clone the mirrors repo
|
||||
# docker compose run --rm archweb_web python manage.py loaddata /mirrors/mirrors.fixture.json
|
||||
|
||||
|
||||
services:
|
||||
|
@@ -9,24 +9,24 @@ register = template.Library()
|
||||
@register.simple_tag
|
||||
def jquery():
|
||||
version = '3.6.0'
|
||||
filename = 'jquery-%s.min.js' % version
|
||||
filename = f'jquery-{version}.min.js'
|
||||
link = staticfiles_storage.url(filename)
|
||||
return mark_safe('<script type="text/javascript" src="%s"></script>' % link)
|
||||
return mark_safe(f'<script type="text/javascript" src="{link}"></script>')
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def jquery_tablesorter():
|
||||
version = '2.31.0'
|
||||
filename = 'jquery.tablesorter-%s.min.js' % version
|
||||
filename = f'jquery.tablesorter-{version}.min.js'
|
||||
link = staticfiles_storage.url(filename)
|
||||
return format_html('<script type="text/javascript" src="%s"></script>' % link)
|
||||
return format_html('<script type="text/javascript" src="{link}"></script>', link=link)
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def d3js():
|
||||
version = '3.5.0'
|
||||
filename = 'd3-%s.min.js' % version
|
||||
filename = f'd3-{version}.min.js'
|
||||
link = staticfiles_storage.url(filename)
|
||||
return format_html('<script type="text/javascript" src="%s"></script>' % link)
|
||||
return format_html('<script type="text/javascript" src="{link}"></script>', link=link)
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
@@ -8,8 +8,11 @@ register = template.Library()
|
||||
def country_flag(country):
|
||||
if not country:
|
||||
return ''
|
||||
return format_html('<span class="fam-flag fam-flag-%s" title="%s"></span> ' % (
|
||||
str(country.code).lower(), str(country.name)))
|
||||
return format_html(
|
||||
'<span class="fam-flag fam-flag-{country_code}" title="{country_name}"></span> ',
|
||||
country_code=str(country.code).lower(),
|
||||
country_name=str(country.name),
|
||||
)
|
||||
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
@@ -56,8 +56,10 @@ def pgp_key_link(key_id, link_text=None):
|
||||
key_id)
|
||||
if link_text is None:
|
||||
link_text = '0x%s' % key_id[-8:]
|
||||
values = (url, format_key(key_id), link_text)
|
||||
return format_html('<a href="%s" title="PGP key search for %s">%s</a>' % values)
|
||||
return format_html('<a href="{url}" title="PGP key search for {key}">{content}</a>',
|
||||
url=url,
|
||||
key=format_key(key_id),
|
||||
content=mark_safe(link_text))
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
|
@@ -25,5 +25,14 @@
|
||||
"default": false,
|
||||
"protocol": "https"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 9,
|
||||
"model": "mirrors.mirrorprotocol",
|
||||
"fields": {
|
||||
"is_download": false,
|
||||
"default": false,
|
||||
"protocol": "ftp"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@@ -33,7 +33,7 @@ server {
|
||||
try_files "" @proxy;
|
||||
}
|
||||
|
||||
location ~ ^/(packages|groups|opensearch|feeds) {
|
||||
location ~ ^/(packages|groups|opensearch|feeds|mirrors|mirrorlist) {
|
||||
try_files "" @proxy;
|
||||
}
|
||||
|
||||
@@ -65,4 +65,4 @@ server {
|
||||
}
|
||||
|
||||
error_page 500 501 502 503 504 /500.html;
|
||||
}
|
||||
}
|
||||
|
@@ -43,8 +43,8 @@ def pkg_details_link(pkg, link_title=None, honor_flagged=False):
|
||||
link_content = link_title
|
||||
if honor_flagged and pkg.flag_date:
|
||||
link_content = '<span class="flagged">%s</span>' % link_title
|
||||
link = '<a href="%s" title="View package details for %s">%s</a>'
|
||||
return format_html(link % (pkg.get_absolute_url(), pkg.pkgname, link_content))
|
||||
link = '<a href="{link}" title="View package details for {pkgname}">{content}</a>'
|
||||
return format_html(link, link=pkg.get_absolute_url(), pkgname=pkg.pkgname, content=link_content)
|
||||
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from operator import attrgetter
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
@@ -99,7 +99,7 @@ def keys(request):
|
||||
user_key_ids = frozenset(user.userprofile.pgp_key[-16:] for user in users
|
||||
if user.userprofile.pgp_key)
|
||||
|
||||
not_expired = Q(expires__gt=datetime.utcnow()) | Q(expires__isnull=True)
|
||||
not_expired = Q(expires__gt=datetime.now(timezone.utc)) | Q(expires__isnull=True)
|
||||
master_keys = MasterKey.objects.select_related('owner', 'revoker',
|
||||
'owner__userprofile', 'revoker__userprofile').filter(
|
||||
revoked__isnull=True)
|
||||
@@ -155,7 +155,7 @@ def keys_json(request):
|
||||
'group': 'master'
|
||||
} for key in master_keys)
|
||||
|
||||
not_expired = Q(expires__gt=datetime.utcnow()) | Q(expires__isnull=True)
|
||||
not_expired = Q(expires__gt=datetime.now(timezone.utc)) | Q(expires__isnull=True)
|
||||
signatures = PGPSignature.objects.filter(not_expired, revoked__isnull=True)
|
||||
edge_list = [{ 'signee': sig.signee, 'signer': sig.signer }
|
||||
for sig in signatures]
|
||||
|
@@ -1,5 +1,5 @@
|
||||
from base64 import b64encode
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
import pytest
|
||||
from bencode import bencode
|
||||
@@ -24,7 +24,7 @@ def torrent_data():
|
||||
data = {
|
||||
'comment': 'comment',
|
||||
'created_by': 'Arch Linux',
|
||||
'creation date': int(datetime.utcnow().timestamp()),
|
||||
'creation date': int(datetime.now(timezone.utc).timestamp()),
|
||||
'info': {
|
||||
'name': 'arch.iso',
|
||||
'length': 1,
|
||||
|
@@ -1,5 +1,5 @@
|
||||
-e git+https://github.com/fredj/cssmin.git@master#egg=cssmin
|
||||
Django==5.1.9
|
||||
Django==5.1.13
|
||||
IPy==1.1
|
||||
Markdown==3.3.7
|
||||
bencode.py==4.0.0
|
||||
|
@@ -273,4 +273,10 @@ if PROMETHEUS_METRICS:
|
||||
|
||||
INSTALLED_APPS = [*list(INSTALLED_APPS), 'django_prometheus']
|
||||
|
||||
# Assume all URLField will be HTTPS if not specified.
|
||||
# NOTE: this can be removed once we bump Django to 6.x
|
||||
# where `https` becomes the default.
|
||||
FORMS_URLFIELD_ASSUME_HTTPS = True
|
||||
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
@@ -1207,12 +1207,12 @@ ul.signoff-list {
|
||||
|
||||
/* style input as a normal anchor */
|
||||
input {
|
||||
background: none!important;
|
||||
background: none !important;
|
||||
border: none;
|
||||
padding: 0!important;
|
||||
/*optional*/
|
||||
padding: 0 0.5em !important;
|
||||
/* optional */
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 0.9em;
|
||||
font-size: 100%;
|
||||
/*input has OS specific font-family*/
|
||||
color: #07b;
|
||||
}
|
||||
|
@@ -145,6 +145,10 @@ tr :nth-child(7) {
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAPABAOTu/wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAgABACwAAAAAFQAEAAACDYwfoAvoz9qbZ9FrJC0AOw==);
|
||||
}
|
||||
|
||||
code {
|
||||
background: #334450;
|
||||
}
|
||||
|
||||
.results.results td,
|
||||
.results.results th {
|
||||
border: 1px solid #858585;
|
||||
@@ -158,7 +162,7 @@ tr :nth-child(7) {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.results th {
|
||||
.results th, #pkgsearch {
|
||||
color: #fff;
|
||||
background-color: #0f3147;
|
||||
border: 1px solid #0A6682;
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
@@ -26,10 +26,8 @@
|
||||
<div><label for="id_repo_{{ repo_name|lower }}" title="Target Repository {{ repo_name }}">[{{ repo_name|lower }}]</label>
|
||||
<input type="checkbox" name="repo_{{ repo_name|lower }}" id="id_repo_{{ repo_name|lower }}" class="repo_filter" value="{{ repo_name|lower }}" checked="checked"/></div>
|
||||
{% endfor %}
|
||||
{% if user.is_authenticated %}
|
||||
<div><label for="id_mine_only" title="Show only packages packaged by me">Only Mine</label>
|
||||
<input type="checkbox" name="mine_only" id="id_mine_only" value="mine_only"/></div>
|
||||
{% endif %}
|
||||
<div><label for="id_pending" title="Packages with not enough signoffs">Only Pending Approval</label>
|
||||
<input type="checkbox" name="pending" id="id_pending" value="pending"/></div>
|
||||
<div><label> </label><input title="Reset search criteria" type="button" id="criteria_reset" value="Reset"/></div>
|
||||
|
@@ -53,16 +53,6 @@
|
||||
<img src="{% static "nitrokey_logo.png" %}"
|
||||
class="sponsor-btn-nitrokey" title="" alt="Nitrokey logo"/></a>
|
||||
|
||||
<p>We would also like to thank <a href="https://www.shells.com/"
|
||||
title="Shells">Shells.com</a> for their monetary donation.
|
||||
Shells provides you with a 1-click, powerful virtual desktop environment,
|
||||
driven by a cloud computer, without leaving your browser! It's your
|
||||
personal workspace in the cloud.</p>
|
||||
|
||||
<a href="https://www.shells.com/" title="Shells">
|
||||
<img src="{% static "shells_logo.png" %}"
|
||||
title="" alt="Shells logo"/></a>
|
||||
|
||||
<h3>Past donors</h3>
|
||||
|
||||
<p><a href="http://www.dotcom-monitor.com/" title="Dotcom-Monitor">Dotcom-Monitor</a> & <a href="https://www.loadview-testing.com/" title="LoadView">LoadView</a></p>
|
||||
|
@@ -153,6 +153,7 @@
|
||||
<ul>
|
||||
<li><a href="https://wiki.archlinux.org/title/Getting_involved"
|
||||
title="Getting involved">Getting involved</a></li>
|
||||
<li><a href="https://devblog.archlinux.page" title="Dev Blog">Dev Blog</a></li>
|
||||
<li><a href="https://gitlab.archlinux.org/archlinux/"
|
||||
title="Official Arch projects (git)">Projects in Git</a></li>
|
||||
<li><a href="https://wiki.archlinux.org/title/DeveloperWiki"
|
||||
@@ -204,11 +205,6 @@
|
||||
<img src="{% static "icons8_logo.png" %}"
|
||||
title="" alt="Icons8 logo"/>
|
||||
</a>
|
||||
|
||||
<a href="https://www.shells.com" title="Shells.com">
|
||||
<img src="{% static "shells_logo.png" %}"
|
||||
title="" alt="Shells logo"/>
|
||||
</a>
|
||||
</div>
|
||||
{% endcache %}
|
||||
{% endblock %}
|
||||
|
@@ -2,6 +2,8 @@
|
||||
{% load static %}
|
||||
{% load package_extras %}
|
||||
{% load todolists %}
|
||||
{% load tz %}
|
||||
{% load humanize %}
|
||||
|
||||
{% block title %}Arch Linux - Todo: {{ list.name }}{% endblock %}
|
||||
|
||||
@@ -103,7 +105,15 @@
|
||||
<span class="{{ pkg.status_css_class }}">{{ pkg.get_status_display }}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ pkg.user|default:"" }}</td>
|
||||
<td>
|
||||
{% if pkg.user %}
|
||||
{% if user.is_authenticated %}
|
||||
{{ pkg.user }} <span title="{{ pkg.last_modified|timezone:user.userprofile.time_zone|date:"Y-m-d H:i T" }}">({{ pkg.last_modified|naturaltime }})</span>
|
||||
{% else %}
|
||||
{{ pkg.user }} <span title="{{ pkg.last_modified|date:"Y-m-d H:i T" }}">({{ pkg.last_modified|naturaltime }})</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
@@ -13,8 +13,9 @@ def todopkg_details_link(todopkg):
|
||||
pkg = todopkg.pkg
|
||||
if not pkg:
|
||||
return todopkg.pkgname
|
||||
link = '<a href="%s" title="View package details for %s">%s</a>'
|
||||
link = '<a href="{url}" title="View package details for {pkgname}">{pkgname}</a>'
|
||||
url = pkg_absolute_url(todopkg.repo, todopkg.arch, pkg.pkgname)
|
||||
return format_html(link % (url, pkg.pkgname, pkg.pkgname))
|
||||
return format_html(link, url=url, pkgname=pkg.pkgname)
|
||||
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
Reference in New Issue
Block a user