punkweb-bb 0.5.0__py3-none-any.whl → 0.5.2__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.
Files changed (92) hide show
  1. punkweb_bb/__pycache__/__init__.cpython-313.pyc +0 -0
  2. punkweb_bb/__pycache__/admin.cpython-313.pyc +0 -0
  3. punkweb_bb/__pycache__/admin_forms.cpython-313.pyc +0 -0
  4. punkweb_bb/__pycache__/apps.cpython-313.pyc +0 -0
  5. punkweb_bb/__pycache__/bbcode.cpython-313.pyc +0 -0
  6. punkweb_bb/__pycache__/decorators.cpython-313.pyc +0 -0
  7. punkweb_bb/__pycache__/forms.cpython-313.pyc +0 -0
  8. punkweb_bb/__pycache__/guests.cpython-313.pyc +0 -0
  9. punkweb_bb/__pycache__/middleware.cpython-313.pyc +0 -0
  10. punkweb_bb/__pycache__/mixins.cpython-313.pyc +0 -0
  11. punkweb_bb/__pycache__/models.cpython-311.pyc +0 -0
  12. punkweb_bb/__pycache__/models.cpython-313.pyc +0 -0
  13. punkweb_bb/__pycache__/pagination.cpython-313.pyc +0 -0
  14. punkweb_bb/__pycache__/response.cpython-313.pyc +0 -0
  15. punkweb_bb/__pycache__/searching.cpython-313.pyc +0 -0
  16. punkweb_bb/__pycache__/settings.cpython-313.pyc +0 -0
  17. punkweb_bb/__pycache__/signals.cpython-313.pyc +0 -0
  18. punkweb_bb/__pycache__/tests.cpython-313.pyc +0 -0
  19. punkweb_bb/__pycache__/urls.cpython-313.pyc +0 -0
  20. punkweb_bb/__pycache__/utils.cpython-313.pyc +0 -0
  21. punkweb_bb/__pycache__/views.cpython-311.pyc +0 -0
  22. punkweb_bb/__pycache__/views.cpython-313.pyc +0 -0
  23. punkweb_bb/__pycache__/widgets.cpython-313.pyc +0 -0
  24. punkweb_bb/bbcode.py +16 -4
  25. punkweb_bb/migrations/0008_alter_groupstyle_username_style.py +18 -0
  26. punkweb_bb/migrations/__pycache__/0001_initial.cpython-313.pyc +0 -0
  27. punkweb_bb/migrations/__pycache__/0002_thread_view_count.cpython-313.pyc +0 -0
  28. punkweb_bb/migrations/__pycache__/0003_alter_thread_options.cpython-313.pyc +0 -0
  29. punkweb_bb/migrations/__pycache__/0004_groupstyle.cpython-313.pyc +0 -0
  30. punkweb_bb/migrations/__pycache__/0005_alter_thread_options.cpython-313.pyc +0 -0
  31. punkweb_bb/migrations/__pycache__/0006_remove_boardprofile__signature_rendered_and_more.cpython-313.pyc +0 -0
  32. punkweb_bb/migrations/__pycache__/0007_boardprofile_bio.cpython-313.pyc +0 -0
  33. punkweb_bb/migrations/__pycache__/0008_alter_groupstyle_username_style.cpython-311.pyc +0 -0
  34. punkweb_bb/migrations/__pycache__/0008_alter_groupstyle_username_style.cpython-313.pyc +0 -0
  35. punkweb_bb/migrations/__pycache__/0009_report.cpython-313.pyc +0 -0
  36. punkweb_bb/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  37. punkweb_bb/models.py +6 -3
  38. punkweb_bb/settings.py +2 -0
  39. punkweb_bb/static/punkweb_bb/css/bbcode-editor-content.css +4 -0
  40. punkweb_bb/static/punkweb_bb/css/members.css +6 -0
  41. punkweb_bb/static/punkweb_bb/css/punkweb.css +4 -0
  42. punkweb_bb/static/punkweb_bb/vendor/prism-duotone-sea.css +170 -0
  43. punkweb_bb/static/punkweb_bb/vendor/punkweb-ui.min.css +1 -1
  44. punkweb_bb/templates/punkweb_bb/base.html +84 -96
  45. punkweb_bb/templates/punkweb_bb/base_delete_dialog.html +13 -10
  46. punkweb_bb/templates/punkweb_bb/base_dialog.html +6 -6
  47. punkweb_bb/templates/punkweb_bb/bbcode.html +12 -14
  48. punkweb_bb/templates/punkweb_bb/category_create.html +26 -27
  49. punkweb_bb/templates/punkweb_bb/category_update.html +27 -30
  50. punkweb_bb/templates/punkweb_bb/components/pagination_controls.html +36 -44
  51. punkweb_bb/templates/punkweb_bb/components/profile_image.html +8 -8
  52. punkweb_bb/templates/punkweb_bb/forms/inline_form.html +5 -5
  53. punkweb_bb/templates/punkweb_bb/forms/stacked_form.html +35 -32
  54. punkweb_bb/templates/punkweb_bb/index.html +205 -211
  55. punkweb_bb/templates/punkweb_bb/login.html +24 -30
  56. punkweb_bb/templates/punkweb_bb/members.html +57 -61
  57. punkweb_bb/templates/punkweb_bb/partials/category_delete.html +3 -3
  58. punkweb_bb/templates/punkweb_bb/partials/post_delete.html +3 -3
  59. punkweb_bb/templates/punkweb_bb/partials/post_update.html +12 -11
  60. punkweb_bb/templates/punkweb_bb/partials/shout_delete.html +3 -3
  61. punkweb_bb/templates/punkweb_bb/partials/subcategory_delete.html +3 -3
  62. punkweb_bb/templates/punkweb_bb/partials/thread_delete.html +3 -3
  63. punkweb_bb/templates/punkweb_bb/partials/thread_move.html +13 -12
  64. punkweb_bb/templates/punkweb_bb/profile.html +73 -84
  65. punkweb_bb/templates/punkweb_bb/search.html +12 -16
  66. punkweb_bb/templates/punkweb_bb/settings.html +29 -36
  67. punkweb_bb/templates/punkweb_bb/shoutbox/shout_list.html +17 -19
  68. punkweb_bb/templates/punkweb_bb/shoutbox/shoutbox.html +18 -29
  69. punkweb_bb/templates/punkweb_bb/signup.html +24 -30
  70. punkweb_bb/templates/punkweb_bb/subcategory.html +114 -132
  71. punkweb_bb/templates/punkweb_bb/subcategory_create.html +32 -39
  72. punkweb_bb/templates/punkweb_bb/subcategory_update.html +33 -42
  73. punkweb_bb/templates/punkweb_bb/thread.html +207 -238
  74. punkweb_bb/templates/punkweb_bb/thread_create.html +36 -43
  75. punkweb_bb/templates/punkweb_bb/thread_update.html +36 -45
  76. punkweb_bb/templates/punkweb_bb/widgets/markdown-editor.html +3 -1
  77. punkweb_bb/templatetags/__pycache__/__init__.cpython-313.pyc +0 -0
  78. punkweb_bb/templatetags/__pycache__/can_delete.cpython-313.pyc +0 -0
  79. punkweb_bb/templatetags/__pycache__/can_edit.cpython-313.pyc +0 -0
  80. punkweb_bb/templatetags/__pycache__/can_post.cpython-313.pyc +0 -0
  81. punkweb_bb/templatetags/__pycache__/humanize_int.cpython-313.pyc +0 -0
  82. punkweb_bb/templatetags/__pycache__/punkweb_bb.cpython-313.pyc +0 -0
  83. punkweb_bb/templatetags/__pycache__/render.cpython-313.pyc +0 -0
  84. punkweb_bb/templatetags/__pycache__/styled_group_name.cpython-313.pyc +0 -0
  85. punkweb_bb/templatetags/__pycache__/styled_username.cpython-313.pyc +0 -0
  86. punkweb_bb/tests.py +21 -0
  87. punkweb_bb/views.py +27 -27
  88. {punkweb_bb-0.5.0.dist-info → punkweb_bb-0.5.2.dist-info}/METADATA +93 -37
  89. {punkweb_bb-0.5.0.dist-info → punkweb_bb-0.5.2.dist-info}/RECORD +92 -49
  90. {punkweb_bb-0.5.0.dist-info → punkweb_bb-0.5.2.dist-info}/WHEEL +1 -1
  91. {punkweb_bb-0.5.0.dist-info → punkweb_bb-0.5.2.dist-info/licenses}/LICENSE +0 -0
  92. {punkweb_bb-0.5.0.dist-info → punkweb_bb-0.5.2.dist-info}/top_level.txt +0 -0
@@ -1,146 +1,128 @@
1
1
  {% extends 'punkweb_bb/base.html' %}
2
- {% load static humanize_int can_post styled_username %}
3
2
 
4
- {% block title_prefix %}{{subcategory.name}} | {% endblock%}
5
- {% block og_title_prefix %}{{subcategory.name}} | {% endblock %}
3
+ {% load static humanize_int can_post styled_username %}
6
4
 
5
+ {% block title_prefix %}{{ subcategory.name }} |{% endblock %}
6
+ {% block og_title_prefix %}{{ subcategory.name }} |{% endblock %}
7
7
  {% block extra_head %}
8
- <link rel="stylesheet" href="{% static 'punkweb_bb/css/subcategory.css' %}" />
8
+ <link rel="stylesheet" href="{% static 'punkweb_bb/css/subcategory.css' %}" />
9
9
  {% endblock %}
10
-
11
10
  {% block content %}
12
-
13
- <nav>
14
- <ul class="pw-breadcrumb">
15
- <li class="pw-breadcrumb-item">
16
- <a href="{% url 'punkweb_bb:index' %}">Home</a>
17
- </li>
18
- <li class="pw-breadcrumb-item">
19
- <a href="{{subcategory.category.get_absolute_url}}">{{subcategory.category.name}}</a>
20
- </li>
21
- <li class="pw-breadcrumb-item active">
22
- {{subcategory.name}}
23
- </li>
24
- </ul>
25
- </nav>
26
-
27
- <div class="subcategory__header">
28
- <div class="subcategory__header__name">
29
- <h1>{{subcategory.name}}</h1>
30
- {% if perms.punkweb_bb.change_subcategory or perms.punkweb_bb.delete_subcategory %}
31
- <div class="subcategory__header__actions">
32
- {% if perms.punkweb_bb.change_subcategory %}
33
- <a
34
- class="pw-icon-button default rounded"
35
- href="{% url 'punkweb_bb:subcategory_update' subcategory.slug %}"
36
- title="Edit subcategory"
37
- >
38
- <span class="material-symbols-outlined">edit</span>
39
- </a>
40
- {% endif %}
41
- {% if perms.punkweb_bb.delete_subcategory %}
42
- <a
43
- class="pw-icon-button default rounded red"
44
- title="Delete subcategory"
45
- hx-get="{% url 'punkweb_bb:subcategory_delete' subcategory.slug %}"
46
- hx-target="#dialog-portal"
47
- >
48
- <span class="material-symbols-outlined">delete</span>
49
- </a>
11
+ <nav>
12
+ <ul class="pw-breadcrumb">
13
+ <li class="pw-breadcrumb-item">
14
+ <a href="{% url 'punkweb_bb:index' %}">Home</a>
15
+ </li>
16
+ <li class="pw-breadcrumb-item">
17
+ <a href="{{ subcategory.category.get_absolute_url }}">{{ subcategory.category.name }}</a>
18
+ </li>
19
+ <li class="pw-breadcrumb-item active">{{ subcategory.name }}</li>
20
+ </ul>
21
+ </nav>
22
+ <div class="subcategory__header">
23
+ <div class="subcategory__header__name">
24
+ <h1>{{ subcategory.name }}</h1>
25
+ {% if perms.punkweb_bb.change_subcategory or perms.punkweb_bb.delete_subcategory %}
26
+ <div class="subcategory__header__actions">
27
+ {% if perms.punkweb_bb.change_subcategory %}
28
+ <a class="pw-icon-button default rounded"
29
+ href="{% url 'punkweb_bb:subcategory_update' subcategory.slug %}"
30
+ title="Edit subcategory">
31
+ <span class="material-symbols-outlined">edit</span>
32
+ </a>
33
+ {% endif %}
34
+ {% if perms.punkweb_bb.delete_subcategory %}
35
+ <a class="pw-icon-button default rounded red"
36
+ title="Delete subcategory"
37
+ hx-get="{% url 'punkweb_bb:subcategory_delete' subcategory.slug %}"
38
+ hx-target="#dialog-portal">
39
+ <span class="material-symbols-outlined">delete</span>
40
+ </a>
41
+ {% endif %}
42
+ </div>
50
43
  {% endif %}
51
44
  </div>
45
+ {% if request.user.is_authenticated %}
46
+ {% if subcategory|can_post:request.user %}
47
+ <a class="pw-button ghost primary"
48
+ href="{% url 'punkweb_bb:thread_create' subcategory.slug %}">Create Thread</a>
49
+ {% else %}
50
+ <button class="pw-button ghost primary"
51
+ disabled
52
+ href="{% url 'punkweb_bb:thread_create' subcategory.slug %}"
53
+ title="You do not have permission to create a thread in this subcategory.">Create Thread</button>
54
+ {% endif %}
52
55
  {% endif %}
53
56
  </div>
57
+ <div class="pw-card fluid mb-4">
58
+ {% if threads|length > 0 %}
59
+ <div class="pw-table-container">
60
+ <table class="pw-table">
61
+ <colgroup>
62
+ <col />
63
+ <col width="96px" />
64
+ <col width="96px" />
65
+ <col width="192px" />
66
+ </colgroup>
67
+ <thead>
68
+ <tr>
69
+ <th>Title</th>
70
+ <th>Posts</th>
71
+ <th>Views</th>
72
+ <th></th>
73
+ </tr>
74
+ </thead>
75
+ <tbody>
76
+ {% for thread in threads %}
77
+ <tr>
78
+ <td>
79
+ <div class="thread__title">
80
+ <a href="{{ thread.get_absolute_url }}">{{ thread.title }}</a>
81
+ {% if thread.is_pinned %}<span class="material-symbols-outlined" title="Pinned">keep</span>{% endif %}
82
+ {% if thread.is_closed %}<span class="material-symbols-outlined" title="Closed">lock</span>{% endif %}
83
+ </div>
84
+ <div>
85
+ <a href="{% url 'punkweb_bb:profile' thread.user.id %}">{{ thread.user|styled_username }}</a>
86
+
87
+ <time datetime="{{ thread.created_at|date:'c' }}">{{ thread.created_at | date:'M j, Y' }}</time>
88
+ </td>
89
+ <td>{{ thread.post_count }}</td>
90
+ <td>{{ thread.view_count | humanize_int }}</td>
91
+ <td>
92
+ {% if thread.latest_post %}
93
+ <div class="thread__latestPost">
94
+ <div class="thread__latestPost__info">
95
+ <a class="thread__latestPost__info__title"
96
+ href="{{ thread.latest_post.get_absolute_url }}"
97
+ title="{{ thread.latest_post.title }}">
98
+ <time datetime="{{ thread.latest_post.created_at|date:'c' }}">
99
+ {{ thread.latest_post.created_at|date:'M j, Y' }}
100
+ </time>
101
+ </a>
102
+ <div>
103
+ <a href="{% url 'punkweb_bb:profile' thread.latest_post.user.id %}">{{ thread.latest_post.user|styled_username }}</a>
104
+ </div>
105
+ </div>
54
106
 
55
- {% if subcategory|can_post:request.user %}
56
- <a class="pw-button ghost primary" href="{% url 'punkweb_bb:thread_create' subcategory.slug %}">Create Thread</a>
57
- {% else %}
58
- <button
59
- class="pw-button ghost primary"
60
- disabled
61
- href="{% url 'punkweb_bb:thread_create' subcategory.slug %}"
62
- title="You do not have permission to create a thread in this subcategory."
63
- >
64
- Create Thread
65
- </button>
66
- {% endif %}
67
- </div>
68
-
69
- <div class="pw-card fluid mb-4">
107
+ {% include 'punkweb_bb/components/profile_image.html' with user=thread.latest_post.user %}
70
108
 
71
- {% if threads|length > 0 %}
72
- <div class="pw-table-container">
73
- <table class="pw-table">
74
- <colgroup>
75
- <col>
76
- <col width="96px">
77
- <col width="96px">
78
- <col width="192px">
79
- </colgroup>
80
- <thead>
81
- <tr>
82
- <th>Title</th>
83
- <th>Posts</th>
84
- <th>Views</th>
85
- <th></th>
86
- </tr>
87
- </thead>
88
- <tbody>
89
- {% for thread in threads %}
90
- <tr>
91
- <td>
92
- <div class="thread__title">
93
- <a href="{{thread.get_absolute_url}}">{{thread.title}}</a>
94
- {% if thread.is_pinned %}
95
- <span class="material-symbols-outlined" title="Pinned">keep</span>
96
- {% endif %}
97
- {% if thread.is_closed %}
98
- <span class="material-symbols-outlined" title="Closed">lock</span>
99
- {% endif %}
100
- </div>
101
- <div>
102
- <a href="{% url 'punkweb_bb:profile' thread.user.id %}">
103
- {{thread.user|styled_username}}
104
- </a>
105
-
106
- <time datetime="{{thread.created_at|date:'c'}}">{{thread.created_at | date:'M j, Y'}}</time>
107
- </td>
108
- <td>{{thread.post_count}}</td>
109
- <td>{{thread.view_count | humanize_int}}</td>
110
- <td>
111
- {% if thread.latest_post %}
112
- <div class="thread__latestPost">
113
- <div class="thread__latestPost__info">
114
- <a class="thread__latestPost__info__title" href="{{ thread.latest_post.get_absolute_url }}"
115
- title="{{thread.latest_post.title}}">
116
- <time datetime="{{thread.latest_post.created_at|date:'c'}}">
117
- {{thread.latest_post.created_at|date:'M j, Y'}}
118
- </time>
119
- </a>
120
- <div>
121
- <a href="{% url 'punkweb_bb:profile' thread.latest_post.user.id %}">
122
- {{thread.latest_post.user|styled_username}}
123
- </a>
124
- </div>
125
- </div>
126
- {% include 'punkweb_bb/components/profile_image.html' with user=thread.latest_post.user %}
127
- </div>
128
- {% else %}
129
- No posts
130
- {% endif %}
131
- </td>
132
- </tr>
133
- {% endfor %}
134
- </tbody>
135
- </table>
136
- </div>
137
- {% else %}
138
- <div class="pw-card-content">
139
- <p>No threads have been created in this subcategory yet.</p>
140
- </div>
141
- {% endif %}
142
- </div>
109
+ </div>
110
+ {% else %}
111
+ No posts
112
+ {% endif %}
113
+ </td>
114
+ </tr>
115
+ {% endfor %}
116
+ </tbody>
117
+ </table>
118
+ </div>
119
+ {% else %}
120
+ <div class="pw-card-content">
121
+ <p>No threads have been created in this subcategory yet.</p>
122
+ </div>
123
+ {% endif %}
124
+ </div>
143
125
 
144
- {% include 'punkweb_bb/components/pagination_controls.html' with paginator=threads %}
126
+ {% include 'punkweb_bb/components/pagination_controls.html' with paginator=threads %}
145
127
 
146
- {% endblock %}
128
+ {% endblock %}
@@ -1,44 +1,37 @@
1
1
  {% extends 'punkweb_bb/base.html' %}
2
- {% load static %}
3
-
4
- {% block title_prefix %}Create Subcategory | {% endblock %}
5
2
 
6
- {% block extra_head %}
7
- {{form.media.css}}
8
- {% endblock %}
9
-
10
- {% block extra_script %}
11
- {{form.media.js}}
12
- {% endblock %}
3
+ {% load static %}
13
4
 
5
+ {% block title_prefix %}Create Subcategory |{% endblock %}
6
+ {% block extra_head %}{{ form.media.css }}{% endblock %}
7
+ {% block extra_script %}{{ form.media.js }}{% endblock %}
14
8
  {% block content %}
15
-
16
- <nav>
17
- <ul class="pw-breadcrumb">
18
- <li class="pw-breadcrumb-item">
19
- <a href="{% url 'punkweb_bb:index' %}">Home</a>
20
- </li>
21
- <li class="pw-breadcrumb-item">
22
- <a href="{{category.get_absolute_url}}">{{category.name}}</a>
23
- </li>
24
- <li class="pw-breadcrumb-item active">
25
- Create Subcategory
26
- </li>
27
- </ul>
28
- </nav>
29
-
30
- <div class="pw-card fluid">
31
- <div class="pw-card-header">Create Subcategory</div>
32
- <div class="pw-card-content">
33
- <form class="pw-form" action="{% url 'punkweb_bb:subcategory_create' category.slug %}" method="post">
34
- {% csrf_token %}
35
- {{ form }}
36
- <div class="pw-form-actions end">
37
- <a class="pw-button default" href="{% url 'punkweb_bb:index' %}" type="submit">Cancel</a>
38
- <button class="pw-button raised primary" type="submit">Create</button>
39
- </div>
40
- </form>
9
+ <nav>
10
+ <ul class="pw-breadcrumb">
11
+ <li class="pw-breadcrumb-item">
12
+ <a href="{% url 'punkweb_bb:index' %}">Home</a>
13
+ </li>
14
+ <li class="pw-breadcrumb-item">
15
+ <a href="{{ category.get_absolute_url }}">{{ category.name }}</a>
16
+ </li>
17
+ <li class="pw-breadcrumb-item active">Create Subcategory</li>
18
+ </ul>
19
+ </nav>
20
+ <div class="pw-card fluid">
21
+ <div class="pw-card-header">Create Subcategory</div>
22
+ <div class="pw-card-content">
23
+ <form class="pw-form"
24
+ action="{% url 'punkweb_bb:subcategory_create' category.slug %}"
25
+ method="post">
26
+ {% csrf_token %}
27
+ {{ form }}
28
+ <div class="pw-form-actions end">
29
+ <a class="pw-button default"
30
+ href="{% url 'punkweb_bb:index' %}"
31
+ type="submit">Cancel</a>
32
+ <button class="pw-button raised primary" type="submit">Create</button>
33
+ </div>
34
+ </form>
35
+ </div>
41
36
  </div>
42
- </div>
43
-
44
- {% endblock %}
37
+ {% endblock %}
@@ -1,47 +1,38 @@
1
1
  {% extends 'punkweb_bb/base.html' %}
2
- {% load static %}
3
-
4
- {% block title_prefix %}Edit Subcategory | {% endblock %}
5
2
 
6
- {% block extra_head %}
7
- {{form.media.css}}
8
- {% endblock %}
9
-
10
- {% block extra_script %}
11
- {{form.media.js}}
12
- {% endblock %}
3
+ {% load static %}
13
4
 
5
+ {% block title_prefix %}Edit Subcategory |{% endblock %}
6
+ {% block extra_head %}{{ form.media.css }}{% endblock %}
7
+ {% block extra_script %}{{ form.media.js }}{% endblock %}
14
8
  {% block content %}
15
-
16
- <nav>
17
- <ul class="pw-breadcrumb">
18
- <li class="pw-breadcrumb-item">
19
- <a href="{% url 'punkweb_bb:index' %}">Home</a>
20
- </li>
21
- <li class="pw-breadcrumb-item">
22
- <a href="{{subcategory.category.get_absolute_url}}">{{subcategory.category.name}}</a>
23
- </li>
24
- <li class="pw-breadcrumb-item">
25
- <a href="{{subcategory.get_absolute_url}}">{{subcategory.name}}</a>
26
- </li>
27
- <li class="pw-breadcrumb-item active">
28
- Edit
29
- </li>
30
- </ul>
31
- </nav>
32
-
33
- <div class="pw-card fluid">
34
- <div class="pw-card-header">Edit Subcategory</div>
35
- <div class="pw-card-content">
36
- <form class="pw-form" action="{% url 'punkweb_bb:subcategory_update' subcategory.slug %}" method="post">
37
- {% csrf_token %}
38
- {{ form }}
39
- <div class="pw-form-actions end">
40
- <a class="pw-button default" href="{{subcategory.get_absolute_url}}">Cancel</a>
41
- <button class="pw-button raised primary" type="submit">Save</button>
42
- </div>
43
- </form>
9
+ <nav>
10
+ <ul class="pw-breadcrumb">
11
+ <li class="pw-breadcrumb-item">
12
+ <a href="{% url 'punkweb_bb:index' %}">Home</a>
13
+ </li>
14
+ <li class="pw-breadcrumb-item">
15
+ <a href="{{ subcategory.category.get_absolute_url }}">{{ subcategory.category.name }}</a>
16
+ </li>
17
+ <li class="pw-breadcrumb-item">
18
+ <a href="{{ subcategory.get_absolute_url }}">{{ subcategory.name }}</a>
19
+ </li>
20
+ <li class="pw-breadcrumb-item active">Edit</li>
21
+ </ul>
22
+ </nav>
23
+ <div class="pw-card fluid">
24
+ <div class="pw-card-header">Edit Subcategory</div>
25
+ <div class="pw-card-content">
26
+ <form class="pw-form"
27
+ action="{% url 'punkweb_bb:subcategory_update' subcategory.slug %}"
28
+ method="post">
29
+ {% csrf_token %}
30
+ {{ form }}
31
+ <div class="pw-form-actions end">
32
+ <a class="pw-button default" href="{{ subcategory.get_absolute_url }}">Cancel</a>
33
+ <button class="pw-button raised primary" type="submit">Save</button>
34
+ </div>
35
+ </form>
36
+ </div>
44
37
  </div>
45
- </div>
46
-
47
- {% endblock %}
38
+ {% endblock %}