Add duration to audiobook model.
[audio.git] / src / archive / templates / archive / file_managed.html
1 {% extends "archive/base.html" %}
2 {% load i18n %}
3 {% load tags %}
4 {% load bootstrap4 %}
5
6
7 {% block menu-active-audiobooks %}active{% endblock %}
8
9
10 {% block content %}
11
12
13 {% for alert in alerts %}
14   <div class="mt-4 alert alert-warning">{{ alert }}</div>
15 {% endfor %}
16
17
18
19 <div class="row mt-4">
20   <div class="col-xl-7">
21     <div class="card mt-4">
22       <div class="card-header">
23         <h2>{% if audiobook.slug %}<a href="{% url 'book' audiobook.slug %}" %}">{% endif %}{{ audiobook.title }}{% if audiobook.slug %}</a>{% endif %}</h2>
24       </div>
25       <div class="card-body">
26         <form method='post' action='.'>
27           {% csrf_token %}
28           {% bootstrap_form form %}
29           <input class="btn btn-primary" type="submit" value='{% trans "Commit" %}' />
30         </form>
31
32       </div>
33     </div>
34   </div>
35
36   <div class="col-xl-5">
37     {% if audiobook.mp3_status or audiobook.ogg_status or audiobook.youtube_status %}
38       <h2>{% trans "Publishing pending" %}</h2>
39       <form method="post" action="{% url 'cancel_publishing' audiobook.id %}">
40         {% csrf_token %}
41         <input class='btn btn-danger' type="submit" value="{% trans "Cancel publishing" %}" />
42       </form>
43     {% endif %}
44
45
46     <div class="card mt-4">
47       <div class="card-header">
48         <h3>MP3, Ogg</h3>
49       </div>
50       <div class="card-body">
51         {% if audiobook.mp3_status %}
52           <hr/>
53           <h2>MP3</h2>
54
55           {% tags_table audiobook.get_mp3_tags.tags %}
56
57           <p>Status: <b>{{ audiobook.get_mp3_status_display }}</b></p>
58         {% endif %}
59
60         {% if audiobook.ogg_status %}
61           <hr/>
62           <h2>Ogg Vorbis</h2>
63
64           {% tags_table audiobook.get_ogg_tags.tags %}
65
66           <p>Status: <b>{{ audiobook.get_ogg_status_display }}</b></p>
67         {% endif %}
68
69
70         {% if audiobook.mp3_file %}
71           <p><a href="{% url 'download' audiobook.id 'mp3' %}">{% trans "Download MP3 file." %}</a></p>
72           {% if audiobook.mp3_published %}
73             <p>{% trans "Published:" %} {{ audiobook.mp3_published }}</a></p>
74             {% if audiobook.get_mp3_published_tags.tags %}
75               {% tags_table audiobook.get_mp3_published_tags.tags %}
76             {% endif %}
77           {% else %}
78             <p>{% trans "Not published yet." %}</p>
79           {% endif %}
80         {% else %}
81           <p>{% trans "MP3 file hasn't been generated yet." %}</p>
82         {% endif %}
83
84         {% if audiobook.ogg_file %}
85           <p><a href="{% url 'download' audiobook.id 'ogg' %}">{% trans "Download Ogg Vorbis file." %}</a></p>
86           {% if audiobook.ogg_published %}
87             <p>{% trans "Published:" %} {{ audiobook.ogg_published }}</a></p>
88             {% if audiobook.get_ogg_published_tags.tags %}
89               {% tags_table audiobook.get_ogg_published_tags.tags %}
90             {% endif %}
91           {% else %}
92             <p>{% trans "Not published yet." %}</p>
93           {% endif %}
94         {% else %}
95           <p>{% trans "Ogg Vorbis file hasn't been generated yet." %}</p>
96         {% endif %}
97
98         {% if user_can_publish %}
99           <form method="post" action="{% url 'publish' audiobook.id %}">
100             {% csrf_token %}
101             <input class="btn btn-primary" type="submit" value="{% trans "Publish" %}" />
102           </form>
103         {% else %}
104           <a class="btn btn-primary" href="{% url 'apiclient_oauth' %}">Podłącz się</a>
105         {% endif %}
106
107         {% if not audiobook.mp3_published or not audiobook.ogg_published %}
108           <form class="mt-3" method="post" action="{% url 'convert' audiobook.id %}">
109             {% csrf_token %}
110             <input class="btn btn-secondary" type="submit" value="{% trans "Convert without publishing" %}" />
111           </form>
112         {% endif %}
113
114
115       </div>
116     </div>
117
118     <div class="card mt-4">
119       <div class="card-header">
120         <h3>YouTube</h3>
121       </div>
122       <div class="card-body">
123         {% if audiobook.youtube_status %}
124           <hr/>
125           <h2>YouTube</h2>
126
127           <p>Status: <b>{{ audiobook.get_youtube_status_display }}</b></p>
128         {% endif %}
129
130         {% if audiobook.youtube_id %}
131           {% if audiobook.youtube_id %}
132             <p>
133               <a href="https://youtu.be/{{ audiobook.youtube_id }}" target="_blank" title="{% trans "See on YouTube" %}">
134                 <img src="https://i.ytimg.com/vi/{{ audiobook.youtube_id }}/hq720.jpg" style="width: 100%">
135
136               </a>
137             </p>
138           {% endif %}
139           {% if audiobook.youtube_published %}
140             <p>{% trans "Published:" %} {{ audiobook.youtube_published }}</a></p>
141             {% if audiobook.get_youtube_published_tags.tags %}
142               {% tags_table audiobook.get_youtube_published_tags.tags %}
143             {% endif %}
144           {% else %}
145             <p>{% trans "Not published yet." %}</p>
146           {% endif %}
147         {% else %}
148           <p>{% trans "YouTube file hasn't been generated yet." %}</p>
149         {% endif %}
150
151         {% if audiobook.youtube_id %}
152           <form method="post" action="{% url 'youtube_update_thumbnail' audiobook.id %}">
153             {% csrf_token %}
154             <input class="btn btn-secondary" type="submit" value="{% trans "Update YouTube thumbnail" %}">
155           </form>
156           <br>
157
158           <form method="post" action="{% url 'youtube_update' audiobook.id %}">
159             {% csrf_token %}
160             <input class="btn btn-secondary" type="submit" value="{% trans "Update YouTube metadata" %}">
161           </form>
162         {% endif %}
163
164         {% if audiobook.is_youtube_publishable %}
165           <br>
166           <p>
167             <a href="{% url 'youtube_preview' audiobook.id %}">
168               {% trans "Preview YouTube metadata" %}
169             </a>
170           </p>
171           <form method="post" action="{% url 'youtube_publish' audiobook.id %}">
172             {% csrf_token %}
173             <input class="btn btn-primary" type="submit" value="{% trans "Publish on YouTube" %}" />
174           </form>
175         {% endif %}
176
177       </div>
178     </div>
179   </div>
180
181 </div>
182
183
184
185 <div class="row">
186   <div class="col-xl-6">
187
188     <div class="card mt-4">
189       <div class="card-header">
190         <h3>Metadane dla MP3, Ogg</h3>
191       </div>
192       <div class="card-body">
193         <table class='table'>
194           {% tags_table audiobook.new_publish_tags 0 %}
195         </table>
196       </div>
197     </div>
198
199   </div>
200   <div class="col-xl-6">
201     <div class="card mt-4">
202       <div class="card-header">
203         <h3>Metadane dla YouTube</h3>
204       </div>
205       <div class="card-body">
206         <img src="{% url 'youtube_thumbnail' audiobook.id %}" style="width:100%">
207         <strong>{{ youtube_title }}</strong><br><br>
208         {{ youtube_description|linebreaksbr }}
209       </div>
210     </div>
211   </div>
212
213 </div>
214
215
216 <div class="card mt-4 mb-4">
217   <div class="card-header">
218     <h2>Plik źródłowy</h2>
219   </div>
220   <div class="card-body">
221     <p>Last modified: {{ audiobook.modified }}</p>
222     <p>Plik źródłowy: <a href='{{ audiobook.source_file.url }}'>{{ path }}</a>
223       (sha1: <tt>{{ audiobook.source_sha1 }}</tt>).
224     </p>
225     {% multiple_tags_table tags %}
226
227     <form method="post" action="{% url 'remove_to_archive' audiobook.id %}"
228           onsubmit='return confirm("{% trans "Are you sure you want to move this audiobook to archive?" %}")'>
229       {% csrf_token %}
230       <input class="btn btn-danger" type="submit" value="{% trans "Remove to archive" %}" />
231     </form>
232
233   </div>
234 </div>
235
236 {% endblock %}