From patchwork Wed Aug 11 21:36:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Finucane X-Patchwork-Id: 1516036 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="key not found in DNS" header.d=that.guru header.i=@that.guru header.a=rsa-sha256 header.s=x header.b=MR/b2UWF; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GlNTX1qsYz9sXS for ; Thu, 12 Aug 2021 07:37:52 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4GlNTX0L5lz3bWX for ; Thu, 12 Aug 2021 07:37:52 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="key not found in DNS" header.d=that.guru header.i=@that.guru header.a=rsa-sha256 header.s=x header.b=MR/b2UWF; dkim-atps=neutral X-Original-To: patchwork@lists.ozlabs.org Delivered-To: patchwork@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=that.guru (client-ip=136.175.108.86; helo=mail-108-mta86.mxroute.com; envelope-from=stephen@that.guru; receiver=) Authentication-Results: lists.ozlabs.org; dkim=fail reason="key not found in DNS" header.d=that.guru header.i=@that.guru header.a=rsa-sha256 header.s=x header.b=MR/b2UWF; dkim-atps=neutral Received: from mail-108-mta86.mxroute.com (mail-108-mta86.mxroute.com [136.175.108.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4GlNT2601Tz30Lw for ; Thu, 12 Aug 2021 07:37:25 +1000 (AEST) Received: from filter004.mxroute.com ([149.28.56.236] filter004.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta86.mxroute.com (ZoneMTA) with ESMTPSA id 17b3725ebe700074ba.002 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Wed, 11 Aug 2021 21:37:17 +0000 X-Zone-Loop: 6c3414be035278c72205d71006728ce519efd04a1d22 X-Originating-IP: [149.28.56.236] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=that.guru; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To: From:Sender:Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=YtHuOATiF/L9V+wWfRR0fHERKxAgXCDTDaiy69OxjYI=; b=M R/b2UWF/OFSol2lPpv0F2k0fmlSxnJz4oTUBIClB4h3NwtdKgL8rUGUk+vQ0JTwv440FaTIYpcj9s 2gr0ixB0wxQ2dkp1/SKNIs5sa+bWPD7SqZxJu9pLePIBHeKTosgtYKvly++ENc+QwIFGQmW4ITEqc cCy4pl4eGF2lscJl8Z2LV7z+KTgidO4k1G56755U1rWdlRXzfhM28C7XsmUnCphc5f/En22k2MGez hMATKEXoQ62RmNLdtnWK4vViArhGefEBavBcIeSbY0Zj0/lkCZuvB0CwqFNNX3i6tfnyCM1TeSTIk raxMNOQtlG9s/E5UihnvrP8FRkD7zwxog==; From: Stephen Finucane To: patchwork@lists.ozlabs.org Subject: [RFC PATCH 00/19] Integrate Bulma Date: Wed, 11 Aug 2021 22:36:46 +0100 Message-Id: <20210811213705.36293-1-stephen@that.guru> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-AuthUser: stephen@that.guru X-Zone-Spam-Resolution: no action X-Zone-Spam-Status: No, score=5, required=15, tests=[ARC_NA=0, MID_CONTAINS_FROM=1, FROM_HAS_DN=0, RCPT_COUNT_THREE=0, TO_DN_SOME=0, R_MISSING_CHARSET=2.5, RCVD_COUNT_ZERO=0, FROM_EQ_ENVFROM=0, MIME_TRACE=0, BROKEN_CONTENT_TYPE=1.5, NEURAL_SPAM=0] X-BeenThere: patchwork@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Patchwork development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Patchwork" This is a partial series to migrate the UX to Bulma and rework many of the view flows. Bulma was chosen as it's well maintained and reasonably concise. Tailwind, Bootstrap 4 and Zurb Foundation 6 were also evaluated and could conceivably work, but Tailwind proved incredibly slow to work with (too many options!) and the latter two were significantly beefier without providing significant advantages over Bulma. The series is RFC as it almost certainly conflicts with Raxel's series and I'm not entirely sure all of the ideas included are good ones. I also need additional context in many of the commit messages and unit tests for the code changes. It's also incomplete as I've yet to main the main patch list and submission pages. Depending on feedback though, I can address all of these issues and resolve conflicts with Raxel's work. I'd also be open to people taking the ideas and running with them. We should probably merge the bottom 3-5 patches though. Those seem broadly useful. Stephen Finucane (19): templates: Use standard indentation templatetags: Trivial cleanup templatetags: Add 'site_admins' tag REST: Include 'first', 'last' refs in 'Link' header settings: Enable django-cors-headers WIP: REST: Change permissions for '/people', '/users' htdocs: Integrate bulma, fontawesome trivial: Run views through black templates: Convert login, password reset views templates: Convert user profile view templates: Enhance profile view further view: Simplify user opt-in, opt-out templates: Convert bundles view templates: Convert projects view WIP: templates: Convert todo-list view templates: Convert project view templates: Convert about page templates: Convert mail settings pages templates: Convert registration page htdocs/css/bulma.css.map | 1 + htdocs/css/bulma.min.css | 1 + htdocs/css/fontawesome.css | 4619 +++++++++++++++ htdocs/css/fontawesome.min.css | 5 + htdocs/webfonts/fa-brands-400.eot | Bin 0 -> 136822 bytes htdocs/webfonts/fa-brands-400.svg | 3717 ++++++++++++ htdocs/webfonts/fa-brands-400.ttf | Bin 0 -> 136516 bytes htdocs/webfonts/fa-brands-400.woff | Bin 0 -> 92136 bytes htdocs/webfonts/fa-brands-400.woff2 | Bin 0 -> 78472 bytes htdocs/webfonts/fa-regular-400.eot | Bin 0 -> 34350 bytes htdocs/webfonts/fa-regular-400.svg | 801 +++ htdocs/webfonts/fa-regular-400.ttf | Bin 0 -> 34052 bytes htdocs/webfonts/fa-regular-400.woff | Bin 0 -> 16776 bytes htdocs/webfonts/fa-regular-400.woff2 | Bin 0 -> 13588 bytes htdocs/webfonts/fa-solid-900.eot | Bin 0 -> 204814 bytes htdocs/webfonts/fa-solid-900.svg | 5028 +++++++++++++++++ htdocs/webfonts/fa-solid-900.ttf | Bin 0 -> 204528 bytes htdocs/webfonts/fa-solid-900.woff | Bin 0 -> 104280 bytes htdocs/webfonts/fa-solid-900.woff2 | Bin 0 -> 80252 bytes patchwork/api/base.py | 33 +- patchwork/api/person.py | 4 +- patchwork/api/user.py | 5 +- patchwork/forms.py | 338 +- patchwork/settings/dev.py | 26 +- patchwork/templates/patchwork/about.html | 149 +- patchwork/templates/patchwork/bundle.html | 37 +- patchwork/templates/patchwork/bundles.html | 135 +- .../templates/patchwork/confirm-error.html | 19 - patchwork/templates/patchwork/list.html | 12 +- patchwork/templates/patchwork/login.html | 105 +- .../templates/patchwork/mail-configure.html | 70 + .../templates/patchwork/mail-settings.html | 103 +- patchwork/templates/patchwork/mail.html | 38 - .../templates/patchwork/optin-request.html | 49 - patchwork/templates/patchwork/optin.html | 18 - .../templates/patchwork/optout-request.html | 50 - patchwork/templates/patchwork/optout.html | 21 - .../patchwork/partials/download-buttons.html | 34 +- .../templates/patchwork/partials/filters.html | 83 +- .../patchwork/partials/pagination.html | 42 +- .../patchwork/partials/patch-list.html | 479 +- patchwork/templates/patchwork/profile.html | 515 +- patchwork/templates/patchwork/project.html | 401 +- patchwork/templates/patchwork/projects.html | 83 +- .../patchwork/registration-confirm.html | 13 - .../templates/patchwork/registration.html | 217 +- patchwork/templates/patchwork/submission.html | 445 +- patchwork/templates/patchwork/todo-list.html | 43 +- patchwork/templates/patchwork/todo-lists.html | 31 +- .../patchwork/user-link-confirm.html | 18 - patchwork/templates/patchwork/user-link.html | 26 - patchwork/templatetags/admins.py | 29 + patchwork/templatetags/listurl.py | 22 +- patchwork/templatetags/patch.py | 24 +- patchwork/templatetags/person.py | 9 +- patchwork/templatetags/project.py | 10 +- patchwork/templatetags/syntax.py | 55 +- patchwork/tests/views/test_user.py | 52 +- patchwork/urls.py | 21 +- patchwork/views/__init__.py | 107 +- patchwork/views/api.py | 13 +- patchwork/views/bundle.py | 71 +- patchwork/views/cover.py | 42 +- patchwork/views/mail.py | 166 +- patchwork/views/notification.py | 35 +- patchwork/views/patch.py | 90 +- patchwork/views/project.py | 88 +- patchwork/views/pwclient.py | 5 +- patchwork/views/series.py | 3 +- patchwork/views/user.py | 322 +- patchwork/views/utils.py | 27 +- patchwork/views/xmlrpc.py | 63 +- requirements-dev.txt | 1 + templates/404.html | 2 - templates/base.html | 224 +- templates/base2.html | 97 + .../registration/password_change_done.html | 2 - .../registration/password_change_form.html | 52 +- .../registration/password_reset_complete.html | 9 - .../registration/password_reset_confirm.html | 110 +- .../registration/password_reset_done.html | 37 +- .../registration/password_reset_email.html | 2 +- .../registration/password_reset_form.html | 85 +- 83 files changed, 17606 insertions(+), 2083 deletions(-) create mode 100644 htdocs/css/bulma.css.map create mode 100644 htdocs/css/bulma.min.css create mode 100644 htdocs/css/fontawesome.css create mode 100644 htdocs/css/fontawesome.min.css create mode 100644 htdocs/webfonts/fa-brands-400.eot create mode 100644 htdocs/webfonts/fa-brands-400.svg create mode 100644 htdocs/webfonts/fa-brands-400.ttf create mode 100644 htdocs/webfonts/fa-brands-400.woff create mode 100644 htdocs/webfonts/fa-brands-400.woff2 create mode 100644 htdocs/webfonts/fa-regular-400.eot create mode 100644 htdocs/webfonts/fa-regular-400.svg create mode 100644 htdocs/webfonts/fa-regular-400.ttf create mode 100644 htdocs/webfonts/fa-regular-400.woff create mode 100644 htdocs/webfonts/fa-regular-400.woff2 create mode 100644 htdocs/webfonts/fa-solid-900.eot create mode 100644 htdocs/webfonts/fa-solid-900.svg create mode 100644 htdocs/webfonts/fa-solid-900.ttf create mode 100644 htdocs/webfonts/fa-solid-900.woff create mode 100644 htdocs/webfonts/fa-solid-900.woff2 delete mode 100644 patchwork/templates/patchwork/confirm-error.html create mode 100644 patchwork/templates/patchwork/mail-configure.html delete mode 100644 patchwork/templates/patchwork/mail.html delete mode 100644 patchwork/templates/patchwork/optin-request.html delete mode 100644 patchwork/templates/patchwork/optin.html delete mode 100644 patchwork/templates/patchwork/optout-request.html delete mode 100644 patchwork/templates/patchwork/optout.html delete mode 100644 patchwork/templates/patchwork/registration-confirm.html delete mode 100644 patchwork/templates/patchwork/user-link-confirm.html delete mode 100644 patchwork/templates/patchwork/user-link.html create mode 100644 patchwork/templatetags/admins.py create mode 100644 templates/base2.html delete mode 100644 templates/registration/password_reset_complete.html