BioTorrents.de’s version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

notification-sandbox.twig 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. {% macro artistlist(list) %}
  2. {% if list is empty -%}
  3. <i>none</i>
  4. {%- else %}
  5. {%- for a in list -%}
  6. {%- if not loop.first -%}
  7. <br />
  8. {% endif -%}
  9. {{ a.name }}
  10. {%- endfor %}
  11. {% endif %}
  12. {% endmacro %}
  13. <div class="thin">
  14. <div class="header">
  15. <h2>Notifications Sandbox</h2>
  16. </div>
  17. {% if group %}
  18. <div class="box pad">
  19. <h4>Results {{ manager.artistHtml|raw }} - <a href="/torrents.php?id={{ group.ID }}">{{ group.Name|raw }}</a></h4>
  20. <table><tr>
  21. <td style="vertical-align: top"><table>
  22. <tr><td class="label" colspan="2" style="text-align: center">Release details</td></tr>
  23. <tr>
  24. <td class="label">Uploaded by</td>
  25. <td>{{ torrent.UserID|user_full }}</td>
  26. </tr>
  27. <tr>
  28. <td class="label">Category</td>
  29. <td>{{ category }}</td>
  30. </tr>
  31. <tr>
  32. <td class="label">Release Type</td>
  33. <td>{{ release }}</td>
  34. </tr>
  35. <tr>
  36. <td class="label">Media</td>
  37. <td>{{ torrent.Media }}</td>
  38. </tr>
  39. <tr>
  40. <td class="label">Format</td>
  41. <td>{{ torrent.Format }}</td>
  42. </tr>
  43. <tr>
  44. <td class="label">Encoding</td>
  45. <td>{{ torrent.Encoding }}</td>
  46. </tr>
  47. <tr>
  48. <td class="label">Year</td>
  49. <td>{{ year }}</td>
  50. </tr>
  51. <tr>
  52. <td class="label">Record Label</td>
  53. <td>{{ label }}</td>
  54. </tr>
  55. <tr>
  56. <td class="label">Tags</td>
  57. <td>{{ tags }}</td>
  58. </tr>
  59. </table></td>
  60. <td style="vertical-align: top"><table>
  61. <tr><td class="label" colspan="2" style="text-align: center">Artist details</td></tr>
  62. <tr>
  63. <td class="label">Main</td>
  64. <td>
  65. {{ _self.artistlist(manager.artistRole.main) }}
  66. </td>
  67. </tr>
  68. <tr>
  69. <td class="label">Composers</td>
  70. <td>
  71. {{ _self.artistlist(manager.artistRole.composer) }}
  72. </td>
  73. </tr>
  74. <tr>
  75. <td class="label">Conductors</td>
  76. <td>
  77. {{ _self.artistlist(manager.artistRole.conductor) }}
  78. </td>
  79. </tr>
  80. <tr>
  81. <td class="label">Remixers</td>
  82. <td>
  83. {{ _self.artistlist(manager.artistRole.dj) }}
  84. </td>
  85. </tr>
  86. <tr>
  87. <td class="label">DJs</td>
  88. <td>
  89. {{ _self.artistlist(manager.artistRole.dj) }}
  90. </td>
  91. </tr>
  92. <tr>
  93. <td class="label">Producers</td>
  94. <td>
  95. {{ _self.artistlist(manager.artistRole.producer) }}
  96. </td>
  97. </tr>
  98. <tr>
  99. <td class="label">Arrangers</td>
  100. <td>
  101. {{ _self.artistlist(manager.artistRole.arranger) }}
  102. </td>
  103. </tr>
  104. <tr>
  105. <td class="label">Guests</td>
  106. <td>
  107. {{ _self.artistlist(manager.artistRole.guest) }}
  108. </td>
  109. </tr>
  110. </table></td>
  111. </tr>
  112. {% if sql %}
  113. <tr>
  114. <td colspan="2"><code>{{ sql }}</code></td>
  115. <tr>
  116. <tr>
  117. <td colspan="2">
  118. {% for arg in args %}
  119. {{ arg }}{% if not loop.last %}<br />{% endif %}
  120. {% endfor %}
  121. </td>
  122. <tr>
  123. {% endif %}
  124. </table>
  125. </div>
  126. {% if result %}
  127. <div class="box pad">
  128. <table>
  129. <tr>
  130. <th>User ID</th>
  131. <th>Filter ID</th>
  132. <th>Name</th>
  133. <th>Artists</th>
  134. <th>Year</th>
  135. <th>Tags</th>
  136. <th>Not Tags</th>
  137. <th>Formats</th>
  138. <th>Encodings</th>
  139. <th>Media</th>
  140. <th>Users</th>
  141. <th>Exclude VA</th>
  142. <th>New groups only</th>
  143. </tr>
  144. {% for r in result %}
  145. <tr>
  146. <td class="vertical-align: top;">{{ r.user_id|user_url }}</td>
  147. <td class="vertical-align: top;">{{ r.filter_id }}</td>
  148. <td class="vertical-align: top;">{{ r.filter.info.label}}</td>
  149. <td class="vertical-align: top;">
  150. {% for artist in r.filter.info.artist|sort %}
  151. {{ artist }}{% if not loop.last %} &middot;{% endif %}
  152. {% endfor %}
  153. </td>
  154. <td class="vertical-align: top;">
  155. {% if r.filter.info.from_year or r.filter.info.to_year -%}
  156. {{ r.filter.info.from_year }}-{{ r.filter.info.to_year }}
  157. {% endif %}
  158. </td>
  159. <td class="vertical-align: top;">
  160. {% for tag in r.filter.info.tag|sort %}
  161. {{ tag }}{% if not loop.last %}<br />{% endif %}
  162. {% endfor %}
  163. </td>
  164. <td class="vertical-align: top;">
  165. {% for notTag in r.filter.info.notTag|sort %}
  166. {{ notTag }}{% if not loop.last %}<br />{% endif %}
  167. {% endfor %}
  168. </td>
  169. <td class="vertical-align: top;">
  170. {% for format in r.filter.info.format|sort %}
  171. {{ format }}{% if not loop.last %}<br />{% endif %}
  172. {% endfor %}
  173. </td>
  174. <td class="vertical-align: top;">
  175. {% for encoding in r.filter.info.encoding|sort %}
  176. <span style="white-space: nowrap">{{ encoding }}</span>{% if not loop.last %}<br />{% endif %}
  177. {% endfor %}
  178. </td>
  179. <td class="vertical-align: top;">
  180. {% for media in r.filter.info.media|sort %}
  181. {{ media }}{% if not loop.last %}<br />{% endif %}
  182. {% endfor %}
  183. </td>
  184. <td class="vertical-align: top;">
  185. {% for user in r.filter.info.user|sort %}
  186. {{ user|user_url }}{% if not loop.last %}<br />{% endif %}
  187. {% endfor %}
  188. </td>
  189. <td class="vertical-align: top;">{{ r.filter.info.exclude_va }}</td>
  190. <td class="vertical-align: top;">{{ r.filter.info.new_groups_only }}</td>
  191. </tr>
  192. {% endfor %}
  193. </table>
  194. </div>
  195. {% endif %}
  196. {% endif %}
  197. <div class="box pad">
  198. <form class="send_form" action="" method="post">
  199. <input type="hidden" name="action" value="notification_sandbox" />
  200. <table class="layout">
  201. <tbody>
  202. <tr>
  203. <td class="label">
  204. <label for="torrentid">Torrent ID</label>
  205. </td>
  206. <td>
  207. <input type="text" name="torrentid" value="{{ torrent.ID }}" /> (<b>not</b> group ID!)
  208. </td>
  209. <tr>
  210. </tr>
  211. <td class="label">
  212. <label for="torrentid">optional notified User ID</label>
  213. </td>
  214. <td>
  215. <input type="text" name="notifiedid" value="{{ notified_id }}" />&nbsp;(To limit results to one person)
  216. <br />Use <tt>@name</tt> for a username, otherwise (numeric) user ID.
  217. </td>
  218. </td>
  219. </tr>
  220. </tbody>
  221. </table>
  222. <input type="submit" value="Submit" />
  223. </form>
  224. </div>
  225. </div>