14
14
from django.core.mail import send_mail
15
15
from django.contrib.sites.models import Site
17
18
class AddPostForm(forms.ModelForm):
18
19
name = forms.CharField(label=_('Subject'))
19
20
attachment = forms.FileField(label=_('Attachment'), required=False)
23
24
# Listing fields again to get the the right order; See also the NOCOMM
24
fields = ['name','body', 'markup', 'attachment',]
25
fields = ['name', 'body', 'markup', 'attachment', ]
26
27
def __init__(self, *args, **kwargs):
27
28
self.user = kwargs.pop('user', None)
29
30
self.forum = kwargs.pop('forum', None)
30
31
self.ip = kwargs.pop('ip', None)
31
32
super(AddPostForm, self).__init__(*args, **kwargs)
33
# NOCOMM: This doesn't work anymore with django 1.8 Use 'field_order' with django 1.9
34
self.fields.keyOrder = ['name',
34
# NOCOMM: This doesn't work anymore with django 1.8 Use 'field_order'
36
self.fields.keyOrder = ['name',
43
45
if not pybb_settings.ATTACHMENT_ENABLE:
44
46
self.fields['attachment'].widget = forms.HiddenInput()
45
47
self.fields['attachment'].required = False
48
49
def clean_attachment(self):
49
50
if self.cleaned_data['attachment']:
98
send(User.objects.all(), "forum_new_topic",
99
{'topic': topic, 'post':post, 'user':topic.user})
97
send(User.objects.all(), 'forum_new_topic',
98
{'topic': topic, 'post': post, 'user': topic.user})
101
send(self.topic.subscribers.all(), "forum_new_post",
102
{'post':post, 'topic':topic, 'user':post.user})
100
send(self.topic.subscribers.all(), 'forum_new_post',
101
{'post': post, 'topic': topic, 'user': post.user})
107
105
def save_attachment(self, post, memfile):
109
107
obj = Attachment(size=memfile.size, content_type=memfile.content_type,
110
108
name=memfile.name, post=post)
111
dir = os.path.join(settings.MEDIA_ROOT, pybb_settings.ATTACHMENT_UPLOAD_TO)
109
dir = os.path.join(settings.MEDIA_ROOT,
110
pybb_settings.ATTACHMENT_UPLOAD_TO)
112
111
fname = '%d.0' % post.id
113
112
path = os.path.join(dir, fname)
114
113
file(path, 'w').write(memfile.read())