|
@@ -1,10 +1,10 @@
|
|
-from misago.threads.forms.reply import ThreadPrefixForm
|
|
|
|
|
|
+from misago.threads.forms.posting import ThreadPrefixForm
|
|
from misago.threads.posting import PostingMiddleware
|
|
from misago.threads.posting import PostingMiddleware
|
|
|
|
|
|
|
|
|
|
class ThreadPrefixFormMiddleware(PostingMiddleware):
|
|
class ThreadPrefixFormMiddleware(PostingMiddleware):
|
|
def use_this_middleware(self):
|
|
def use_this_middleware(self):
|
|
- if self.forum.acl['can_change_threads_weight'] and self.forum.prefixes:
|
|
|
|
|
|
+ if self.forum.acl['can_change_threads_prefix'] and self.forum.prefixes:
|
|
self.thread_prefix_id = self.thread.prefix_id
|
|
self.thread_prefix_id = self.thread.prefix_id
|
|
return True
|
|
return True
|
|
else:
|
|
else:
|
|
@@ -12,12 +12,19 @@ class ThreadPrefixFormMiddleware(PostingMiddleware):
|
|
|
|
|
|
def make_form(self):
|
|
def make_form(self):
|
|
if self.request.method == 'POST':
|
|
if self.request.method == 'POST':
|
|
- return ThreadPrefixForm(self.request.POST, prefix=self.prefix)
|
|
|
|
|
|
+ return ThreadPrefixForm(self.request.POST, prefix=self.prefix,
|
|
|
|
+ prefixes=self.forum.prefixes)
|
|
else:
|
|
else:
|
|
initial = {'prefix_id': self.thread_prefix_id}
|
|
initial = {'prefix_id': self.thread_prefix_id}
|
|
- return ThreadPrefixForm(prefix=self.prefix, initial=initial)
|
|
|
|
|
|
+ return ThreadPrefixForm(prefix=self.prefix,
|
|
|
|
+ prefixes=self.forum.prefixes,
|
|
|
|
+ initial=initial)
|
|
|
|
|
|
def pre_save(self, form):
|
|
def pre_save(self, form):
|
|
if self.thread_prefix_id != form.cleaned_data.get('prefix'):
|
|
if self.thread_prefix_id != form.cleaned_data.get('prefix'):
|
|
- self.thread.prefix_id = form.cleaned_data.get('prefix')
|
|
|
|
- self.thread.update_fields.append('prefix')
|
|
|
|
|
|
+ if form.cleaned_data.get('prefix'):
|
|
|
|
+ self.thread.prefix_id = form.cleaned_data.get('prefix')
|
|
|
|
+ self.thread.update_fields.append('prefix')
|
|
|
|
+ else:
|
|
|
|
+ self.thread.prefix = None
|
|
|
|
+ self.thread.update_fields.append('prefix')
|