|
Ryan Lerch |
336cd6 |
{% extends "userdash_master.html" %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% block title %}Home{% endblock %}
|
|
Ryan Lerch |
336cd6 |
{% set tag = "projects" %}
|
|
Ryan Lerch |
336cd6 |
{% from "_browseheader.html" import browse_header %}
|
|
Ryan Lerch |
336cd6 |
{% from "_render_repo.html" import pagination_link %}
|
|
Ryan Lerch |
0c654b |
{% from "_projectstring.html" import projectstring, projecticon %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% from "_render_repo.html" import render_repos_as_card %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% block userdash %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
1370a4 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
0c654b |
My {{projectstring(plural=True)}}
|
|
Ryan Lerch |
0c654b |
{{ userdash_counts['repos_length'] }} {{projectstring(plural=True)}}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
0c654b |
{{filtered_repos_count}} {{projectstring(plural=True)}}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<button aria-expanded="false" aria-haspopup="true" class="btn btn-sm btn-outline-secondary border-0 dropdown-toggle" data-flip="false" data-toggle="dropdown" id="dropdownMenuButton" type="button"></button>
|
|
Ryan Lerch |
336cd6 |
Filter
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if tags %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% for tag in tags %}
|
|
Ryan Lerch |
336cd6 |
{{ tag }}
|
|
Ryan Lerch |
336cd6 |
{% if not loop.last %}
|
|
Ryan Lerch |
336cd6 |
&
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% endfor%}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if milestones %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{ milestones[0] }}
|
|
Ryan Lerch |
336cd6 |
{% elif no_milestones %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
No Milestone
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if acl %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
55f221 |
{{ acl if acl != 'main admin' else 'maintainer' }}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if author %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{ author }}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if assignee %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{ assignee }}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if search_pattern %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{ search_pattern }}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<form action="{{ url_for('ui_ns.userdash_projects') }}" id="filters_form" method="GET"></form>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="acls"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<select id="acls-selectize" name="acl" placeholder="ACLs"></select>
|
|
Ryan Lerch |
336cd6 |
<option value=""></option>
|
|
Ryan Lerch |
55f221 |
<option "main="" %}="" %}selected="selected" acl="=" admin"="" endif="" if="" value="main admin" {%="">Maintainer</option>
|
|
Ryan Lerch |
336cd6 |
<option "admin"="" %}="" %}selected="selected" acl="=" endif="" if="" value="admin" {%="">Admin</option>
|
|
Ryan Lerch |
336cd6 |
<option "commit"="" %}="" %}selected="selected" acl="=" endif="" if="" value="commit" {%="">Commit</option>
|
|
Ryan Lerch |
336cd6 |
<option "ticket"="" %}="" %}selected="selected" acl="=" endif="" if="" value="ticket" {%="">Ticket</option>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="search_pattern"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
name="search_pattern" placeholder="Search"
|
|
Ryan Lerch |
336cd6 |
value="{{ search_pattern or '' }}" />
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{#
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="milestone"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<select id="milestone-selectize" name="milestone" placeholder="Milestone"></select>
|
|
Ryan Lerch |
336cd6 |
<option value=""></option>
|
|
Ryan Lerch |
336cd6 |
<option %}="" %}selected="selected" endif="" if="" no_milestones="" value="none" {%="">Milestone unset</option>
|
|
Ryan Lerch |
336cd6 |
{% for stone in repo.milestones %}
|
|
Ryan Lerch |
336cd6 |
{% if loop.first %}
|
|
Ryan Lerch |
336cd6 |
<optgroup label="Active"></optgroup>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if repo.milestones[stone]['active']%}
|
|
Ryan Lerch |
336cd6 |
<option %}="" %}selected="selected" endif="" if="" milestones[0]="=" stone="" value="{{ stone }}" {%="">{{stone}}</option>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if loop.last %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
{% for stone in repo.milestones %}
|
|
Ryan Lerch |
336cd6 |
{% if loop.first %}
|
|
Ryan Lerch |
336cd6 |
<optgroup label="Inactive"></optgroup>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if not repo.milestones[stone]['active']%}
|
|
Ryan Lerch |
336cd6 |
<option %}="" %}selected="selected" endif="" if="" milestones[0]="=" stone="" value="{{ stone }}" {%="">{{stone}}</option>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if loop.last %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="priority"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<select id="priority-selectize" name="priority" placeholder="Priority"></select>
|
|
Ryan Lerch |
336cd6 |
{% for p in repo.priorities | sort %}
|
|
Ryan Lerch |
336cd6 |
<option %}="" %}selected="selected" endif="" if="" int="=" p="" priority="" value="{{ p }}" {%="" |="">{{repo.priorities[p | string]}}</option>
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="assignee"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<select id="assignee-selectize" name="assignee" placeholder="Assignee"></select>
|
|
Ryan Lerch |
336cd6 |
{% if assignee %}
|
|
Ryan Lerch |
336cd6 |
<option selected="selected" value="{{assignee}}">{{assignee}}</option>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<label class="col-auto align-self-center pl-1 pr-0" for="author"></label>
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
<select id="author-selectize" name="author" placeholder="Submitted by"></select>
|
|
Ryan Lerch |
336cd6 |
{% if author %}
|
|
Ryan Lerch |
336cd6 |
<option selected="selected" value="{{author}}">{{author}}</option>
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
#}
|
|
Ryan Lerch |
336cd6 |
<input class="btn btn-block btn-primary" type="submit" value="Apply Filters">
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
Reset Filters
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if repo_list %}
|
|
Ryan Lerch |
336cd6 |
{% for r in repo_list %}
|
|
Ryan Lerch |
336cd6 |
{% set repo = r["repo"]%}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if repo.avatar_email %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% else %}
|
|
Ryan Lerch |
0c654b |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
'ui_ns.view_repo',
|
|
Ryan Lerch |
336cd6 |
repo=repo.name,
|
|
Ryan Lerch |
336cd6 |
username=repo.user.username if repo.is_fork else None,
|
|
Ryan Lerch |
336cd6 |
namespace=repo.namespace)}}">
|
|
Ryan Lerch |
336cd6 |
{{ repo.namespace + '/' if repo.namespace }}{{ repo.name }}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if repo.private %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if r['grouplist']%}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% for group in r["grouplist"]%}
|
|
Ryan Lerch |
336cd6 |
{{group["group_name"]}} ({{group["access"]}})
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% if r["access"] %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
55f221 |
{{r["access"] if r["access"] != "main admin" else "maintainer"}}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{#
|
|
Ryan Lerch |
336cd6 |
{% for fork in repo.forks %}
|
|
Ryan Lerch |
336cd6 |
{% if fork.user.user == g.fas_user.username %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
'ui_ns.view_repo',
|
|
Ryan Lerch |
336cd6 |
repo=repo.name,
|
|
Ryan Lerch |
336cd6 |
username=g.fas_user.username,
|
|
Ryan Lerch |
336cd6 |
namespace=repo.namespace) }}" class="btn btn-sm btn-outline-primary">
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
#}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if config.get('ENABLE_TICKETS', True) and repo.settings.get('issue_tracker', True) %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
href="{{ url_for('ui_ns.view_issues', repo=repo.name, namespace=repo.namespace) }}"
|
|
Ryan Lerch |
336cd6 |
title="{{ repo.open_tickets_public }} open issues against {{repo.name}}">
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{- repo.open_tickets_public }}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
href="{{ url_for('ui_ns.request_pulls',
|
|
Ryan Lerch |
336cd6 |
repo=repo.name,
|
|
Ryan Lerch |
336cd6 |
username=repo.user.username if repo.is_fork else None,
|
|
Ryan Lerch |
336cd6 |
namespace=repo.namespace) }}"
|
|
Ryan Lerch |
336cd6 |
title="{{repo.open_requests}} open pull requests in {{repo.name}}">
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{{- repo.open_requests}}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endfor %}
|
|
Ryan Lerch |
336cd6 |
{% if total_repo_page > 1 %}
|
|
Ryan Lerch |
336cd6 |
{{ pagination_link('repopage', repopage, total_repo_page, forkpage=forkpage) }}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% else %}
|
|
Ryan Lerch |
336cd6 |
{% if userdash_counts['repos_length'] == 0 %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
0c654b |
You have no {{projectstring(plural=True)}}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% if config.get('ENABLE_NEW_PROJECTS', True) and
|
|
Ryan Lerch |
336cd6 |
config.get('ENABLE_UI_NEW_PROJECTS', True) %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
title="Create New Project" aria-hidden="true">
|
|
Ryan Lerch |
336cd6 |
Create a Project
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% else %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
0c654b |
No {{projectstring(plural=True)}} match this filter
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
{% endif %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endblock %}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% block jscripts %}
|
|
Ryan Lerch |
336cd6 |
{{ super() }}
|
|
Ryan Lerch |
336cd6 |
<script></script>
|
|
Ryan Lerch |
336cd6 |
$(document).ready(function() {
|
|
Ryan Lerch |
336cd6 |
var $acls_selectize = $('#acls-selectize').selectize({
|
|
Ryan Lerch |
336cd6 |
onInitialize: function(){
|
|
Ryan Lerch |
336cd6 |
$("#acls-filter-group .selectize-control").on('click', function(event){
|
|
Ryan Lerch |
336cd6 |
event.stopPropagation();
|
|
Ryan Lerch |
336cd6 |
})
|
|
Ryan Lerch |
336cd6 |
$("#filters-dropdown").on('click', function(event){
|
|
Ryan Lerch |
336cd6 |
event.stopPropagation();
|
|
Ryan Lerch |
336cd6 |
})
|
|
Ryan Lerch |
336cd6 |
}
|
|
Ryan Lerch |
336cd6 |
});
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
var acls_selectize_control = $acls_selectize[0].selectize;
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
$("#acls-selectize-reset").on('click', function(e){
|
|
Ryan Lerch |
336cd6 |
acls_selectize_control.clear();
|
|
Ryan Lerch |
336cd6 |
});
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
$("#search_pattern-selectize-reset").on('click', function(e){
|
|
Ryan Lerch |
336cd6 |
$('input[name="search_pattern"]').val('');
|
|
Ryan Lerch |
336cd6 |
});
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
$( "#filters_form" ).submit(function( event ) {
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
if ($('select[name="acl"]').val() == ''){
|
|
Ryan Lerch |
336cd6 |
$('select[name="acl"]').prop("disabled", true);
|
|
Ryan Lerch |
336cd6 |
}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
if ($('input[name="search_pattern"]').val() == ''){
|
|
Ryan Lerch |
336cd6 |
$('input[name="search_pattern"]').prop("disabled", true);
|
|
Ryan Lerch |
336cd6 |
}
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
});
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
});
|
|
Ryan Lerch |
336cd6 |
|
|
Ryan Lerch |
336cd6 |
{% endblock %}
|