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.

314 lines
14KB

  1. {% extends 'base.html' %}
  2. {% block content %}
  3. <div class="input-form">
  4. <h1>{% block title %} Edit "{{ resource['name'] }}" {% endblock %}</h1>
  5. <form method="post">
  6. <div class="mb-3 mt-3">
  7. <label for="name">Name</label>
  8. <input type="text" name="name" placeholder="Name"
  9. class="form-control"
  10. value="{{ request.form['name'] or resource['name'] }}">
  11. </input>
  12. </div>
  13. {% if resource['type'] == 'tool' %}
  14. <div class="mb-3 mt-3">
  15. <label for="description">Description</label>
  16. <textarea name="description" placeholder="Description"
  17. class="form-control">{{ request.form['description'] or resource['description'] }}</textarea>
  18. </div>
  19. <div class="mb-3 mt-3">
  20. <label for="developer">Developer</label>
  21. <input type="text" name="developer" placeholder="Developer"
  22. class="form-control"
  23. value="{{ request.form['developer'] or resource['developer'] }}">
  24. </input>
  25. </div>
  26. <div class="mb-3 mt-3">
  27. <label for="developerUrl">Developer URL</label>
  28. <input type="text" name="developerUrl" placeholder="Developer URL"
  29. class="form-control"
  30. value="{{ request.form['developerUrl'] or resource['developerUrl'] }}">
  31. </input>
  32. </div>
  33. <div class="mb-3 mt-3">
  34. <label for="projectUrl">Project URL</label>
  35. <input type="text" name="projectUrl" placeholder="Project URL"
  36. class="form-control"
  37. value="{{ request.form['projectUrl'] or resource['projectUrl'] }}">
  38. </input>
  39. </div>
  40. <div class="mb-3 mt-3">
  41. <label for="repositoryUrl">Repository URL</label>
  42. <input type="text" name="repositoryUrl" placeholder="Repository URL"
  43. class="form-control"
  44. value="{{ request.form['repositoryUrl'] or resource['repositoryUrl'] }}">
  45. </input>
  46. </div>
  47. <div class="mb-3 mt-3">
  48. <label for="license">Software license</label>
  49. <input type="text" name="license" placeholder="Software license"
  50. class="form-control"
  51. value="{{ request.form['license'] or resource['license'] }}">
  52. </input>
  53. </div>
  54. <div class="mb-3 mt-3">
  55. <label for="scriptingLanguage">Software language(s)</label>
  56. <input type="text" name="scriptingLanguage" placeholder="Software language(s)"
  57. class="form-control"
  58. value="{{ request.form['scriptingLanguage'] or resource['scriptingLanguage'] }}">
  59. </input>
  60. </div>
  61. <div class="mb-3 mt-3">
  62. <label for="expertiseToUse">Expertise required to use</label>
  63. <input type="text" name="expertiseToUse" placeholder="Expertise required to use"
  64. class="form-control"
  65. value="{{ request.form['expertiseToUse'] or resource['expertiseToUse'] }}">
  66. </input>
  67. </div>
  68. <div class="mb-3 mt-3">
  69. <label for="expertiseToHost">Expertise required to host</label>
  70. <input type="text" name="expertiseToHost" placeholder="Expertise required to host"
  71. class="form-control"
  72. value="{{ request.form['expertiseToHost'] or resource['expertiseToHost'] }}">
  73. </input>
  74. </div>
  75. <div class="mb-3 mt-3">
  76. <label for="dependencies">Technical dependencies</label>
  77. <input type="text" name="dependencies" placeholder="Technical dependencies"
  78. class="form-control"
  79. value="{{ request.form['dependencies'] or resource['dependencies'] }}">
  80. </input>
  81. </div>
  82. <div class="mb-3 mt-3">
  83. <label for="ingestFormats">Import / ingest formats</label>
  84. <input type="text" name="ingestFormats" placeholder="Import / ingest formats"
  85. class="form-control"
  86. value="{{ request.form['ingestFormats'] or resource['ingestFormats'] }}">
  87. </input>
  88. </div>
  89. <div class="mb-3 mt-3">
  90. <label for="outputFormats">Output formats</label>
  91. <input type="text" name="outputFormats" placeholder="Output formats"
  92. class="form-control"
  93. value="{{ request.form['outputFormats'] or resource['outputFormats'] }}">
  94. </input>
  95. </div>
  96. <div class="mb-3 mt-3">
  97. <label for="videoUrl">Accompanying video</label>
  98. <input type="text" name="videoUrl" placeholder="URL for accompanying video"
  99. class="form-control"
  100. value="{{ request.form['videoUrl'] or resource['videoUrl'] }}">
  101. </input>
  102. </div>
  103. <div class="mb-3 mt-3">
  104. <label for="status">Platform status</label>
  105. <input type="text" name="status" placeholder="Platform status"
  106. class="form-control"
  107. value="{{ request.form['status'] or resource['status'] }}">
  108. </input>
  109. </div>
  110. <div class="mb-3 mt-3">
  111. <label for="linked_practices">Add practices relationship(s) (hold Ctrl to select multiple options)</label>
  112. </div>
  113. <div class="mb-3 mt-3">
  114. <select name="linked_practices" id="linked_practices" aria-label="Add practices relationships" class="selectpicker" data-live-search="true" multiple>
  115. {% for resource_dropdown in resource_dropdown %}
  116. {% if resource_dropdown['type'] == 'practice' %}
  117. {% if relationships and resource_dropdown in relationships %}
  118. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  119. {% else %}
  120. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  121. {% endif %}
  122. {% endif %}
  123. {% endfor %}
  124. </select>
  125. </div>
  126. <div class="mb-3 mt-3">
  127. <label for="linked_books">Add books relationship(s) (hold Ctrl to select multiple options)</label>
  128. </div>
  129. <div class="mb-3 mt-3">
  130. <select name="linked_books" id="linked_books" aria-label="Add books relationships" class="selectpicker" data-live-search="true" multiple>
  131. {% for resource_dropdown in resource_dropdown %}
  132. {% if resource_dropdown['type'] == 'book' %}
  133. {% if relationships and resource_dropdown in relationships %}
  134. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  135. {% else %}
  136. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  137. {% endif %}
  138. {% endif %}
  139. {% endfor %}
  140. </select>
  141. </div>
  142. {% elif resource['type'] == 'practice' %}
  143. <div class="mb-3 mt-3">
  144. <label for="practice_markdown">Markdown text</label>
  145. <textarea name="practice_markdown" placeholder="Markdown text"
  146. class="form-control">{{ request.form['practice_markdown'] or practice_markdown }}</textarea>
  147. </div>
  148. <div class="mb-3 mt-3">
  149. <label for="linked_tools">Add tools relationship(s) (hold Ctrl to select multiple options)</label>
  150. </div>
  151. <div class="mb-3 mt-3">
  152. <select name="linked_tools" id="linked_tools" aria-label="Add tools relationships" class="selectpicker" data-live-search="true" multiple>
  153. {% for resource_dropdown in resource_dropdown %}
  154. {% if resource_dropdown['type'] == 'tool' %}
  155. {% if relationships and resource_dropdown in relationships %}
  156. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  157. {% else %}
  158. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  159. {% endif %}
  160. {% endif %}
  161. {% endfor %}
  162. </select>
  163. </div>
  164. <div class="mb-3 mt-3">
  165. <label for="linked_books">Add books relationship(s) (hold Ctrl to select multiple options)</label>
  166. </div>
  167. <div class="mb-3 mt-3">
  168. <select name="linked_books" id="linked_books" aria-label="Add books relationships" class="selectpicker" data-live-search="true" multiple>
  169. {% for resource_dropdown in resource_dropdown %}
  170. {% if resource_dropdown['type'] == 'book' %}
  171. {% if relationships and resource_dropdown in relationships %}
  172. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  173. {% else %}
  174. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  175. {% endif %}
  176. {% endif %}
  177. {% endfor %}
  178. </select>
  179. </div>
  180. {% elif resource['type'] == 'book' %}
  181. <div class="mb-3 mt-3">
  182. <label for="description">Description</label>
  183. <textarea name="description" placeholder="Description"
  184. class="form-control">{{ request.form['description'] or resource['description'] }}</textarea>
  185. </div>
  186. <div class="mb-3 mt-3">
  187. <label for="author">Author</label>
  188. <input type="text" name="author" placeholder="Author"
  189. class="form-control"
  190. value="{{ request.form['author'] or resource['author'] }}">
  191. </input>
  192. </div>
  193. <div class="mb-3 mt-3">
  194. <label for="year">Publication year</label>
  195. <input type="text" name="year" placeholder="Publication year"
  196. class="form-control"
  197. value="{{ request.form['year'] or resource['year'] }}">
  198. </input>
  199. </div>
  200. <div class="mb-3 mt-3">
  201. <label for="typology">Typology category</label>
  202. <input type="text" name="typology" placeholder="Typology category"
  203. class="form-control"
  204. value="{{ request.form['typology'] or resource['typology'] }}">
  205. </input>
  206. </div>
  207. <div class="mb-3 mt-3">
  208. <label for="bookUrl">URL</label>
  209. <input type="text" name="bookUrl" placeholder="URL"
  210. class="form-control"
  211. value="{{ request.form['bookUrl'] or resource['bookUrl'] }}">
  212. </input>
  213. </div>
  214. <div class="mb-3 mt-3">
  215. <label for="isbn">ISBN</label>
  216. <input type="text" name="isbn" placeholder="ISBN"
  217. class="form-control"
  218. value="{{ request.form['isbn'] or resource['isbn'] }}">
  219. </input>
  220. </div>
  221. <div class="mb-3 mt-3">
  222. <label for="videoUrl">Accompanying video</label>
  223. <input type="text" name="videoUrl" placeholder="URL for accompanying video"
  224. class="form-control"
  225. value="{{ request.form['videoUrl'] or resource['videoUrl'] }}">
  226. </input>
  227. </div>
  228. <div class="mb-3 mt-3">
  229. <label for="linked_tools">Add tools relationship(s) (hold Ctrl to select multiple options)</label>
  230. </div>
  231. <div class="mb-3 mt-3">
  232. <select name="linked_tools" id="linked_tools" aria-label="Add tools relationships" class="selectpicker" data-live-search="true" multiple>
  233. {% for resource_dropdown in resource_dropdown %}
  234. {% if resource_dropdown['type'] == 'tool' %}
  235. {% if relationships and resource_dropdown in relationships %}
  236. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  237. {% else %}
  238. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  239. {% endif %}
  240. {% endif %}
  241. {% endfor %}
  242. </select>
  243. </div>
  244. <div class="mb-3 mt-3">
  245. <label for="linked_practices">Add practices relationship(s) (hold Ctrl to select multiple options)</label>
  246. </div>
  247. <div class="mb-3 mt-3">
  248. <select name="linked_practices" id="linked_practices" aria-label="Add practices relationships" class="selectpicker" data-live-search="true" multiple>
  249. {% for resource_dropdown in resource_dropdown %}
  250. {% if resource_dropdown['type'] == 'practice' %}
  251. {% if relationships and resource_dropdown in relationships %}
  252. <option value="{{ resource_dropdown['id'] }}" selected>{{ resource_dropdown['name'] }}</option>
  253. {% else %}
  254. <option value="{{ resource_dropdown['id'] }}">{{ resource_dropdown['name'] }}</option>
  255. {% endif %}
  256. {% endif %}
  257. {% endfor %}
  258. </select>
  259. </div>
  260. {% endif %}
  261. {% if relationships %}
  262. <div class="mb-3 mt-3">
  263. <label for="linked_practice_id">Remove relationship(s)</label>
  264. </div>
  265. <div class="mb-3 mt-3">
  266. <select name="remove_linked_resources" id="remove_linked_resources" aria-label="Remove link" class="selectpicker" data-live-search="true" multiple>
  267. {% for relationship in relationships %}
  268. <option value="{{ relationship['id'] }}">{{ relationship['name'] }}</option>
  269. {% endfor %}
  270. </select>
  271. </div>
  272. {% endif %}
  273. <div class="mb-3 mt-3">
  274. <button type="submit" class="btn btn-default">Submit</button>
  275. </div>
  276. </form>
  277. {% if resource['type'] == 'tool' %}
  278. <form action="{{ url_for('tool.delete_tool', tool_id=resource['id']) }}" method="POST">
  279. <input type="submit" value="Delete"
  280. class="btn btn-danger btn-sm"
  281. onclick="return confirm('Are you sure you want to delete this tool?')">
  282. </form>
  283. {% endif %}
  284. {% if resource['type'] == 'practice' %}
  285. <form action="{{ url_for('practice.delete_practice', practice_id=resource['id']) }}" method="POST">
  286. <input type="submit" value="Delete"
  287. class="btn btn-danger btn-sm"
  288. onclick="return confirm('Are you sure you want to delete this practice?')">
  289. </form>
  290. {% endif %}
  291. {% if resource['type'] == 'book' %}
  292. <form action="{{ url_for('book.delete_book', book_id=resource['id']) }}" method="POST">
  293. <input type="submit" value="Delete"
  294. class="btn btn-danger btn-sm"
  295. onclick="return confirm('Are you sure you want to delete this book?')">
  296. </form>
  297. {% endif %}
  298. </div>
  299. {% endblock %}