codex 1.7.11a0__py3-none-any.whl → 1.7.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (652) hide show
  1. codex/choices/choices_to_json.py +1 -1
  2. codex/choices/reader.py +1 -0
  3. codex/librarian/bookmark/bookmarkd.py +46 -14
  4. codex/librarian/bookmark/tasks.py +7 -0
  5. codex/librarian/bookmark/update.py +1 -22
  6. codex/librarian/bookmark/user_active.py +37 -0
  7. codex/migrations/0013_int_issue_count_longer_charfields.py +1 -1
  8. codex/run.py +1 -1
  9. codex/serializers/reader.py +1 -0
  10. codex/serializers/route.py +3 -1
  11. codex/settings/settings.py +15 -14
  12. codex/startup.py +1 -2
  13. codex/static_root/assets/VCheckbox-CmDJN2RH.c0c8660af177.js +1 -0
  14. codex/static_root/assets/VCheckbox-CmDJN2RH.c0c8660af177.js.br +0 -0
  15. codex/static_root/assets/VCheckbox-CmDJN2RH.c0c8660af177.js.gz +0 -0
  16. codex/static_root/assets/VCheckbox-CmDJN2RH.js +1 -0
  17. codex/static_root/assets/VCheckbox-CmDJN2RH.js.br +0 -0
  18. codex/static_root/assets/VCheckbox-CmDJN2RH.js.gz +0 -0
  19. codex/static_root/assets/VCheckboxBtn-07Vspsxn.377350162ca6.js +1 -0
  20. codex/static_root/assets/VCheckboxBtn-07Vspsxn.377350162ca6.js.br +0 -0
  21. codex/static_root/assets/VCheckboxBtn-07Vspsxn.377350162ca6.js.gz +0 -0
  22. codex/static_root/assets/VCheckboxBtn-07Vspsxn.js +1 -0
  23. codex/static_root/assets/VCheckboxBtn-07Vspsxn.js.br +0 -0
  24. codex/static_root/assets/VCheckboxBtn-07Vspsxn.js.gz +0 -0
  25. codex/static_root/assets/VCombobox-CuTDA3lY.b53f8e0b7d58.js +1 -0
  26. codex/static_root/assets/VCombobox-CuTDA3lY.b53f8e0b7d58.js.br +0 -0
  27. codex/static_root/assets/VCombobox-CuTDA3lY.b53f8e0b7d58.js.gz +0 -0
  28. codex/static_root/assets/VCombobox-CuTDA3lY.js +1 -0
  29. codex/static_root/assets/VCombobox-CuTDA3lY.js.br +0 -0
  30. codex/static_root/assets/VCombobox-CuTDA3lY.js.gz +0 -0
  31. codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css +1 -0
  32. codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.br +0 -0
  33. codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.gz +0 -0
  34. codex/static_root/assets/VCombobox-DHFthaP6.css +1 -0
  35. codex/static_root/assets/VCombobox-DHFthaP6.css.br +0 -0
  36. codex/static_root/assets/VCombobox-DHFthaP6.css.gz +0 -0
  37. codex/static_root/assets/VDialog-DRj4eBrO.e2ce5d20029b.js +1 -0
  38. codex/static_root/assets/VDialog-DRj4eBrO.e2ce5d20029b.js.br +0 -0
  39. codex/static_root/assets/VDialog-DRj4eBrO.e2ce5d20029b.js.gz +0 -0
  40. codex/static_root/assets/VDialog-DRj4eBrO.js +1 -0
  41. codex/static_root/assets/VDialog-DRj4eBrO.js.br +0 -0
  42. codex/static_root/assets/VDialog-DRj4eBrO.js.gz +0 -0
  43. codex/static_root/assets/VDivider-D1t2hkjV.a9cd2d5b286a.js +1 -0
  44. codex/static_root/assets/VDivider-D1t2hkjV.a9cd2d5b286a.js.br +0 -0
  45. codex/static_root/assets/VDivider-D1t2hkjV.a9cd2d5b286a.js.gz +0 -0
  46. codex/static_root/assets/VDivider-D1t2hkjV.js +1 -0
  47. codex/static_root/assets/VDivider-D1t2hkjV.js.br +0 -0
  48. codex/static_root/assets/VDivider-D1t2hkjV.js.gz +0 -0
  49. codex/static_root/assets/VExpansionPanels-B-5dXRRB.b71e928c960a.js +1 -0
  50. codex/static_root/assets/VExpansionPanels-B-5dXRRB.b71e928c960a.js.br +0 -0
  51. codex/static_root/assets/VExpansionPanels-B-5dXRRB.b71e928c960a.js.gz +0 -0
  52. codex/static_root/assets/VExpansionPanels-B-5dXRRB.js +1 -0
  53. codex/static_root/assets/VExpansionPanels-B-5dXRRB.js.br +0 -0
  54. codex/static_root/assets/VExpansionPanels-B-5dXRRB.js.gz +0 -0
  55. codex/static_root/assets/VForm-Be9DdO0x.0b54c0d9e7ff.js +1 -0
  56. codex/static_root/assets/VForm-Be9DdO0x.0b54c0d9e7ff.js.br +0 -0
  57. codex/static_root/assets/VForm-Be9DdO0x.0b54c0d9e7ff.js.gz +0 -0
  58. codex/static_root/assets/VForm-Be9DdO0x.js +1 -0
  59. codex/static_root/assets/VForm-Be9DdO0x.js.br +0 -0
  60. codex/static_root/assets/VForm-Be9DdO0x.js.gz +0 -0
  61. codex/static_root/assets/VRadioGroup-_mPqHM3O.41b7c1801cfc.js +1 -0
  62. codex/static_root/assets/VRadioGroup-_mPqHM3O.41b7c1801cfc.js.br +0 -0
  63. codex/static_root/assets/VRadioGroup-_mPqHM3O.41b7c1801cfc.js.gz +0 -0
  64. codex/static_root/assets/VRadioGroup-_mPqHM3O.js +1 -0
  65. codex/static_root/assets/VRadioGroup-_mPqHM3O.js.br +0 -0
  66. codex/static_root/assets/VRadioGroup-_mPqHM3O.js.gz +0 -0
  67. codex/static_root/assets/VSelect-BbT1aJkP.ab9bbb187356.js +1 -0
  68. codex/static_root/assets/VSelect-BbT1aJkP.ab9bbb187356.js.br +0 -0
  69. codex/static_root/assets/VSelect-BbT1aJkP.ab9bbb187356.js.gz +0 -0
  70. codex/static_root/assets/VSelect-BbT1aJkP.js +1 -0
  71. codex/static_root/assets/VSelect-BbT1aJkP.js.br +0 -0
  72. codex/static_root/assets/VSelect-BbT1aJkP.js.gz +0 -0
  73. codex/static_root/assets/{VSelect-CP_CVb8s.6309f7bf17bb.css → VSelect-CKXqRkBF.a8be1e193eba.css} +1 -1
  74. codex/static_root/assets/VSelect-CKXqRkBF.a8be1e193eba.css.br +0 -0
  75. codex/static_root/assets/VSelect-CKXqRkBF.a8be1e193eba.css.gz +0 -0
  76. codex/static_root/assets/{VSelect-CP_CVb8s.css → VSelect-CKXqRkBF.css} +1 -1
  77. codex/static_root/assets/VSelect-CKXqRkBF.css.br +0 -0
  78. codex/static_root/assets/VSelect-CKXqRkBF.css.gz +0 -0
  79. codex/static_root/assets/VSelectionControl-DbdMme4i.c547026ebdce.js +1 -0
  80. codex/static_root/assets/VSelectionControl-DbdMme4i.c547026ebdce.js.br +0 -0
  81. codex/static_root/assets/VSelectionControl-DbdMme4i.c547026ebdce.js.gz +0 -0
  82. codex/static_root/assets/VSelectionControl-DbdMme4i.js +1 -0
  83. codex/static_root/assets/VSelectionControl-DbdMme4i.js.br +0 -0
  84. codex/static_root/assets/VSelectionControl-DbdMme4i.js.gz +0 -0
  85. codex/static_root/assets/VSelectionControl-RqBzwjYi.css +1 -0
  86. codex/static_root/assets/VSelectionControl-RqBzwjYi.css.br +0 -0
  87. codex/static_root/assets/VSelectionControl-RqBzwjYi.css.gz +0 -0
  88. codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css +1 -0
  89. codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.br +0 -0
  90. codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.gz +0 -0
  91. codex/static_root/assets/VTable-C7Pj2AU0.9358b74f1ec2.js +1 -0
  92. codex/static_root/assets/VTable-C7Pj2AU0.9358b74f1ec2.js.br +0 -0
  93. codex/static_root/assets/VTable-C7Pj2AU0.9358b74f1ec2.js.gz +0 -0
  94. codex/static_root/assets/VTable-C7Pj2AU0.js +1 -0
  95. codex/static_root/assets/VTable-C7Pj2AU0.js.br +0 -0
  96. codex/static_root/assets/VTable-C7Pj2AU0.js.gz +0 -0
  97. codex/static_root/assets/{VTable-BnxSZ_W5.c36f0a6a30cf.css → VTable-CHRVGI94.0a75643f6486.css} +1 -1
  98. codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.br +0 -0
  99. codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.gz +0 -0
  100. codex/static_root/assets/{VTable-BnxSZ_W5.css → VTable-CHRVGI94.css} +1 -1
  101. codex/static_root/assets/VTable-CHRVGI94.css.br +0 -0
  102. codex/static_root/assets/VTable-CHRVGI94.css.gz +0 -0
  103. codex/static_root/assets/VWindowItem-B9xi23cd.ee96259ae03d.js +1 -0
  104. codex/static_root/assets/VWindowItem-B9xi23cd.ee96259ae03d.js.br +0 -0
  105. codex/static_root/assets/VWindowItem-B9xi23cd.ee96259ae03d.js.gz +0 -0
  106. codex/static_root/assets/VWindowItem-B9xi23cd.js +1 -0
  107. codex/static_root/assets/VWindowItem-B9xi23cd.js.br +0 -0
  108. codex/static_root/assets/VWindowItem-B9xi23cd.js.gz +0 -0
  109. codex/static_root/assets/{admin-Bxwc8451.b2a8c85c5c82.js → admin-C78J3iIT.e0499821711c.js} +1 -1
  110. codex/static_root/assets/admin-C78J3iIT.e0499821711c.js.br +0 -0
  111. codex/static_root/assets/admin-C78J3iIT.e0499821711c.js.gz +0 -0
  112. codex/static_root/assets/{admin-Bxwc8451.js → admin-C78J3iIT.js} +1 -1
  113. codex/static_root/assets/admin-C78J3iIT.js.br +0 -0
  114. codex/static_root/assets/admin-C78J3iIT.js.gz +0 -0
  115. codex/static_root/assets/admin-DycvhYet.33740bd797c9.js +1 -0
  116. codex/static_root/assets/admin-DycvhYet.33740bd797c9.js.br +0 -0
  117. codex/static_root/assets/admin-DycvhYet.33740bd797c9.js.gz +0 -0
  118. codex/static_root/assets/admin-DycvhYet.js +1 -0
  119. codex/static_root/assets/admin-DycvhYet.js.br +0 -0
  120. codex/static_root/assets/admin-DycvhYet.js.gz +0 -0
  121. codex/static_root/assets/{admin-C3iCIUnm.06cb213f624d.css → admin-klMr_GZK.3784e4f1d624.css} +1 -1
  122. codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.br +0 -0
  123. codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.gz +0 -0
  124. codex/static_root/assets/{admin-C3iCIUnm.css → admin-klMr_GZK.css} +1 -1
  125. codex/static_root/assets/admin-klMr_GZK.css.br +0 -0
  126. codex/static_root/assets/admin-klMr_GZK.css.gz +0 -0
  127. codex/static_root/assets/admin-menu-g8qk-zrV.945e67b971e8.js +1 -0
  128. codex/static_root/assets/admin-menu-g8qk-zrV.945e67b971e8.js.br +0 -0
  129. codex/static_root/assets/admin-menu-g8qk-zrV.945e67b971e8.js.gz +0 -0
  130. codex/static_root/assets/admin-menu-g8qk-zrV.js +1 -0
  131. codex/static_root/assets/admin-menu-g8qk-zrV.js.br +0 -0
  132. codex/static_root/assets/admin-menu-g8qk-zrV.js.gz +0 -0
  133. codex/static_root/assets/{admin-settings-button-progress-CLrIYn4d.cec2cfd322a1.js → admin-settings-button-progress-CPzM-FJJ.1d6d002ada95.js} +1 -1
  134. codex/static_root/assets/admin-settings-button-progress-CPzM-FJJ.1d6d002ada95.js.br +0 -0
  135. codex/static_root/assets/admin-settings-button-progress-CPzM-FJJ.1d6d002ada95.js.gz +0 -0
  136. codex/static_root/assets/{admin-settings-button-progress-CLrIYn4d.js → admin-settings-button-progress-CPzM-FJJ.js} +1 -1
  137. codex/static_root/assets/admin-settings-button-progress-CPzM-FJJ.js.br +0 -0
  138. codex/static_root/assets/admin-settings-button-progress-CPzM-FJJ.js.gz +0 -0
  139. codex/static_root/assets/browser-DJgssiJu.018d043b36a0.js +1 -0
  140. codex/static_root/assets/browser-DJgssiJu.018d043b36a0.js.br +0 -0
  141. codex/static_root/assets/browser-DJgssiJu.018d043b36a0.js.gz +0 -0
  142. codex/static_root/assets/browser-DJgssiJu.js +1 -0
  143. codex/static_root/assets/browser-DJgssiJu.js.br +0 -0
  144. codex/static_root/assets/browser-DJgssiJu.js.gz +0 -0
  145. codex/static_root/assets/{browser-Bf8JG2CE.3af978c1f766.css → browser-sNm790x9.305a6a4f38fd.css} +1 -1
  146. codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.br +0 -0
  147. codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.gz +0 -0
  148. codex/static_root/assets/{browser-Bf8JG2CE.css → browser-sNm790x9.css} +1 -1
  149. codex/static_root/assets/browser-sNm790x9.css.br +0 -0
  150. codex/static_root/assets/browser-sNm790x9.css.gz +0 -0
  151. codex/static_root/assets/{change-password-dialog-Bw5_buVm.d199b40591de.js → change-password-dialog-CNWUpsff.2a6249951bb6.js} +1 -1
  152. codex/static_root/assets/change-password-dialog-CNWUpsff.2a6249951bb6.js.br +0 -0
  153. codex/static_root/assets/change-password-dialog-CNWUpsff.2a6249951bb6.js.gz +0 -0
  154. codex/static_root/assets/{change-password-dialog-Bw5_buVm.js → change-password-dialog-CNWUpsff.js} +1 -1
  155. codex/static_root/assets/change-password-dialog-CNWUpsff.js.br +0 -0
  156. codex/static_root/assets/change-password-dialog-CNWUpsff.js.gz +0 -0
  157. codex/static_root/assets/confirm-dialog-B4fmqtXn.d78277f0b265.js +1 -0
  158. codex/static_root/assets/confirm-dialog-B4fmqtXn.d78277f0b265.js.br +0 -0
  159. codex/static_root/assets/confirm-dialog-B4fmqtXn.d78277f0b265.js.gz +0 -0
  160. codex/static_root/assets/confirm-dialog-B4fmqtXn.js +1 -0
  161. codex/static_root/assets/confirm-dialog-B4fmqtXn.js.br +0 -0
  162. codex/static_root/assets/confirm-dialog-B4fmqtXn.js.gz +0 -0
  163. codex/static_root/assets/datetime-column-BC6Dncpu.cdbf0b2cdc9a.js +1 -0
  164. codex/static_root/assets/datetime-column-BC6Dncpu.cdbf0b2cdc9a.js.br +0 -0
  165. codex/static_root/assets/datetime-column-BC6Dncpu.cdbf0b2cdc9a.js.gz +0 -0
  166. codex/static_root/assets/datetime-column-BC6Dncpu.js +1 -0
  167. codex/static_root/assets/datetime-column-BC6Dncpu.js.br +0 -0
  168. codex/static_root/assets/datetime-column-BC6Dncpu.js.gz +0 -0
  169. codex/static_root/assets/filter-wbh_0cB-.a2b2422906d8.js +1 -0
  170. codex/static_root/assets/filter-wbh_0cB-.a2b2422906d8.js.br +0 -0
  171. codex/static_root/assets/filter-wbh_0cB-.a2b2422906d8.js.gz +0 -0
  172. codex/static_root/assets/filter-wbh_0cB-.js +1 -0
  173. codex/static_root/assets/filter-wbh_0cB-.js.br +0 -0
  174. codex/static_root/assets/filter-wbh_0cB-.js.gz +0 -0
  175. codex/static_root/assets/{flag-tab-Bfd3wqbW.eb77780e8a45.js → flag-tab-BhehN8hQ.584e909ecdd6.js} +1 -1
  176. codex/static_root/assets/flag-tab-BhehN8hQ.584e909ecdd6.js.br +0 -0
  177. codex/static_root/assets/flag-tab-BhehN8hQ.584e909ecdd6.js.gz +0 -0
  178. codex/static_root/assets/{flag-tab-Bfd3wqbW.js → flag-tab-BhehN8hQ.js} +1 -1
  179. codex/static_root/assets/flag-tab-BhehN8hQ.js.br +0 -0
  180. codex/static_root/assets/flag-tab-BhehN8hQ.js.gz +0 -0
  181. codex/static_root/assets/forwardRefs-CXZy2GSt.0ea45a864dd0.css +1 -0
  182. codex/static_root/assets/forwardRefs-CXZy2GSt.0ea45a864dd0.css.br +0 -0
  183. codex/static_root/assets/forwardRefs-CXZy2GSt.0ea45a864dd0.css.gz +0 -0
  184. codex/static_root/assets/forwardRefs-CXZy2GSt.css +1 -0
  185. codex/static_root/assets/forwardRefs-CXZy2GSt.css.br +0 -0
  186. codex/static_root/assets/forwardRefs-CXZy2GSt.css.gz +0 -0
  187. codex/static_root/assets/forwardRefs-DG6cgrKs.63214695fc2a.js +1 -0
  188. codex/static_root/assets/forwardRefs-DG6cgrKs.63214695fc2a.js.br +0 -0
  189. codex/static_root/assets/forwardRefs-DG6cgrKs.63214695fc2a.js.gz +0 -0
  190. codex/static_root/assets/forwardRefs-DG6cgrKs.js +1 -0
  191. codex/static_root/assets/forwardRefs-DG6cgrKs.js.br +0 -0
  192. codex/static_root/assets/forwardRefs-DG6cgrKs.js.gz +0 -0
  193. codex/static_root/assets/group-tab-BZExFXC-.e99510b0aa5e.js +1 -0
  194. codex/static_root/assets/group-tab-BZExFXC-.e99510b0aa5e.js.br +0 -0
  195. codex/static_root/assets/group-tab-BZExFXC-.e99510b0aa5e.js.gz +0 -0
  196. codex/static_root/assets/group-tab-BZExFXC-.js +1 -0
  197. codex/static_root/assets/group-tab-BZExFXC-.js.br +0 -0
  198. codex/static_root/assets/group-tab-BZExFXC-.js.gz +0 -0
  199. codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css +1 -0
  200. codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.br +0 -0
  201. codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.gz +0 -0
  202. codex/static_root/assets/group-tab-Bi681uR0.css +1 -0
  203. codex/static_root/assets/group-tab-Bi681uR0.css.br +0 -0
  204. codex/static_root/assets/group-tab-Bi681uR0.css.gz +0 -0
  205. codex/static_root/assets/http-error-BHy1v31U.516903532e16.js +1 -0
  206. codex/static_root/assets/http-error-BHy1v31U.516903532e16.js.br +0 -0
  207. codex/static_root/assets/http-error-BHy1v31U.516903532e16.js.gz +0 -0
  208. codex/static_root/assets/http-error-BHy1v31U.js +1 -0
  209. codex/static_root/assets/http-error-BHy1v31U.js.br +0 -0
  210. codex/static_root/assets/http-error-BHy1v31U.js.gz +0 -0
  211. codex/static_root/assets/index-BxnlX5gb.b6443a0b48e3.js +1 -0
  212. codex/static_root/assets/index-BxnlX5gb.b6443a0b48e3.js.br +0 -0
  213. codex/static_root/assets/index-BxnlX5gb.b6443a0b48e3.js.gz +0 -0
  214. codex/static_root/assets/index-BxnlX5gb.js +1 -0
  215. codex/static_root/assets/index-BxnlX5gb.js.br +0 -0
  216. codex/static_root/assets/index-BxnlX5gb.js.gz +0 -0
  217. codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css +1 -0
  218. codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.br +3 -0
  219. codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.gz +0 -0
  220. codex/static_root/assets/index-Czf-fUM7.css +1 -0
  221. codex/static_root/assets/index-Czf-fUM7.css.br +3 -0
  222. codex/static_root/assets/index-Czf-fUM7.css.gz +0 -0
  223. codex/static_root/assets/library-tab-Cq-D776f.89f410e10a27.js +1 -0
  224. codex/static_root/assets/library-tab-Cq-D776f.89f410e10a27.js.br +0 -0
  225. codex/static_root/assets/library-tab-Cq-D776f.89f410e10a27.js.gz +0 -0
  226. codex/static_root/assets/library-tab-Cq-D776f.js +1 -0
  227. codex/static_root/assets/library-tab-Cq-D776f.js.br +0 -0
  228. codex/static_root/assets/library-tab-Cq-D776f.js.gz +0 -0
  229. codex/static_root/assets/main-NV7Sm4nK.ef4ca8f0fd9f.js +39 -0
  230. codex/static_root/assets/main-NV7Sm4nK.ef4ca8f0fd9f.js.br +0 -0
  231. codex/static_root/assets/main-NV7Sm4nK.ef4ca8f0fd9f.js.gz +0 -0
  232. codex/static_root/assets/main-NV7Sm4nK.js +39 -0
  233. codex/static_root/assets/main-NV7Sm4nK.js.br +0 -0
  234. codex/static_root/assets/main-NV7Sm4nK.js.gz +0 -0
  235. codex/static_root/assets/{main-K8cER0IH.d529e8b3f52a.css → main-Of3aYkZ7.91c75c4fbaa6.css} +1 -1
  236. codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css.br +0 -0
  237. codex/static_root/assets/{main-K8cER0IH.d529e8b3f52a.css.gz → main-Of3aYkZ7.91c75c4fbaa6.css.gz} +0 -0
  238. codex/static_root/assets/{main-K8cER0IH.css → main-Of3aYkZ7.css} +1 -1
  239. codex/static_root/assets/main-Of3aYkZ7.css.br +0 -0
  240. codex/static_root/assets/{main-K8cER0IH.css.gz → main-Of3aYkZ7.css.gz} +0 -0
  241. codex/static_root/assets/pager-full-pdf-DOYtfHYl.55ef88bc32dd.js +1 -0
  242. codex/static_root/assets/pager-full-pdf-DOYtfHYl.55ef88bc32dd.js.br +0 -0
  243. codex/static_root/assets/pager-full-pdf-DOYtfHYl.55ef88bc32dd.js.gz +0 -0
  244. codex/static_root/assets/pager-full-pdf-DOYtfHYl.js +1 -0
  245. codex/static_root/assets/pager-full-pdf-DOYtfHYl.js.br +0 -0
  246. codex/static_root/assets/pager-full-pdf-DOYtfHYl.js.gz +0 -0
  247. codex/static_root/assets/pagination-toolbar-BpWqCTpI.eae1ff66607a.js +1 -0
  248. codex/static_root/assets/pagination-toolbar-BpWqCTpI.eae1ff66607a.js.br +0 -0
  249. codex/static_root/assets/pagination-toolbar-BpWqCTpI.eae1ff66607a.js.gz +0 -0
  250. codex/static_root/assets/pagination-toolbar-BpWqCTpI.js +1 -0
  251. codex/static_root/assets/pagination-toolbar-BpWqCTpI.js.br +0 -0
  252. codex/static_root/assets/pagination-toolbar-BpWqCTpI.js.gz +0 -0
  253. codex/static_root/assets/{pagination-toolbar-CzT9Hc3f.487e647604e2.css → pagination-toolbar-aHRrdz48.2cbd38f9256c.css} +1 -1
  254. codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.br +0 -0
  255. codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.gz +0 -0
  256. codex/static_root/assets/{pagination-toolbar-CzT9Hc3f.css → pagination-toolbar-aHRrdz48.css} +1 -1
  257. codex/static_root/assets/pagination-toolbar-aHRrdz48.css.br +0 -0
  258. codex/static_root/assets/pagination-toolbar-aHRrdz48.css.gz +0 -0
  259. codex/static_root/assets/{pdf-doc-CW06S-ga.e7c567b9d4cd.js → pdf-doc-DAUp5U7y.821d344d6401.js} +1 -1
  260. codex/static_root/assets/pdf-doc-DAUp5U7y.821d344d6401.js.br +0 -0
  261. codex/static_root/assets/pdf-doc-DAUp5U7y.821d344d6401.js.gz +0 -0
  262. codex/static_root/assets/{pdf-doc-CW06S-ga.js → pdf-doc-DAUp5U7y.js} +1 -1
  263. codex/static_root/assets/pdf-doc-DAUp5U7y.js.br +0 -0
  264. codex/static_root/assets/pdf-doc-DAUp5U7y.js.gz +0 -0
  265. codex/static_root/assets/reader-BjIgRfH2.e9fae80f3d09.js +2 -0
  266. codex/static_root/assets/reader-BjIgRfH2.e9fae80f3d09.js.br +0 -0
  267. codex/static_root/assets/reader-BjIgRfH2.e9fae80f3d09.js.gz +0 -0
  268. codex/static_root/assets/reader-BjIgRfH2.js +2 -0
  269. codex/static_root/assets/reader-BjIgRfH2.js.br +0 -0
  270. codex/static_root/assets/reader-BjIgRfH2.js.gz +0 -0
  271. codex/static_root/assets/reader-D7Bx0Vcv.34af07084fcb.css +1 -0
  272. codex/static_root/assets/reader-D7Bx0Vcv.34af07084fcb.css.br +0 -0
  273. codex/static_root/assets/reader-D7Bx0Vcv.34af07084fcb.css.gz +0 -0
  274. codex/static_root/assets/reader-D7Bx0Vcv.css +1 -0
  275. codex/static_root/assets/reader-D7Bx0Vcv.css.br +0 -0
  276. codex/static_root/assets/reader-D7Bx0Vcv.css.gz +0 -0
  277. codex/static_root/assets/relation-chips-Bp-GmsDz.fdd18ac6b6f7.js +1 -0
  278. codex/static_root/assets/relation-chips-Bp-GmsDz.fdd18ac6b6f7.js.br +0 -0
  279. codex/static_root/assets/relation-chips-Bp-GmsDz.fdd18ac6b6f7.js.gz +0 -0
  280. codex/static_root/assets/relation-chips-Bp-GmsDz.js +1 -0
  281. codex/static_root/assets/relation-chips-Bp-GmsDz.js.br +0 -0
  282. codex/static_root/assets/relation-chips-Bp-GmsDz.js.gz +0 -0
  283. codex/static_root/assets/{relation-chips-eQkZvJcT.6b52d3f66aed.css → relation-chips-DvAOMwcd.css} +1 -1
  284. codex/static_root/assets/relation-chips-DvAOMwcd.css.br +0 -0
  285. codex/static_root/assets/relation-chips-DvAOMwcd.css.gz +0 -0
  286. codex/static_root/assets/{relation-chips-eQkZvJcT.css → relation-chips-DvAOMwcd.ebc505834f81.css} +1 -1
  287. codex/static_root/assets/relation-chips-DvAOMwcd.ebc505834f81.css.br +0 -0
  288. codex/static_root/assets/relation-chips-DvAOMwcd.ebc505834f81.css.gz +0 -0
  289. codex/static_root/assets/settings-drawer-ynpXH44c.ee12b51a7b5d.js +2 -0
  290. codex/static_root/assets/settings-drawer-ynpXH44c.ee12b51a7b5d.js.br +0 -0
  291. codex/static_root/assets/settings-drawer-ynpXH44c.ee12b51a7b5d.js.gz +0 -0
  292. codex/static_root/assets/settings-drawer-ynpXH44c.js +2 -0
  293. codex/static_root/assets/settings-drawer-ynpXH44c.js.br +0 -0
  294. codex/static_root/assets/settings-drawer-ynpXH44c.js.gz +0 -0
  295. codex/static_root/assets/{ssrBoot-B6yWBylJ.27fba7483f5d.js → ssrBoot-CTyNesCO.03ec3bf85a27.js} +1 -1
  296. codex/static_root/assets/ssrBoot-CTyNesCO.03ec3bf85a27.js.br +0 -0
  297. codex/static_root/assets/ssrBoot-CTyNesCO.03ec3bf85a27.js.gz +0 -0
  298. codex/static_root/assets/{ssrBoot-B6yWBylJ.js → ssrBoot-CTyNesCO.js} +1 -1
  299. codex/static_root/assets/ssrBoot-CTyNesCO.js.br +0 -0
  300. codex/static_root/assets/ssrBoot-CTyNesCO.js.gz +0 -0
  301. codex/static_root/assets/{stats-tab-B6L711cO.b6a42655cd70.css → stats-tab-CGY8r-es.b06c55bdaeaa.css} +1 -1
  302. codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.br +0 -0
  303. codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.gz +0 -0
  304. codex/static_root/assets/{stats-tab-B6L711cO.css → stats-tab-CGY8r-es.css} +1 -1
  305. codex/static_root/assets/stats-tab-CGY8r-es.css.br +0 -0
  306. codex/static_root/assets/stats-tab-CGY8r-es.css.gz +0 -0
  307. codex/static_root/assets/{stats-tab-DC24C65C.58280bd367e1.js → stats-tab-ZfoK3F_k.7565c9bbd336.js} +1 -1
  308. codex/static_root/assets/stats-tab-ZfoK3F_k.7565c9bbd336.js.br +0 -0
  309. codex/static_root/assets/stats-tab-ZfoK3F_k.7565c9bbd336.js.gz +0 -0
  310. codex/static_root/assets/{stats-tab-DC24C65C.js → stats-tab-ZfoK3F_k.js} +1 -1
  311. codex/static_root/assets/stats-tab-ZfoK3F_k.js.br +0 -0
  312. codex/static_root/assets/stats-tab-ZfoK3F_k.js.gz +0 -0
  313. codex/static_root/assets/{task-tab-DI9bXb-m.52aad0736a2b.js → task-tab-DNGSwaO3.273261947a02.js} +1 -1
  314. codex/static_root/assets/task-tab-DNGSwaO3.273261947a02.js.br +0 -0
  315. codex/static_root/assets/task-tab-DNGSwaO3.273261947a02.js.gz +0 -0
  316. codex/static_root/assets/{task-tab-DI9bXb-m.js → task-tab-DNGSwaO3.js} +1 -1
  317. codex/static_root/assets/task-tab-DNGSwaO3.js.br +0 -0
  318. codex/static_root/assets/task-tab-DNGSwaO3.js.gz +0 -0
  319. codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css +1 -0
  320. codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.br +0 -0
  321. codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.gz +0 -0
  322. codex/static_root/assets/unauthorized-DE63n2Pi.css +1 -0
  323. codex/static_root/assets/unauthorized-DE63n2Pi.css.br +0 -0
  324. codex/static_root/assets/unauthorized-DE63n2Pi.css.gz +0 -0
  325. codex/static_root/assets/unauthorized-bi5K10vQ.32373df36436.js +1 -0
  326. codex/static_root/assets/unauthorized-bi5K10vQ.32373df36436.js.br +0 -0
  327. codex/static_root/assets/unauthorized-bi5K10vQ.32373df36436.js.gz +0 -0
  328. codex/static_root/assets/unauthorized-bi5K10vQ.js +1 -0
  329. codex/static_root/assets/unauthorized-bi5K10vQ.js.br +0 -0
  330. codex/static_root/assets/unauthorized-bi5K10vQ.js.gz +0 -0
  331. codex/static_root/assets/{user-tab-B7e9oz0-.03fd3875c9e3.js → user-tab-BASy3q9X.3a7f9fc383e1.js} +1 -1
  332. codex/static_root/assets/user-tab-BASy3q9X.3a7f9fc383e1.js.br +0 -0
  333. codex/static_root/assets/user-tab-BASy3q9X.3a7f9fc383e1.js.gz +0 -0
  334. codex/static_root/assets/{user-tab-B7e9oz0-.js → user-tab-BASy3q9X.js} +1 -1
  335. codex/static_root/assets/user-tab-BASy3q9X.js.br +0 -0
  336. codex/static_root/assets/user-tab-BASy3q9X.js.gz +0 -0
  337. codex/static_root/manifest.3057b90c8c8c.json +757 -0
  338. codex/static_root/manifest.3057b90c8c8c.json.br +0 -0
  339. codex/static_root/manifest.3057b90c8c8c.json.gz +0 -0
  340. codex/static_root/manifest.json +348 -348
  341. codex/static_root/manifest.json.br +0 -0
  342. codex/static_root/manifest.json.gz +0 -0
  343. codex/static_root/staticfiles.json +1 -1
  344. codex/views/browser/bookmark.py +1 -1
  345. codex/views/browser/breadcrumbs.py +8 -3
  346. codex/views/browser/browser.py +1 -1
  347. codex/views/browser/filters/search/parse.py +1 -1
  348. codex/views/browser/paginate.py +1 -1
  349. codex/views/const.py +0 -1
  350. codex/views/download.py +1 -0
  351. codex/views/frontend.py +3 -1
  352. codex/views/mixins.py +13 -0
  353. codex/views/opds/v1/feed.py +4 -3
  354. codex/views/opds/v2/feed.py +4 -2
  355. codex/views/reader/books.py +1 -1
  356. codex/views/util.py +10 -11
  357. {codex-1.7.11a0.dist-info → codex-1.7.13.dist-info}/METADATA +8 -5
  358. {codex-1.7.11a0.dist-info → codex-1.7.13.dist-info}/RECORD +361 -360
  359. {codex-1.7.11a0.dist-info → codex-1.7.13.dist-info}/WHEEL +1 -1
  360. codex/static_root/assets/VCheckbox-t1haz9-P.38cb3995b2f3.js +0 -1
  361. codex/static_root/assets/VCheckbox-t1haz9-P.38cb3995b2f3.js.br +0 -0
  362. codex/static_root/assets/VCheckbox-t1haz9-P.38cb3995b2f3.js.gz +0 -0
  363. codex/static_root/assets/VCheckbox-t1haz9-P.js +0 -1
  364. codex/static_root/assets/VCheckbox-t1haz9-P.js.br +0 -0
  365. codex/static_root/assets/VCheckbox-t1haz9-P.js.gz +0 -0
  366. codex/static_root/assets/VCheckboxBtn-1PexCc2F.ac78c4bfe6bd.js +0 -1
  367. codex/static_root/assets/VCheckboxBtn-1PexCc2F.ac78c4bfe6bd.js.br +0 -0
  368. codex/static_root/assets/VCheckboxBtn-1PexCc2F.ac78c4bfe6bd.js.gz +0 -0
  369. codex/static_root/assets/VCheckboxBtn-1PexCc2F.js +0 -1
  370. codex/static_root/assets/VCheckboxBtn-1PexCc2F.js.br +0 -0
  371. codex/static_root/assets/VCheckboxBtn-1PexCc2F.js.gz +0 -0
  372. codex/static_root/assets/VCombobox-BQHELb_o.9f25a34994e2.css +0 -1
  373. codex/static_root/assets/VCombobox-BQHELb_o.9f25a34994e2.css.br +0 -0
  374. codex/static_root/assets/VCombobox-BQHELb_o.9f25a34994e2.css.gz +0 -0
  375. codex/static_root/assets/VCombobox-BQHELb_o.css +0 -1
  376. codex/static_root/assets/VCombobox-BQHELb_o.css.br +0 -0
  377. codex/static_root/assets/VCombobox-BQHELb_o.css.gz +0 -0
  378. codex/static_root/assets/VCombobox-DpadV2-4.ea605785117d.js +0 -1
  379. codex/static_root/assets/VCombobox-DpadV2-4.ea605785117d.js.br +0 -0
  380. codex/static_root/assets/VCombobox-DpadV2-4.ea605785117d.js.gz +0 -0
  381. codex/static_root/assets/VCombobox-DpadV2-4.js +0 -1
  382. codex/static_root/assets/VCombobox-DpadV2-4.js.br +0 -0
  383. codex/static_root/assets/VCombobox-DpadV2-4.js.gz +0 -0
  384. codex/static_root/assets/VDialog-BR4MrJeK.a2c876dbfac0.js +0 -1
  385. codex/static_root/assets/VDialog-BR4MrJeK.a2c876dbfac0.js.br +0 -0
  386. codex/static_root/assets/VDialog-BR4MrJeK.a2c876dbfac0.js.gz +0 -0
  387. codex/static_root/assets/VDialog-BR4MrJeK.js +0 -1
  388. codex/static_root/assets/VDialog-BR4MrJeK.js.br +0 -0
  389. codex/static_root/assets/VDialog-BR4MrJeK.js.gz +0 -0
  390. codex/static_root/assets/VDivider-CGYMLgJf.fbcb910c5e2b.js +0 -1
  391. codex/static_root/assets/VDivider-CGYMLgJf.fbcb910c5e2b.js.br +0 -0
  392. codex/static_root/assets/VDivider-CGYMLgJf.fbcb910c5e2b.js.gz +0 -0
  393. codex/static_root/assets/VDivider-CGYMLgJf.js +0 -1
  394. codex/static_root/assets/VDivider-CGYMLgJf.js.br +0 -0
  395. codex/static_root/assets/VDivider-CGYMLgJf.js.gz +0 -0
  396. codex/static_root/assets/VExpansionPanels-ape8k2o6.235735bba3cc.js +0 -1
  397. codex/static_root/assets/VExpansionPanels-ape8k2o6.235735bba3cc.js.br +0 -0
  398. codex/static_root/assets/VExpansionPanels-ape8k2o6.235735bba3cc.js.gz +0 -0
  399. codex/static_root/assets/VExpansionPanels-ape8k2o6.js +0 -1
  400. codex/static_root/assets/VExpansionPanels-ape8k2o6.js.br +0 -0
  401. codex/static_root/assets/VExpansionPanels-ape8k2o6.js.gz +0 -0
  402. codex/static_root/assets/VForm-ZManiwIB.a4ee873a7650.js +0 -1
  403. codex/static_root/assets/VForm-ZManiwIB.a4ee873a7650.js.br +0 -0
  404. codex/static_root/assets/VForm-ZManiwIB.a4ee873a7650.js.gz +0 -0
  405. codex/static_root/assets/VForm-ZManiwIB.js +0 -1
  406. codex/static_root/assets/VForm-ZManiwIB.js.br +0 -0
  407. codex/static_root/assets/VForm-ZManiwIB.js.gz +0 -0
  408. codex/static_root/assets/VRadioGroup-BqJIH3Pa.22a036a63862.js +0 -1
  409. codex/static_root/assets/VRadioGroup-BqJIH3Pa.22a036a63862.js.br +0 -0
  410. codex/static_root/assets/VRadioGroup-BqJIH3Pa.22a036a63862.js.gz +0 -0
  411. codex/static_root/assets/VRadioGroup-BqJIH3Pa.js +0 -1
  412. codex/static_root/assets/VRadioGroup-BqJIH3Pa.js.br +0 -0
  413. codex/static_root/assets/VRadioGroup-BqJIH3Pa.js.gz +0 -0
  414. codex/static_root/assets/VSelect-Bi5KABMc.1268bafd6469.js +0 -1
  415. codex/static_root/assets/VSelect-Bi5KABMc.1268bafd6469.js.br +0 -0
  416. codex/static_root/assets/VSelect-Bi5KABMc.1268bafd6469.js.gz +0 -0
  417. codex/static_root/assets/VSelect-Bi5KABMc.js +0 -1
  418. codex/static_root/assets/VSelect-Bi5KABMc.js.br +0 -0
  419. codex/static_root/assets/VSelect-Bi5KABMc.js.gz +0 -0
  420. codex/static_root/assets/VSelect-CP_CVb8s.6309f7bf17bb.css.br +0 -0
  421. codex/static_root/assets/VSelect-CP_CVb8s.6309f7bf17bb.css.gz +0 -0
  422. codex/static_root/assets/VSelect-CP_CVb8s.css.br +0 -0
  423. codex/static_root/assets/VSelect-CP_CVb8s.css.gz +0 -0
  424. codex/static_root/assets/VSelectionControl-CRVWANOr.bac2136c7c25.js +0 -1
  425. codex/static_root/assets/VSelectionControl-CRVWANOr.bac2136c7c25.js.br +0 -0
  426. codex/static_root/assets/VSelectionControl-CRVWANOr.bac2136c7c25.js.gz +0 -0
  427. codex/static_root/assets/VSelectionControl-CRVWANOr.js +0 -1
  428. codex/static_root/assets/VSelectionControl-CRVWANOr.js.br +0 -0
  429. codex/static_root/assets/VSelectionControl-CRVWANOr.js.gz +0 -0
  430. codex/static_root/assets/VSelectionControl-DtEh26JD.css +0 -1
  431. codex/static_root/assets/VSelectionControl-DtEh26JD.css.br +0 -0
  432. codex/static_root/assets/VSelectionControl-DtEh26JD.css.gz +0 -0
  433. codex/static_root/assets/VSelectionControl-DtEh26JD.eec621947209.css +0 -1
  434. codex/static_root/assets/VSelectionControl-DtEh26JD.eec621947209.css.br +0 -0
  435. codex/static_root/assets/VSelectionControl-DtEh26JD.eec621947209.css.gz +0 -0
  436. codex/static_root/assets/VTable-BnxSZ_W5.c36f0a6a30cf.css.br +0 -0
  437. codex/static_root/assets/VTable-BnxSZ_W5.c36f0a6a30cf.css.gz +0 -0
  438. codex/static_root/assets/VTable-BnxSZ_W5.css.br +0 -0
  439. codex/static_root/assets/VTable-BnxSZ_W5.css.gz +0 -0
  440. codex/static_root/assets/VTable-DWCA1lvG.1562d6d70dbe.js +0 -1
  441. codex/static_root/assets/VTable-DWCA1lvG.1562d6d70dbe.js.br +0 -0
  442. codex/static_root/assets/VTable-DWCA1lvG.1562d6d70dbe.js.gz +0 -0
  443. codex/static_root/assets/VTable-DWCA1lvG.js +0 -1
  444. codex/static_root/assets/VTable-DWCA1lvG.js.br +0 -0
  445. codex/static_root/assets/VTable-DWCA1lvG.js.gz +0 -0
  446. codex/static_root/assets/VWindowItem-DSXaWHkP.89ac2ece629a.js +0 -1
  447. codex/static_root/assets/VWindowItem-DSXaWHkP.89ac2ece629a.js.br +0 -0
  448. codex/static_root/assets/VWindowItem-DSXaWHkP.89ac2ece629a.js.gz +0 -0
  449. codex/static_root/assets/VWindowItem-DSXaWHkP.js +0 -1
  450. codex/static_root/assets/VWindowItem-DSXaWHkP.js.br +0 -0
  451. codex/static_root/assets/VWindowItem-DSXaWHkP.js.gz +0 -0
  452. codex/static_root/assets/admin-Bxwc8451.b2a8c85c5c82.js.br +0 -0
  453. codex/static_root/assets/admin-Bxwc8451.b2a8c85c5c82.js.gz +0 -0
  454. codex/static_root/assets/admin-Bxwc8451.js.br +0 -0
  455. codex/static_root/assets/admin-Bxwc8451.js.gz +0 -0
  456. codex/static_root/assets/admin-C3iCIUnm.06cb213f624d.css.br +0 -0
  457. codex/static_root/assets/admin-C3iCIUnm.06cb213f624d.css.gz +0 -0
  458. codex/static_root/assets/admin-C3iCIUnm.css.br +0 -0
  459. codex/static_root/assets/admin-C3iCIUnm.css.gz +0 -0
  460. codex/static_root/assets/admin-C81J8xOG.772d05753583.js +0 -1
  461. codex/static_root/assets/admin-C81J8xOG.772d05753583.js.br +0 -0
  462. codex/static_root/assets/admin-C81J8xOG.772d05753583.js.gz +0 -0
  463. codex/static_root/assets/admin-C81J8xOG.js +0 -1
  464. codex/static_root/assets/admin-C81J8xOG.js.br +0 -0
  465. codex/static_root/assets/admin-C81J8xOG.js.gz +0 -0
  466. codex/static_root/assets/admin-menu-Bts5DypF.83389408d5df.js +0 -1
  467. codex/static_root/assets/admin-menu-Bts5DypF.83389408d5df.js.br +0 -0
  468. codex/static_root/assets/admin-menu-Bts5DypF.83389408d5df.js.gz +0 -0
  469. codex/static_root/assets/admin-menu-Bts5DypF.js +0 -1
  470. codex/static_root/assets/admin-menu-Bts5DypF.js.br +0 -0
  471. codex/static_root/assets/admin-menu-Bts5DypF.js.gz +0 -0
  472. codex/static_root/assets/admin-settings-button-progress-CLrIYn4d.cec2cfd322a1.js.br +0 -0
  473. codex/static_root/assets/admin-settings-button-progress-CLrIYn4d.cec2cfd322a1.js.gz +0 -0
  474. codex/static_root/assets/admin-settings-button-progress-CLrIYn4d.js.br +0 -0
  475. codex/static_root/assets/admin-settings-button-progress-CLrIYn4d.js.gz +0 -0
  476. codex/static_root/assets/browser-Bf8JG2CE.3af978c1f766.css.br +0 -0
  477. codex/static_root/assets/browser-Bf8JG2CE.3af978c1f766.css.gz +0 -0
  478. codex/static_root/assets/browser-Bf8JG2CE.css.br +0 -0
  479. codex/static_root/assets/browser-Bf8JG2CE.css.gz +0 -0
  480. codex/static_root/assets/browser-yJ6Noi8Y.624ef6fbd20b.js +0 -1
  481. codex/static_root/assets/browser-yJ6Noi8Y.624ef6fbd20b.js.br +0 -0
  482. codex/static_root/assets/browser-yJ6Noi8Y.624ef6fbd20b.js.gz +0 -0
  483. codex/static_root/assets/browser-yJ6Noi8Y.js +0 -1
  484. codex/static_root/assets/browser-yJ6Noi8Y.js.br +0 -0
  485. codex/static_root/assets/browser-yJ6Noi8Y.js.gz +0 -0
  486. codex/static_root/assets/change-password-dialog-Bw5_buVm.d199b40591de.js.br +0 -0
  487. codex/static_root/assets/change-password-dialog-Bw5_buVm.d199b40591de.js.gz +0 -0
  488. codex/static_root/assets/change-password-dialog-Bw5_buVm.js.br +0 -0
  489. codex/static_root/assets/change-password-dialog-Bw5_buVm.js.gz +0 -0
  490. codex/static_root/assets/confirm-dialog-CDmsC-9_.cb51658bfb81.js +0 -1
  491. codex/static_root/assets/confirm-dialog-CDmsC-9_.cb51658bfb81.js.br +0 -0
  492. codex/static_root/assets/confirm-dialog-CDmsC-9_.cb51658bfb81.js.gz +0 -0
  493. codex/static_root/assets/confirm-dialog-CDmsC-9_.js +0 -1
  494. codex/static_root/assets/confirm-dialog-CDmsC-9_.js.br +0 -0
  495. codex/static_root/assets/confirm-dialog-CDmsC-9_.js.gz +0 -0
  496. codex/static_root/assets/datetime-column-PBwaoZso.4b7946b97468.js +0 -1
  497. codex/static_root/assets/datetime-column-PBwaoZso.4b7946b97468.js.br +0 -1
  498. codex/static_root/assets/datetime-column-PBwaoZso.4b7946b97468.js.gz +0 -0
  499. codex/static_root/assets/datetime-column-PBwaoZso.js +0 -1
  500. codex/static_root/assets/datetime-column-PBwaoZso.js.br +0 -1
  501. codex/static_root/assets/datetime-column-PBwaoZso.js.gz +0 -0
  502. codex/static_root/assets/filter-D2ELuNq3.2b1c1f24a6b4.js +0 -1
  503. codex/static_root/assets/filter-D2ELuNq3.2b1c1f24a6b4.js.br +0 -0
  504. codex/static_root/assets/filter-D2ELuNq3.2b1c1f24a6b4.js.gz +0 -0
  505. codex/static_root/assets/filter-D2ELuNq3.js +0 -1
  506. codex/static_root/assets/filter-D2ELuNq3.js.br +0 -0
  507. codex/static_root/assets/filter-D2ELuNq3.js.gz +0 -0
  508. codex/static_root/assets/flag-tab-Bfd3wqbW.eb77780e8a45.js.br +0 -0
  509. codex/static_root/assets/flag-tab-Bfd3wqbW.eb77780e8a45.js.gz +0 -0
  510. codex/static_root/assets/flag-tab-Bfd3wqbW.js.br +0 -0
  511. codex/static_root/assets/flag-tab-Bfd3wqbW.js.gz +0 -0
  512. codex/static_root/assets/forwardRefs-Cvn3Vptr.26250646de8c.js +0 -1
  513. codex/static_root/assets/forwardRefs-Cvn3Vptr.26250646de8c.js.br +0 -0
  514. codex/static_root/assets/forwardRefs-Cvn3Vptr.26250646de8c.js.gz +0 -0
  515. codex/static_root/assets/forwardRefs-Cvn3Vptr.js +0 -1
  516. codex/static_root/assets/forwardRefs-Cvn3Vptr.js.br +0 -0
  517. codex/static_root/assets/forwardRefs-Cvn3Vptr.js.gz +0 -0
  518. codex/static_root/assets/forwardRefs-Dyi06MPF.601ab1fd99b1.css +0 -1
  519. codex/static_root/assets/forwardRefs-Dyi06MPF.601ab1fd99b1.css.br +0 -0
  520. codex/static_root/assets/forwardRefs-Dyi06MPF.601ab1fd99b1.css.gz +0 -0
  521. codex/static_root/assets/forwardRefs-Dyi06MPF.css +0 -1
  522. codex/static_root/assets/forwardRefs-Dyi06MPF.css.br +0 -0
  523. codex/static_root/assets/forwardRefs-Dyi06MPF.css.gz +0 -0
  524. codex/static_root/assets/group-tab-J2MqClVb.ff59e8269756.js +0 -1
  525. codex/static_root/assets/group-tab-J2MqClVb.ff59e8269756.js.br +0 -0
  526. codex/static_root/assets/group-tab-J2MqClVb.ff59e8269756.js.gz +0 -0
  527. codex/static_root/assets/group-tab-J2MqClVb.js +0 -1
  528. codex/static_root/assets/group-tab-J2MqClVb.js.br +0 -0
  529. codex/static_root/assets/group-tab-J2MqClVb.js.gz +0 -0
  530. codex/static_root/assets/group-tab-_vKWzoyd.948e907b1e6b.css +0 -1
  531. codex/static_root/assets/group-tab-_vKWzoyd.948e907b1e6b.css.br +0 -0
  532. codex/static_root/assets/group-tab-_vKWzoyd.948e907b1e6b.css.gz +0 -0
  533. codex/static_root/assets/group-tab-_vKWzoyd.css +0 -1
  534. codex/static_root/assets/group-tab-_vKWzoyd.css.br +0 -0
  535. codex/static_root/assets/group-tab-_vKWzoyd.css.gz +0 -0
  536. codex/static_root/assets/http-error-BYu6Kcz7.9e6d6753260e.js +0 -1
  537. codex/static_root/assets/http-error-BYu6Kcz7.9e6d6753260e.js.br +0 -0
  538. codex/static_root/assets/http-error-BYu6Kcz7.9e6d6753260e.js.gz +0 -0
  539. codex/static_root/assets/http-error-BYu6Kcz7.js +0 -1
  540. codex/static_root/assets/http-error-BYu6Kcz7.js.br +0 -0
  541. codex/static_root/assets/http-error-BYu6Kcz7.js.gz +0 -0
  542. codex/static_root/assets/index-70Ak1yZF.6341f252a26f.js +0 -1
  543. codex/static_root/assets/index-70Ak1yZF.6341f252a26f.js.br +0 -0
  544. codex/static_root/assets/index-70Ak1yZF.6341f252a26f.js.gz +0 -0
  545. codex/static_root/assets/index-70Ak1yZF.js +0 -1
  546. codex/static_root/assets/index-70Ak1yZF.js.br +0 -0
  547. codex/static_root/assets/index-70Ak1yZF.js.gz +0 -0
  548. codex/static_root/assets/index-BHXJTQ4V.523d7b3d350f.css +0 -1
  549. codex/static_root/assets/index-BHXJTQ4V.523d7b3d350f.css.br +0 -0
  550. codex/static_root/assets/index-BHXJTQ4V.523d7b3d350f.css.gz +0 -0
  551. codex/static_root/assets/index-BHXJTQ4V.css +0 -1
  552. codex/static_root/assets/index-BHXJTQ4V.css.br +0 -0
  553. codex/static_root/assets/index-BHXJTQ4V.css.gz +0 -0
  554. codex/static_root/assets/library-tab-B5EpvS2Z.ce7f598b989c.js +0 -1
  555. codex/static_root/assets/library-tab-B5EpvS2Z.ce7f598b989c.js.br +0 -0
  556. codex/static_root/assets/library-tab-B5EpvS2Z.ce7f598b989c.js.gz +0 -0
  557. codex/static_root/assets/library-tab-B5EpvS2Z.js +0 -1
  558. codex/static_root/assets/library-tab-B5EpvS2Z.js.br +0 -0
  559. codex/static_root/assets/library-tab-B5EpvS2Z.js.gz +0 -0
  560. codex/static_root/assets/main-K8cER0IH.css.br +0 -0
  561. codex/static_root/assets/main-K8cER0IH.d529e8b3f52a.css.br +0 -0
  562. codex/static_root/assets/main-nb_FhQoD.5279ea775ff6.js +0 -35
  563. codex/static_root/assets/main-nb_FhQoD.5279ea775ff6.js.br +0 -0
  564. codex/static_root/assets/main-nb_FhQoD.5279ea775ff6.js.gz +0 -0
  565. codex/static_root/assets/main-nb_FhQoD.js +0 -35
  566. codex/static_root/assets/main-nb_FhQoD.js.br +0 -0
  567. codex/static_root/assets/main-nb_FhQoD.js.gz +0 -0
  568. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.015647f33ab1.js +0 -1
  569. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.015647f33ab1.js.br +0 -0
  570. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.015647f33ab1.js.gz +0 -0
  571. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.js +0 -1
  572. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.js.br +0 -0
  573. codex/static_root/assets/pager-full-pdf-vSb0Gv-4.js.gz +0 -0
  574. codex/static_root/assets/pagination-toolbar-2endB3w1.f94e6a3535e4.js +0 -1
  575. codex/static_root/assets/pagination-toolbar-2endB3w1.f94e6a3535e4.js.br +0 -0
  576. codex/static_root/assets/pagination-toolbar-2endB3w1.f94e6a3535e4.js.gz +0 -0
  577. codex/static_root/assets/pagination-toolbar-2endB3w1.js +0 -1
  578. codex/static_root/assets/pagination-toolbar-2endB3w1.js.br +0 -0
  579. codex/static_root/assets/pagination-toolbar-2endB3w1.js.gz +0 -0
  580. codex/static_root/assets/pagination-toolbar-CzT9Hc3f.487e647604e2.css.br +0 -0
  581. codex/static_root/assets/pagination-toolbar-CzT9Hc3f.487e647604e2.css.gz +0 -0
  582. codex/static_root/assets/pagination-toolbar-CzT9Hc3f.css.br +0 -0
  583. codex/static_root/assets/pagination-toolbar-CzT9Hc3f.css.gz +0 -0
  584. codex/static_root/assets/pdf-doc-CW06S-ga.e7c567b9d4cd.js.br +0 -0
  585. codex/static_root/assets/pdf-doc-CW06S-ga.e7c567b9d4cd.js.gz +0 -0
  586. codex/static_root/assets/pdf-doc-CW06S-ga.js.br +0 -0
  587. codex/static_root/assets/pdf-doc-CW06S-ga.js.gz +0 -0
  588. codex/static_root/assets/reader-DdWNjEED.97c15f661faf.css +0 -1
  589. codex/static_root/assets/reader-DdWNjEED.97c15f661faf.css.br +0 -0
  590. codex/static_root/assets/reader-DdWNjEED.97c15f661faf.css.gz +0 -0
  591. codex/static_root/assets/reader-DdWNjEED.css +0 -1
  592. codex/static_root/assets/reader-DdWNjEED.css.br +0 -0
  593. codex/static_root/assets/reader-DdWNjEED.css.gz +0 -0
  594. codex/static_root/assets/reader-myd-70jV.2a363255ca47.js +0 -2
  595. codex/static_root/assets/reader-myd-70jV.2a363255ca47.js.br +0 -0
  596. codex/static_root/assets/reader-myd-70jV.2a363255ca47.js.gz +0 -0
  597. codex/static_root/assets/reader-myd-70jV.js +0 -2
  598. codex/static_root/assets/reader-myd-70jV.js.br +0 -0
  599. codex/static_root/assets/reader-myd-70jV.js.gz +0 -0
  600. codex/static_root/assets/relation-chips-Bd8Jicbj.35d8fe15b532.js +0 -1
  601. codex/static_root/assets/relation-chips-Bd8Jicbj.35d8fe15b532.js.br +0 -0
  602. codex/static_root/assets/relation-chips-Bd8Jicbj.35d8fe15b532.js.gz +0 -0
  603. codex/static_root/assets/relation-chips-Bd8Jicbj.js +0 -1
  604. codex/static_root/assets/relation-chips-Bd8Jicbj.js.br +0 -0
  605. codex/static_root/assets/relation-chips-Bd8Jicbj.js.gz +0 -0
  606. codex/static_root/assets/relation-chips-eQkZvJcT.6b52d3f66aed.css.br +0 -0
  607. codex/static_root/assets/relation-chips-eQkZvJcT.6b52d3f66aed.css.gz +0 -0
  608. codex/static_root/assets/relation-chips-eQkZvJcT.css.br +0 -0
  609. codex/static_root/assets/relation-chips-eQkZvJcT.css.gz +0 -0
  610. codex/static_root/assets/settings-drawer-DBftv9u0.afd25184f6d8.js +0 -2
  611. codex/static_root/assets/settings-drawer-DBftv9u0.afd25184f6d8.js.br +0 -0
  612. codex/static_root/assets/settings-drawer-DBftv9u0.afd25184f6d8.js.gz +0 -0
  613. codex/static_root/assets/settings-drawer-DBftv9u0.js +0 -2
  614. codex/static_root/assets/settings-drawer-DBftv9u0.js.br +0 -0
  615. codex/static_root/assets/settings-drawer-DBftv9u0.js.gz +0 -0
  616. codex/static_root/assets/ssrBoot-B6yWBylJ.27fba7483f5d.js.br +0 -0
  617. codex/static_root/assets/ssrBoot-B6yWBylJ.27fba7483f5d.js.gz +0 -0
  618. codex/static_root/assets/ssrBoot-B6yWBylJ.js.br +0 -0
  619. codex/static_root/assets/ssrBoot-B6yWBylJ.js.gz +0 -0
  620. codex/static_root/assets/stats-tab-B6L711cO.b6a42655cd70.css.br +0 -2
  621. codex/static_root/assets/stats-tab-B6L711cO.b6a42655cd70.css.gz +0 -0
  622. codex/static_root/assets/stats-tab-B6L711cO.css.br +0 -2
  623. codex/static_root/assets/stats-tab-B6L711cO.css.gz +0 -0
  624. codex/static_root/assets/stats-tab-DC24C65C.58280bd367e1.js.br +0 -0
  625. codex/static_root/assets/stats-tab-DC24C65C.58280bd367e1.js.gz +0 -0
  626. codex/static_root/assets/stats-tab-DC24C65C.js.br +0 -0
  627. codex/static_root/assets/stats-tab-DC24C65C.js.gz +0 -0
  628. codex/static_root/assets/task-tab-DI9bXb-m.52aad0736a2b.js.br +0 -0
  629. codex/static_root/assets/task-tab-DI9bXb-m.52aad0736a2b.js.gz +0 -0
  630. codex/static_root/assets/task-tab-DI9bXb-m.js.br +0 -0
  631. codex/static_root/assets/task-tab-DI9bXb-m.js.gz +0 -0
  632. codex/static_root/assets/unauthorized-C0p00au3.983dc96cbe2b.js +0 -1
  633. codex/static_root/assets/unauthorized-C0p00au3.983dc96cbe2b.js.br +0 -0
  634. codex/static_root/assets/unauthorized-C0p00au3.983dc96cbe2b.js.gz +0 -0
  635. codex/static_root/assets/unauthorized-C0p00au3.js +0 -1
  636. codex/static_root/assets/unauthorized-C0p00au3.js.br +0 -0
  637. codex/static_root/assets/unauthorized-C0p00au3.js.gz +0 -0
  638. codex/static_root/assets/unauthorized-CtkV01lw.8668ffe7b306.css +0 -1
  639. codex/static_root/assets/unauthorized-CtkV01lw.8668ffe7b306.css.br +0 -0
  640. codex/static_root/assets/unauthorized-CtkV01lw.8668ffe7b306.css.gz +0 -0
  641. codex/static_root/assets/unauthorized-CtkV01lw.css +0 -1
  642. codex/static_root/assets/unauthorized-CtkV01lw.css.br +0 -0
  643. codex/static_root/assets/unauthorized-CtkV01lw.css.gz +0 -0
  644. codex/static_root/assets/user-tab-B7e9oz0-.03fd3875c9e3.js.br +0 -0
  645. codex/static_root/assets/user-tab-B7e9oz0-.03fd3875c9e3.js.gz +0 -0
  646. codex/static_root/assets/user-tab-B7e9oz0-.js.br +0 -0
  647. codex/static_root/assets/user-tab-B7e9oz0-.js.gz +0 -0
  648. codex/static_root/manifest.fd580176863a.json +0 -757
  649. codex/static_root/manifest.fd580176863a.json.br +0 -0
  650. codex/static_root/manifest.fd580176863a.json.gz +0 -0
  651. {codex-1.7.11a0.dist-info → codex-1.7.13.dist-info}/LICENSE +0 -0
  652. {codex-1.7.11a0.dist-info → codex-1.7.13.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
1
- import{_ as V,A as v,C as c,k as b,q as u,a as r,G as y,X as h,l as i,L as C,s as n,w as l,E,ao as j,v as x,x as m}from"./main-nb_FhQoD.js";import{A as I,R as L,a as N,b as B,c as z}from"./relation-chips-Bd8Jicbj.js";import{useAdminStore as p}from"./admin-Bxwc8451.js";import{c as f}from"./VSelectionControl-CRVWANOr.js";import{V as U}from"./VCheckbox-t1haz9-P.js";import{D as O}from"./datetime-column-PBwaoZso.js";import{a as G}from"./change-password-dialog-Bw5_buVm.js";import{V as k}from"./VCheckboxBtn-1PexCc2F.js";import"./forwardRefs-Cvn3Vptr.js";import"./VForm-ZManiwIB.js";import"./VDialog-BR4MrJeK.js";import"./VSelect-Bi5KABMc.js";import"./ssrBoot-B6yWBylJ.js";import"./VDivider-CGYMLgJf.js";import"./VTable-DWCA1lvG.js";import"./filter-D2ELuNq3.js";import"./confirm-dialog-CDmsC-9_.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const J={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...v(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},K={key:0};function Y(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?y("",!0):(u(),b("div",K,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const q=V(J,[["render",Y]]),M={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:B,ChangePasswordDialog:G,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:L},data(){return{AdminUserCreateUpdateInputs:j(q),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...v(p,["loadTables"])}},X={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",X,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):y("",!0)]),_:2},1032,["headers","items"])])}const pe=V(M,[["render",F]]);export{pe as default};
1
+ import{_ as V,B as y,D as c,q as b,v as u,a as r,H as v,Y as h,s as i,M as C,b as n,w as l,G as E,ao as j,x,y as m}from"./main-NV7Sm4nK.js";import{A as I,R as B,a as N,b as L,c as z}from"./relation-chips-Bp-GmsDz.js";import{useAdminStore as p}from"./admin-C78J3iIT.js";import{c as f}from"./VSelectionControl-DbdMme4i.js";import{V as U}from"./VCheckbox-CmDJN2RH.js";import{D as O}from"./datetime-column-BC6Dncpu.js";import{a as Y}from"./change-password-dialog-CNWUpsff.js";import{V as k}from"./VCheckboxBtn-07Vspsxn.js";import"./forwardRefs-DG6cgrKs.js";import"./VForm-Be9DdO0x.js";import"./VDialog-DRj4eBrO.js";import"./VSelect-BbT1aJkP.js";import"./ssrBoot-CTyNesCO.js";import"./VDivider-D1t2hkjV.js";import"./VTable-C7Pj2AU0.js";import"./filter-wbh_0cB-.js";import"./confirm-dialog-B4fmqtXn.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const G={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...y(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},J={key:0};function K(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?v("",!0):(u(),b("div",J,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const M=V(G,[["render",K]]),q={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:L,ChangePasswordDialog:Y,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:B},data(){return{AdminUserCreateUpdateInputs:j(M),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(p,["loadTables"])}},H={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",H,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):v("",!0)]),_:2},1032,["headers","items"])])}const pe=V(q,[["render",F]]);export{pe as default};
@@ -1 +1 @@
1
- import{_ as V,A as v,C as c,k as b,q as u,a as r,G as y,X as h,l as i,L as C,s as n,w as l,E,ao as j,v as x,x as m}from"./main-nb_FhQoD.js";import{A as I,R as L,a as N,b as B,c as z}from"./relation-chips-Bd8Jicbj.js";import{useAdminStore as p}from"./admin-Bxwc8451.js";import{c as f}from"./VSelectionControl-CRVWANOr.js";import{V as U}from"./VCheckbox-t1haz9-P.js";import{D as O}from"./datetime-column-PBwaoZso.js";import{a as G}from"./change-password-dialog-Bw5_buVm.js";import{V as k}from"./VCheckboxBtn-1PexCc2F.js";import"./forwardRefs-Cvn3Vptr.js";import"./VForm-ZManiwIB.js";import"./VDialog-BR4MrJeK.js";import"./VSelect-Bi5KABMc.js";import"./ssrBoot-B6yWBylJ.js";import"./VDivider-CGYMLgJf.js";import"./VTable-DWCA1lvG.js";import"./filter-D2ELuNq3.js";import"./confirm-dialog-CDmsC-9_.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const J={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...v(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},K={key:0};function Y(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?y("",!0):(u(),b("div",K,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const q=V(J,[["render",Y]]),M={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:B,ChangePasswordDialog:G,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:L},data(){return{AdminUserCreateUpdateInputs:j(q),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...v(p,["loadTables"])}},X={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",X,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):y("",!0)]),_:2},1032,["headers","items"])])}const pe=V(M,[["render",F]]);export{pe as default};
1
+ import{_ as V,B as y,D as c,q as b,v as u,a as r,H as v,Y as h,s as i,M as C,b as n,w as l,G as E,ao as j,x,y as m}from"./main-NV7Sm4nK.js";import{A as I,R as B,a as N,b as L,c as z}from"./relation-chips-Bp-GmsDz.js";import{useAdminStore as p}from"./admin-C78J3iIT.js";import{c as f}from"./VSelectionControl-DbdMme4i.js";import{V as U}from"./VCheckbox-CmDJN2RH.js";import{D as O}from"./datetime-column-BC6Dncpu.js";import{a as Y}from"./change-password-dialog-CNWUpsff.js";import{V as k}from"./VCheckboxBtn-07Vspsxn.js";import"./forwardRefs-DG6cgrKs.js";import"./VForm-Be9DdO0x.js";import"./VDialog-DRj4eBrO.js";import"./VSelect-BbT1aJkP.js";import"./ssrBoot-CTyNesCO.js";import"./VDivider-D1t2hkjV.js";import"./VTable-C7Pj2AU0.js";import"./filter-wbh_0cB-.js";import"./confirm-dialog-B4fmqtXn.js";const D=["username","isStaff","isActive","groups"];Object.freeze(D);const A={username:"",password:"",passwordConfirm:"",isStaff:!1,isActive:!0,groups:[]};Object.freeze(A);const G={name:"AdminUserCreateUpdateInputs",components:{AdminRelationPicker:I},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{username:[e=>!!e||"Username is required",e=>!!e&&!this.usernames.has(e.trim())||"Username already used"],password:[e=>!!e||"Password is required"],passwordConfirm:[e=>e===this.row.password||"Passwords must match"]},row:C(this.oldRow||A)}},computed:{...c(p,{groups:e=>e.groups,users:e=>e.users}),usernames(){return this.nameSet(this.users,"username",this.oldRow,!0)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=C(e)},deep:!0}},methods:{...y(p,["nameSet"])},UPDATE_KEYS:D,EMPTY_ROW:A},J={key:0};function K(e,s,g,R,o,S){const d=i("AdminRelationPicker");return u(),b("div",null,[r(f,{modelValue:o.row.username,"onUpdate:modelValue":s[0]||(s[0]=a=>o.row.username=a),autocomplete:"username",label:"Username",rules:o.rules.username,clearable:"",autofocus:"",onKeydown:s[1]||(s[1]=h(a=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"]),g.oldRow?v("",!0):(u(),b("div",J,[r(f,{ref:"password",modelValue:o.row.password,"onUpdate:modelValue":s[2]||(s[2]=a=>o.row.password=a),autocomplete:"new-password",label:"Password",rules:o.rules.password,clearable:"",type:"password",onKeydown:s[3]||(s[3]=h(a=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules"]),r(f,{ref:"passwordConfirm",modelValue:o.row.passwordConfirm,"onUpdate:modelValue":s[4]||(s[4]=a=>o.row.passwordConfirm=a),autocomplete:"new-password",label:"Confirm Password",rules:o.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"])])),r(U,{modelValue:o.row.isStaff,"onUpdate:modelValue":s[5]||(s[5]=a=>o.row.isStaff=a),label:"Is Staff"},null,8,["modelValue"]),r(U,{modelValue:o.row.isActive,"onUpdate:modelValue":s[6]||(s[6]=a=>o.row.isActive=a),label:"Is Active"},null,8,["modelValue"]),r(d,{modelValue:o.row.groups,"onUpdate:modelValue":s[7]||(s[7]=a=>o.row.groups=a),label:"Groups",objs:e.groups,"title-key":"name","group-type":""},null,8,["modelValue","objs"])])}const M=V(G,[["render",K]]),q={name:"AdminUsersTab",components:{AdminTable:z,AdminDeleteRowDialog:L,ChangePasswordDialog:Y,AdminCreateUpdateDialog:N,DateTimeColumn:O,RelationChips:B},data(){return{AdminUserCreateUpdateInputs:j(M),headers:[{title:"Username",key:"username",align:"start"},{title:"Staff",key:"isStaff"},{title:"Active",key:"isActive"},{title:"Groups",key:"groups"},{title:"Last Active",key:"lastActive"},{title:"Last Login",key:"lastLogin"},{title:"Joined",key:"dateJoined"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...c(p,{users:e=>e.users,groups:e=>e.groups}),...c(E,{me:e=>e.user})},mounted(){this.loadTables(["Group","User"])},methods:{...y(p,["loadTables"])}},H={class:"tabHeader"};function F(e,s,g,R,o,S){const d=i("AdminCreateUpdateDialog"),a=i("RelationChips"),w=i("DateTimeColumn"),T=i("ChangePasswordDialog"),_=i("AdminDeleteRowDialog"),P=i("AdminTable");return u(),b("div",null,[n("header",H,[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"max-width":"20em"},null,8,["inputs"])]),r(P,{"item-title":"username",headers:o.headers,items:e.users},{"no-data":l(()=>s[0]||(s[0]=[n("td",{class:"adminNoData",colspan:"100%"},[m(" No Users. "),n("div",null,[m(" This is an error. There should always be at least one Staff user."),n("br"),m(" You should not be able to see this page"),n("br"),m(" You should restart Codex with the CODEX_RESET_ADMIN=1 variable set."),n("br"),m(" See the "),n("a",{href:"https://github.com/ajslater/codex#reset-the-admin-password",target:"_blank"}," README ")])],-1)])),"item.isStaff":l(({item:t})=>[r(k,{"model-value":t.isStaff,disabled:""},null,8,["model-value"])]),"item.isActive":l(({item:t})=>[r(k,{"model-value":t.isActive,disabled:""},null,8,["model-value"])]),"item.groups":l(({item:t})=>[r(a,{pks:t.groups,objs:e.groups,"title-key":"name","group-type":""},null,8,["pks","objs"])]),"item.lastActive":l(({item:t})=>[r(w,{dttm:t.lastActive},null,8,["dttm"])]),"item.lastLogin":l(({item:t})=>[r(w,{dttm:t.lastLogin},null,8,["dttm"])]),"item.dateJoined":l(({item:t})=>[r(w,{dttm:t.dateJoined},null,8,["dttm"])]),"item.actions":l(({item:t})=>[r(d,{table:"User",inputs:o.AdminUserCreateUpdateInputs,"old-row":t,"max-width":"20em",size:"small",density:"compact"},null,8,["inputs","old-row"]),r(T,{user:t,"is-admin-mode":!0,size:"small",density:"compact"},null,8,["user"]),e.me.id!==t.pk?(u(),x(_,{key:0,table:"User",pk:t.pk,name:t.username,size:"small",density:"compact"},null,8,["pk","name"])):v("",!0)]),_:2},1032,["headers","items"])])}const pe=V(q,[["render",F]]);export{pe as default};