]> git.lizzy.rs Git - cheatdb.git/blob - app/templates/todo/list.html
Implement package states for easier reviews
[cheatdb.git] / app / templates / todo / list.html
1 {% extends "base.html" %}
2
3 {% block title %}
4 {{ title }}
5 {% endblock %}
6
7 {% block content %}
8         <h2 class="mb-4">Approval Queue</h2>
9
10         <div class="row">
11                 {% if canApproveNew and (packages or wip_packages) %}
12                 <div class="col-sm-6">
13                         <div class="card">
14                                 <h3 class="card-header">Packages</h3>
15                                 <div class="list-group list-group-flush">
16                                         {% for p in packages %}
17                                                 <a href="{{ p.getDetailsURL() }}" class="list-group-item list-group-item-action">
18                                                         {% if "Other" in p.license.name or "Other" in p.media_license.name %}
19                                                                 <span class="mr-2 badge badge-info">License</span>
20                                                         {% else %}
21                                                                 <span class="mr-2 badge badge-success">Ready</span>
22                                                         {% endif %}
23
24                                                         {{ p.title }} by {{ p.author.display_name }}
25                                                 </a>
26                                         {% else %}
27                                                 <li class="list-group-item"><i>No packages need reviewing.</i></li>
28                                         {% endfor %}
29                                 </div>
30                         </div>
31
32                         <div class="card mt-5">
33                                 <h3 class="card-header">WIP Packages</h3>
34                                 <div class="list-group list-group-flush">
35                                         {% for p in wip_packages %}
36                                                 <a href="{{ p.getDetailsURL() }}" class="list-group-item list-group-item-action">
37                                                         <span class="mr-2 badge badge-warning">{{ p.state.value }}</span>
38
39                                                         {{ p.title }} by {{ p.author.display_name }}
40                                                 </a>
41                                         {% else %}
42                                                 <li class="list-group-item"><i>No packages need reviewing.</i></li>
43                                         {% endfor %}
44                                 </div>
45                         </div>
46                 </div>
47                 {% endif %}
48
49                 {% if canApproveRel and releases %}
50                 <div class="col-sm-6">
51                         <div class="card">
52                                 <h3 class="card-header">Releases</h3>
53                                 <ul class="list-group list-group-flush">
54                                         {% for r in releases %}
55                                                 <li class="list-group-item">
56                                                         {% if r.task_id %}
57                                                                 <span class="mr-2 badge badge-warning">Importing</span>
58                                                         {% endif %}
59                                                         <a href="{{ r.getEditURL() }}">{{ r.title }}</a>
60                                                         on
61                                                         <a href="{{ r.package.getDetailsURL() }}">
62                                                                 {{ r.package.title }} by {{ r.package.author.display_name }}
63                                                         </a>
64                                                 </li>
65                                         {% else %}
66                                                 <li class="list-group-item"><i>No releases need reviewing.</i></li>
67                                         {% endfor %}
68                                 </ul>
69                         </div>
70                 </div>
71                 {% endif %}
72         </div>
73
74         {% if canApproveScn and screenshots %}
75                 <div class="card my-4">
76                         <h3 class="card-header">Screenshots
77                                 <form class="float-right"  method="post" action="{{ url_for('todo.view') }}">
78                                         <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
79                                         <input type="hidden" name="action" value="screenshots_approve_all" />
80                                         <input class="btn btn-sm btn-primary" type="submit" value="Approve All" />
81                                 </form>
82                         </h3>
83                         <ul class="card-body d-flex p-0 flex-row flex-wrap justify-content-start align-content-start p-4">
84                                 {% for s in screenshots %}
85                                         <li class="packagetile flex-fill"><a href="{{ s.getEditURL() }}"
86                                                 style="background-image: url({{ s.getThumbnailURL(3) or '/static/placeholder.png' }});">
87                                                 <div class="packagegridscrub"></div>
88                                                 <div class="packagegridinfo">
89                                                         <h3>
90                                                                 {{ s.title }}
91                                                                 <br />
92                                                                 <small>{{ s.package.title }} by {{ s.package.author.display_name }}</small>
93                                                         </h3>
94                                                         <p></p>
95                                                 </div>
96                                         </a></li>
97                                 {% else %}
98                                         <li><i>No screenshots need reviewing.</i></li>
99                                 {% endfor %}
100                                 {% for i in range(4) %}
101                                         <li class="packagetile flex-fill"></li>
102                                 {% endfor %}
103                         </ul>
104                 </div>
105         {% endif %}
106
107         {% if not (packages or screenshots or releases) %}
108                 <p>
109                         <i>All done!</i>
110                 </p>
111         {% endif %}
112
113
114         <h2 class="mt-5">Tag Packages</h2>
115
116         <p>
117                 {{ total_to_tag }} / {{ total_packages }} packages don't have any tags.
118         </p>
119
120         <div class="progress my-4">
121                 {% set perc = 100 * (total_packages - total_to_tag) / total_packages %}
122                 <div class="progress-bar bg-success" role="progressbar"
123                         style="width: {{ perc }}%" aria-valuenow="{{ perc }}" aria-valuemin="0" aria-valuemax="100"></div>
124         </div>
125
126         <a class="btn btn-primary" href="{{ url_for('todo.tags') }}">View Tags</a>
127
128
129         {% if unfulfilled_meta_packages %}
130                 <h2 class="mt-5">
131                         <span class="fas fa-exclamation-triangle pr-2" style="color: orange;"></span>
132                         {{ unfulfilled_meta_packages }} Unfulfilled Dependencies
133                 </h2>
134
135                 <p>
136                         Meta packages that have hard dependers, but are not fulfilled.
137                 </p>
138
139                 <a class="btn btn-primary" href="{{ url_for('todo.metapackages') }}">View</a>
140         {% endif %}
141
142
143         <h2 class="mt-5">Unadded Topic List</h2>
144
145         {% if total_topics > 0 %}
146                 <p>
147                         {{ total_topics - topics_to_add }} / {{ total_topics }} packages have been been added to cdb,
148                         based on cdb's forum parser. {{ topics_to_add }} remaining.
149                 </p>
150
151                 <div class="progress my-4">
152                         {% set perc = 100 * (total_topics - topics_to_add) / total_topics %}
153                         <div class="progress-bar bg-success" role="progressbar"
154                                 style="width: {{ perc }}%" aria-valuenow="{{ perc }}" aria-valuemin="0" aria-valuemax="100"></div>
155                 </div>
156
157                 <a class="btn btn-primary" href="{{ url_for('todo.topics') }}">View Unadded Topic List</a>
158         {% else %}
159                 <p>
160                         The forum topic crawler needs to run at least once for this section to work.
161                 </p>
162         {% endif %}
163 {% endblock %}