Add Use the Source mockup pages

This doesn't include any data models yet.
This commit is contained in:
Ben Sturmfels 2023-10-20 16:49:17 +11:00
parent 012bb1e7e4
commit 905e5c918d
Signed by: bsturmfels
GPG key ID: 023C05E2C9C068F0
9 changed files with 120 additions and 1 deletions

View file

@ -100,6 +100,7 @@ INSTALLED_APPS = [
'conservancy.apps.assignment', 'conservancy.apps.assignment',
'conservancy.apps.fossy', 'conservancy.apps.fossy',
'podjango', 'podjango',
'usethesource',
] ]
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'

View file

@ -17,7 +17,8 @@
# along with this program in a file in the toplevel directory called # along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>. # "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import include, url from django.conf.urls import url
from django.urls import include, path
from django.contrib import admin from django.contrib import admin
from . import feeds, frontpage, sponsors from . import feeds, frontpage, sponsors
@ -66,4 +67,5 @@ urlpatterns = [
url(r'^fossy/$', static_views.index), url(r'^fossy/$', static_views.index),
url(r'^fossy/', include('conservancy.apps.fossy.urls')), url(r'^fossy/', include('conservancy.apps.fossy.urls')),
url(r'^cast/', include('podjango.urls')), url(r'^cast/', include('podjango.urls')),
path('usethesource/', include('usethesource.urls')),
] ]

View file

View file

@ -0,0 +1,17 @@
{% extends "base_standard.html" %}
{% block head %}
<meta name="description" content="TODO" />
<meta name="keywords" content="TODO" />
{% endblock %}
{% block outercontent %}
<div class="lh-title ttu tracked tc pt2 pb3 pt3-ns pb4-ns ph2 bg-gray"
style="margin: -0.5rem -1rem 0; background: rgb(40,61,167); background: radial-gradient(circle, rgba(40,61,167,1) 0%, rgba(0,0,0,1) 100%)">
<h1 class="f1 f-subheadline-ns"><a class="white-90" href="{% url 'usethesource:landing' %}">Use the Source</a></h1>
</div>
<div class="mw8 center ph2 ph3">
{% block content %}{% endblock %}
</div>
{% endblock outercontent %}

View file

@ -0,0 +1,35 @@
{% extends "usethesource/base.html" %}
{% block content %}
{{ block.super }}
<section class="pa2 mt4 mb3">
<div style="display: flex; justify-content: space-between">
<div>
<h2 class="f2 lh-title ttu mt0">Linksys WRG987-v2</h2>
<p><strong>Vendor</strong>: Linksys</em></p>
<p><strong>Device</strong>: WRG987</em></p>
<p><strong>Released</strong>: Oct 20, 2023</em></p>
</div>
<div class="mt2">
<div><a href="{% url 'usethesource:download' %}" class="white bg-green db pv2 ph3 mb2">Download source</a></div>
<div><a href="{% url 'usethesource:download' %}" class="white bg-green db pv2 ph3">Download image</a></div>
</div>
</div>
<p>The WRG1830 Wireless Router Gateway (WRG) is a component of the ZFR183x Pro Series Wireless Field Bus System. The WRG1830 provides BACnet IP connectivity to compatible Johnson Controls Field Controllers, VAV Controllers, Thermostats, and Sensors over a wireless mesh network.</p>
<h3 class="f3 lh-title mt4">Comments</h3>
<p><strong>Denver — Oct 20, 2023</strong>:<br>
I was able to run the autogen and configure scripts, but the build failed with a missing dependency XYZ.</p>
<form method="post">
<div class="mt4">
<textarea placeholder="Add a comment..." style="width: 50em; height: 15em;"></textarea>
</div>
<div class="mt2">
<button type="submit" class="b white bg-green pv2 ph3" style="border: none">Save</button>
</div>
</form>
</section>
{% endblock content %}

View file

@ -0,0 +1,17 @@
{% extends "usethesource/base.html" %}
{% block content %}
{{ block.super }}
<section class="pa2 mt4 mb5">
<h2 class="f2 lh-title ttu mt0">Download</h2>
<p><strong>File</strong>: xyz-image.tar.gz</p>
<p>By downloading this, you agree to use it only for the purposes of GPL compliance checking, unless otherwise permitted by the license.</p>
<div style="display: flex">
<a href="{% url 'usethesource:candidate' %}" class="white bg-silver dib pv2 ph3 mb2 mr2">Back</a>
<a href="{% url 'usethesource:download' %}" class="white bg-green dib pv2 ph3 mb2">Download</a>
</div>
</section>
{% endblock content %}

View file

@ -0,0 +1,24 @@
{% extends "usethesource/base.html" %}
{% block content %}
{{ block.super }}
<section class="f4 pa2 mt4 mb3">
<p>The Complete and Corresponding Source (CCS) is all of the technical materials and source code required to modify, run, and/or reinstall the software. The GPL and LGPL have a formal definitions for CCS, which is sometimes called "Corresponding Source.</p>
</section>
<section class="mb5">
<h2 class="f2 lh-title ttu mt0">Candidates</h2>
<div class="mb4">
<h3 class="f4 lh-title mt0"><a href="{% url 'usethesource:candidate' %}">Linksys WRG987-v2</a></h3>
<p class=""><em>Released Oct 20, 2023</em></p>
<p class="">The WRG1830 Wireless Router Gateway (WRG) is a component of the ZFR183x Pro Series Wireless Field Bus System. The WRG1830 provides BACnet IP connectivity to compatible Johnson Controls Field Controllers, VAV Controllers, Thermostats, and Sensors over a wireless mesh network.</p>
</div>
<div>
<h2 class="lh-title mt0"><a href="{% url 'usethesource:candidate' %}">Linksys WRG987-v2</a></h2>
<p><em>Released Oct 20, 2023</em></p>
<p>The WRG1830 Wireless Router Gateway (WRG) is a component of the ZFR183x Pro Series Wireless Field Bus System. The WRG1830 provides BACnet IP connectivity to compatible Johnson Controls Field Controllers, VAV Controllers, Thermostats, and Sensors over a wireless mesh network.</p>
</div>
</section>
{% endblock content %}

10
www/usethesource/urls.py Normal file
View file

@ -0,0 +1,10 @@
from django.urls import path
from . import views
app_name = 'usethesource'
urlpatterns = [
path('', views.landing_page, name='landing'),
path('candidate/', views.candidate_page, name='candidate'),
path('download/', views.download_page, name='download'),
]

13
www/usethesource/views.py Normal file
View file

@ -0,0 +1,13 @@
from django.shortcuts import render
def landing_page(request):
return render(request, 'usethesource/landing_page.html', {})
def candidate_page(request):
return render(request, 'usethesource/candidate.html', {})
def download_page(request):
return render(request, 'usethesource/download.html', {})