def update(self): FormWrapper.update(self) if 'redmine_task_form.buttons.create' not in self.request.form: # Shows zimbra form only if redmine was not chosen self.zimbra.update() if 'zimbra_task_form.buttons.create' not in self.request.form: # Shows redmine form only if zimbra was not chosen self.redmine.update()
def update(self): super(EtherpadEditView, self).update() if self.field is None: self.field = self.getEtherpadField() if self.form_instance is None: self.form_instance = self.form_instance_class( aq_inner(self.context), self.request ) self.form_instance.__name__ = self.__name__ self.form_instance.etherpad = self.etherpad self.form_instance.padID = self.padID self.form_instance.field = self.field FormWrapper.update(self)
def update(self): BaseView.update(self) FormWrapper.update(self)
def update(self): if self.portal_state is None: self.portal_state = component.getMultiAdapter( (self.context, self.request), name=u'plone_portal_state') if self.portal_registry is None: self.portal_registry = component.getUtility(IRegistry) if self.embed_settings is None: self.embed_settings = {} registry = self.portal_registry self.embed_settings = registry.forInterface(EtherpadEmbedSettings) if self.etherpad_settings is None: registry = self.portal_registry self.etherpad_settings = registry.forInterface(EtherpadSettings) if self.etherpad is None: self.etherpad = HTTPAPI(self.context, self.request) self.etherpad.checkToken() if self.field is None: self.field = self.getEtherpadField() if self.padName is None: self.padName = IUUID(self.context) logger.debug('set padName to %s' % self.padName) #Portal maps the internal userid to an etherpad author. if self.authorMapper is None: mt = getToolByName(self.context, 'portal_membership') member = mt.getAuthenticatedMember() if member is not None: self.authorMapper = member.getId() if self.authorName is None: self.authorName = member.getProperty("fullname") if self.authorID is None: author = self.etherpad.createAuthorIfNotExistsFor( authorMapper=self.authorMapper, name=self.authorName) if author: self.authorID = author['authorID'] #Portal maps the internal userid to an etherpad group: if self.groupMapper is None: self.groupMapper = self.padName if self.groupID is None: group = self.etherpad.createGroupIfNotExistsFor( groupMapper=self.groupMapper) if group: self.groupID = group['groupID'] #Portal creates a pad in the userGroup if self.padID is None: self.padID = '%s$%s' % (self.groupID, self.padName) self.etherpad.createGroupPad( groupID=self.groupID, padName=self.padName, text=self.context.Description(), ) #Portal starts the session for the user on the group: if not self.validUntil: #24 hours in unix timestamp in seconds self.validUntil = str(int(time.time() + 24 * 60 * 60)) if not self.sessionID: session = self.etherpad.createSession(groupID=self.groupID, authorID=self.authorID, validUntil=self.validUntil) if session: self.sessionID = session['sessionID'] self._addSessionCookie() if self.etherpad_iframe_url is None: #TODO: made this configuration with language and stuff url = self.portal_state.portal_url() basepath = self.etherpad_settings.basepath query = {} # self.embed_settings # TODO: as dict for field in schema.getFields(EtherpadEmbedSettings): value = getattr(self.embed_settings, field) if value is not None: query[field] = value query['lang'] = self.portal_state.language() equery = urlencode(query) equery = equery.replace('True', 'true').replace('False', 'false') url = "%s%sp/%s?%s" % (url, basepath, self.padID, equery) self.etherpad_iframe_url = url if self.form_instance is None: self.form_instance = self.form_instance_class( aq_inner(self.context), self.request) self.form_instance.__name__ = self.__name__ self.form_instance.etherpad = self.etherpad self.form_instance.padID = self.padID self.form_instance.field = self.field FormWrapper.update(self)
def update(self): if self.portal_state is None: self.portal_state = component.getMultiAdapter( (self.context, self.request), name=u'plone_portal_state' ) if self.portal_registry is None: self.portal_registry = component.getUtility(IRegistry) if self.embed_settings is None: self.embed_settings = {} registry = self.portal_registry self.embed_settings = registry.forInterface(EtherpadEmbedSettings) if self.etherpad_settings is None: registry = self.portal_registry self.etherpad_settings = registry.forInterface(EtherpadSettings) if self.etherpad is None: self.etherpad = HTTPAPI(self.context, self.request) self.etherpad.checkToken() if self.field is None: self.field = self.getEtherpadField() if self.padName is None: self.padName = IUUID(self.context) logger.debug('set padName to %s' % self.padName) #Portal maps the internal userid to an etherpad author. if self.authorMapper is None: mt = getToolByName(self.context, 'portal_membership') member = mt.getAuthenticatedMember() if member is not None: self.authorMapper = member.getId() if self.authorName is None: self.authorName = member.getProperty("fullname") if self.authorID is None: author = self.etherpad.createAuthorIfNotExistsFor( authorMapper=self.authorMapper, name=self.authorName ) if author: self.authorID = author['authorID'] #Portal maps the internal userid to an etherpad group: if self.groupMapper is None: self.groupMapper = self.padName if self.groupID is None: group = self.etherpad.createGroupIfNotExistsFor( groupMapper=self.groupMapper ) if group: self.groupID = group['groupID'] #Portal creates a pad in the userGroup if self.padID is None: self.padID = '%s$%s' % (self.groupID, self.padName) self.etherpad.createGroupPad( groupID=self.groupID, padName=self.padName, text=self.context.Description(), ) #Portal starts the session for the user on the group: if not self.validUntil: #24 hours in unix timestamp in seconds self.validUntil = str(int(time.time() + 24 * 60 * 60)) if not self.sessionID: session = self.etherpad.createSession( groupID=self.groupID, authorID=self.authorID, validUntil=self.validUntil ) if session: self.sessionID = session['sessionID'] self._addSessionCookie() if self.etherpad_iframe_url is None: #TODO: made this configuration with language and stuff url = self.portal_state.portal_url() basepath = self.etherpad_settings.basepath query = {} # self.embed_settings # TODO: as dict for field in schema.getFields(EtherpadEmbedSettings): value = getattr(self.embed_settings, field) if value is not None: query[field] = value query['lang'] = self.portal_state.language() equery = urlencode(query) equery = equery.replace('True', 'true').replace('False', 'false') url = "%s%sp/%s?%s" % (url, basepath, self.padID, equery) self.etherpad_iframe_url = url if self.form_instance is None: self.form_instance = self.form_instance_class( aq_inner(self.context), self.request ) self.form_instance.__name__ = self.__name__ self.form_instance.etherpad = self.etherpad self.form_instance.padID = self.padID self.form_instance.field = self.field FormWrapper.update(self)