Merge branch 'master' of https://git.fet.at/bofh/fet2020
This commit is contained in:
@@ -30,12 +30,14 @@ class ep_api():
|
||||
|
||||
def getPadHTML(self, padID):
|
||||
self.get_epc()
|
||||
text=self.epc.getHTML(padID=self.group["groupID"] + "$" + padID)["html"]
|
||||
text = self.epc.getHTML(padID=self.group["groupID"] + "$" + padID)["html"]
|
||||
return text
|
||||
def setPadHTML(self, padID,html):
|
||||
|
||||
def setPadHTML(self, padID, html):
|
||||
self.get_epc()
|
||||
text=self.epc.setHTML(padID=self.group["groupID"] + "$" + padID, html=html)
|
||||
self.epc.setHTML(padID=self.group["groupID"] + "$" + padID, html=html)
|
||||
return html
|
||||
|
||||
def checkPadExists(self, padID=None):
|
||||
print(self.epc.listPads(groupID=self.group["groupID"]))
|
||||
if not padID:
|
||||
|
||||
@@ -88,7 +88,7 @@ class MyEventForm(MyPostForm):
|
||||
|
||||
|
||||
class MyFetMeetingForm(MyEventForm):
|
||||
#agenda_html = forms.CharField(widget = forms.TextInput())
|
||||
# agenda_html = forms.CharField(widget = forms.TextInput())
|
||||
class Meta:
|
||||
model = FetMeeting
|
||||
|
||||
|
||||
@@ -102,17 +102,16 @@ class Post(models.Model):
|
||||
def agenda_html(self):
|
||||
if not self.agenda_key:
|
||||
return None
|
||||
h=ep.getPadHTML(self.agenda_key)
|
||||
h = ep.getPadHTML(self.agenda_key)
|
||||
return h
|
||||
|
||||
@agenda_html.setter
|
||||
def agenda_html(self, value):
|
||||
request_logger.info("Accessing etherpad ...")
|
||||
h=ep.setPadHTML(self.agenda_key,value)
|
||||
ep.setPadHTML(self.agenda_key, value)
|
||||
request_logger.info("set etherpad!")
|
||||
return value
|
||||
|
||||
|
||||
@property
|
||||
def get_tagnames(self):
|
||||
return ["#%s" % t for t in self.tags.names()]
|
||||
@@ -156,16 +155,9 @@ class Post(models.Model):
|
||||
if not self.public_date:
|
||||
self.public_date = timezone.now()
|
||||
|
||||
if (self.id is None) and (not self.slug):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title)
|
||||
|
||||
if self.has_agenda:
|
||||
self.agenda_key = ep.createPadifNotExists(self.slug + "-agenda")
|
||||
|
||||
if self.has_protocol:
|
||||
self.protocol_key = ep.createPadifNotExists(self.slug + "-protocol")
|
||||
request_logger.info(self.post_type)
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
self.tags.set(
|
||||
@@ -178,7 +170,8 @@ class Post(models.Model):
|
||||
|
||||
|
||||
class PostSerializer(serializers.HyperlinkedModelSerializer):
|
||||
agenda_html=serializers.CharField()
|
||||
agenda_html = serializers.CharField()
|
||||
|
||||
class Meta:
|
||||
model = Post
|
||||
fields = [
|
||||
@@ -255,31 +248,54 @@ class FetMeeting(Event):
|
||||
verbose_name = "Fet Sitzung"
|
||||
verbose_name_plural = "Fet Sitzungen"
|
||||
|
||||
def __get_slug(self):
|
||||
self.slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
|
||||
|
||||
if Post.objects.filter(slug=self.slug).exists():
|
||||
if Post.objects.get(slug=self.slug).id != self.id:
|
||||
raise ValidationError(
|
||||
_('Es existiert bereits eine Sitzung mit demselben Datum.')
|
||||
)
|
||||
|
||||
def __get_agenda_key(self):
|
||||
try:
|
||||
self.agenda_key = ep.createPadifNotExists(self.slug + "-agenda")
|
||||
except Exception as e:
|
||||
raise ValidationError(
|
||||
_('Die Agenda konnte nicht erstellt werden. Error: %(error)s'),
|
||||
params={'error': str(e)},
|
||||
)
|
||||
|
||||
def __get_protocol_key(self):
|
||||
try:
|
||||
self.protocol_key = ep.createPadifNotExists(self.slug + "-protocol")
|
||||
except Exception as e:
|
||||
raise ValidationError(
|
||||
_('Das Protokoll konnte nicht erstellt werden. Error: %(error)s'),
|
||||
params={'error': str(e)},
|
||||
)
|
||||
|
||||
def clean(self):
|
||||
if self.event_start is None:
|
||||
raise ValidationError(_('Das Datum des Events fehlt.'))
|
||||
elif (self.event_end) and (self.event_end < self.event_start):
|
||||
raise ValidationError(_('Das Ende des Events liegt vor dem Beginn.'))
|
||||
|
||||
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
|
||||
if not self.slug:
|
||||
self.__get_slug()
|
||||
|
||||
if Post.objects.filter(slug=slug).exists():
|
||||
if Post.objects.get(slug=slug).id != self.id:
|
||||
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))
|
||||
if self.has_agenda:
|
||||
self.__get_agenda_key()
|
||||
|
||||
if self.has_protocol:
|
||||
self.__get_protocol_key()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.title = "Fachschaftssitzung"
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.event_start.date()) + "-" + slugify(self.title)
|
||||
self.body = "TODO: Agenda + Protokoll Link"
|
||||
|
||||
# TODO
|
||||
# self.image
|
||||
|
||||
# TODO
|
||||
# self.protocol_key
|
||||
# self.agenda_key
|
||||
|
||||
if not self.post_type:
|
||||
self.post_type = 'F'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user