def getVars( self ): ########### #variables# ########### vars = wcomponents.WTemplated.getVars(self) mode = vars.get("mode","") #actual mode (add, edit, ...) error = vars.get("error","") #error message questionType = vars.get("type","") #which question type is selected questionPos = int(vars.get("questionPos",-1)) #position of selected question, used when mode is EDIT. ########### #left menu# ########### self._leftMenu(questionType, vars) ###### #main# ###### if mode==Question._ADD: if questionType not in Question._QUESTION_SUBTYPES: raise FormValuesError( _("Unknown question type !"), _("Evaluation")) vars["main"] = WConfModifEvaluationEditQuestion(self._conf, mode, error, questionType, None).getHTML() elif mode==Question._EDIT: question = self._conf.getEvaluation().getQuestionAt(questionPos) if question == None: raise FormValuesError( _("No question found at the given position!"), _("Evaluation")) else: questionType = question.getTypeName() vars["main"] = WConfModifEvaluationEditQuestion(self._conf, mode, error, questionType, question).getHTML() else: #When no mode is selected, by default it shows the global view of questions. vars["main"] = "" for q in self._conf.getEvaluation().getQuestions(): vars["main"] += str(WConfModifEvaluationEditQuestionView(q).getHTML()) return vars
def _checkParams( self, params ): RHAbstractModifBase._checkParams(self, params) self._action = "" self._answers = [] if params.has_key("OK"): self._action = "GO" conf=self._target.getConference() self._track = conf.getTrackById(params.get("track","")) if self._track is None: raise FormValuesError( _("You have to choose a track in order to do the proposal. If there are not tracks to select, please change the track assignment of the abstract from its management page")) self._contribType = self._conf.getContribTypeById(params.get("contribType","")) self._comment = params.get("comment","") scaleLower = conf.getConfAbstractReview().getScaleLower() scaleHigher = conf.getConfAbstractReview().getScaleHigher() numberOfAnswers = conf.getConfAbstractReview().getNumberOfAnswers() c = 0 for question in conf.getConfAbstractReview().getReviewingQuestions(): c += 1 if not params.has_key("RB_"+str(c)): raise FormValuesError(_("Please, reply to all the reviewing questions. Question \"%s\" is missing the answer.")%question.getText()) rbValue = int(params.get("RB_"+str(c),scaleLower)) newId = conf.getConfAbstractReview().getNewAnswerId() newAnswer = Answer(newId, rbValue, numberOfAnswers, question) newAnswer.calculateRatingValue(scaleLower, scaleHigher) self._answers.append(newAnswer) elif params.has_key("CANCEL"): self._action="CANCEL"
def _process(self): canManageRegistration = self._conf.canManageRegistration(self._getUser()) if not canManageRegistration and not self._regForm.isActivated(): p = registrationForm.WPRegFormInactive(self, self._conf) return p.display() params = self._getRequestParams() email = self._regForm.getPersonalData().getValueFromParams(params, 'email') if email is None: raise FormValuesError(_("An email address has to be set in order to make the registration in the event.")) elif not validMail(email, False): raise FormValuesError(_("The given email address is not valid.")) matchedUsers = AvatarHolder().match({"email": email}, exact=1) if matchedUsers: user = matchedUsers[0] else: user = None # Check if the user can register if not canManageRegistration: # normal user registering. Managers can. if self._conf.getRegistrationForm().isFull(): self._redirect(urlHandlers.UHConfRegistrationFormDisplay.getURL(self._conf)) return elif not self._conf.getRegistrationForm().inRegistrationPeriod(): flash(_("Your registration couldn't be recorded."), 'error') return redirect(url_for('event.confRegistrationFormDisplay', self._conf)) if user is None: if self._conf.hasRegistrantByEmail(email): raise FormValuesError("There is already a user with the email \"%s\". Please choose another one" % email) else: if user.isRegisteredInConf(self._conf) or self._conf.hasRegistrantByEmail(email): if canManageRegistration: raise FormValuesError("There is already a user with the email \"%s\". Please choose another one" % email) else: raise FormValuesError("You have already registered with the email address \"%s\". If you need to modify your registration, please contact the managers of the conference." % email) rp = registration.Registrant() self._conf.addRegistrant(rp, user) rp.setValues(self._getRequestParams(), user) if user is not None: user.addRegistrant(rp) rp.setAvatar(user) notify_registration_confirmation(self._conf, rp) if canManageRegistration and user != self._getUser(): self._redirect(RHRegistrantListModif._uh.getURL(self._conf)) else: params = {} if not rp.doPay() or not payment_event_settings.get(self._conf, 'enabled'): flash(_(u"Your registration has been recorded successfully."), 'success') if not session.avatar: params.update(rp.getLocator(), **{'authkey': rp.getRandomId()}) else: params.update(self._conf.getLocator()) return redirect(url_for('event.confRegistrationFormDisplay', **params))
def _process( self ): canManageRegistration = self._conf.canManageRegistration(self._getUser()) if not canManageRegistration and not self._regForm.isActivated(): p = registrationForm.WPRegFormInactive( self, self._conf ) return p.display() params = self._getRequestParams() email = self._regForm.getPersonalData().getValueFromParams(params, 'email') if email is None: raise FormValuesError(_("An email address has to be set in order to make the registration in the event.")) elif not validMail(email, False): raise FormValuesError(_("The given email address is not valid.")) matchedUsers = AvatarHolder().match({"email": email}, exact=1) if matchedUsers: user = matchedUsers[0] else: user = None # Check if the user can register if not canManageRegistration: # normal user registering. Managers can. if self._conf.getRegistrationForm().isFull(): self._redirect(urlHandlers.UHConfRegistrationFormDisplay.getURL(self._conf)) return elif not self._conf.getRegistrationForm().inRegistrationPeriod(): p = registrationForm.WPRegistrationFormClosed(self, self._conf) return p.display() if user is None: if self._conf.hasRegistrantByEmail(email): raise FormValuesError("There is already a user with the email \"%s\". Please choose another one"%email) else: if user.isRegisteredInConf(self._conf): self._redirect(urlHandlers.UHConfRegistrationForm.getURL(self._conf)) return if self._conf.hasRegistrantByEmail(email): if canManageRegistration: raise FormValuesError("There is already a user with the email \"%s\". Please choose another one"%email) else: raise FormValuesError("You have already registered with the email address \"%s\". If you need to modify your registration, please contact the managers of the conference."%email) rp = registration.Registrant() self._conf.addRegistrant(rp) rp.setValues(self._getRequestParams(), user) rp.setSessionBillingEnabled(self._regForm.getSessionsForm().getType() != "2priorities") if user is not None: user.addRegistrant(rp) rp.setAvatar(user) # avoid multiple sending in case of db conflict email = self._regForm.getNotification().createEmailNewRegistrant(self._regForm, rp) if email: GenericMailer.send(email) if not canManageRegistration: self._redirect(urlHandlers.UHConfRegistrationFormCreationDone.getURL(rp)) else: self._redirect(RHRegistrantListModif._uh.getURL(self._conf))
class RHRegistrationFormModifPerformDataModification( RHRegistrationFormModifBase): def _checkParams(self, params): RHRegistrationFormModifBase._checkParams(self, params) self._cancel = params.has_key("cancel") try: self._extraTimeAmount = int(params.get("extraTimeAmount")) except ValueError: raise FormValuesError( _("The extra allowed time amount is not a valid integer number!" )) self._extraTimeUnit = params.get("extraTimeUnit") if self._extraTimeUnit not in ['days', 'weeks']: raise FormValuesError( _("The extra allowed time unit is not valid!")) def _process(self): if not self._cancel: regForm = self._conf.getRegistrationForm() params = self._getRequestParams() try: sDate = datetime( int( params["sYear"] ), \ int( params["sMonth"] ), \ int( params["sDay"] ) ) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "RegistrationForm") try: eDate = datetime( int( params["eYear"] ), \ int( params["eMonth"] ), \ int( params["eDay"] ) ) except ValueError, e: raise FormValuesError( "The end date you have entered is not correct: %s" % e, "RegistrationForm") if eDate < sDate: raise FormValuesError("End date can't be before start date!", "RegistrationForm") try: meDate = None if params["meYear"] or params["meMonth"] or params["meDay"]: meDate = datetime( int( params["meYear"] ), \ int( params["meMonth"] ), \ int( params["meDay"] ) ) except ValueError, e: raise FormValuesError( "The modification end date you have entered is not correct: %s" % e, "RegistrationForm")
def _checkParams(self, params): RHRegistrationFormModifBase._checkParams(self, params) self._cancel = params.has_key("cancel") try: self._extraTimeAmount = int(params.get("extraTimeAmount")) except ValueError: raise FormValuesError( _("The extra allowed time amount is not a valid integer number!" )) self._extraTimeUnit = params.get("extraTimeUnit") if self._extraTimeUnit not in ['days', 'weeks']: raise FormValuesError( _("The extra allowed time unit is not valid!"))
def _checkParams(self, params): RHConferenceModifBase._checkParams(self, params) self._date = datetime.today() self._cloneType = params.get("cloneType", None) if self._cloneType is None: raise FormValuesError( _("""Please choose a cloning interval for this event""")) elif self._cloneType == "once": self._date = datetime( int(params["stdyo"]), \ int(params["stdmo"]), \ int(params["stddo"]), \ int(self._conf.getAdjustedStartDate().hour), \ int(self._conf.getAdjustedStartDate().minute) ) elif self._cloneType == "intervals": self._date = datetime( int(params["indyi"]), \ int(params["indmi"]), \ int(params["inddi"]), \ int(self._conf.getAdjustedStartDate().hour), \ int(self._conf.getAdjustedStartDate().minute) ) elif self._cloneType == "days": self._date = datetime( int(params["indyd"]), \ int(params["indmd"]), \ int(params["inddd"]), \ int(self._conf.getAdjustedStartDate().hour), \ int(self._conf.getAdjustedStartDate().minute) ) self._confirm = params.has_key("confirm") self._cancel = params.has_key("cancel")
def _checkParams(self, params): RHCategModifBase._checkParams(self, params) self._emailList = params.get("notifyCreationList", "") if self._emailList.strip() != "" and not validMail(self._emailList): raise FormValuesError( _("The email list contains invalid e-mail addresses or invalid separator" ))
def _checkParams(self, params): RHTrackAbstractBase._checkParams(self, params) self._action = "" self._comment = params.get("comment", "") self._answers = [] if params.has_key("OK"): self._action = "GO" # get answers and make the list scaleLower = self._target.getConference().getConfAbstractReview( ).getScaleLower() scaleHigher = self._target.getConference().getConfAbstractReview( ).getScaleHigher() numberOfAnswers = self._target.getConference( ).getConfAbstractReview().getNumberOfAnswers() c = 0 for question in self._target.getConference().getConfAbstractReview( ).getReviewingQuestions(): c += 1 if not params.has_key("RB_" + str(c)): raise FormValuesError( _("Please, reply to all the reviewing questions. Question \"%s\" is missing the answer." ) % question.getText()) rbValue = int(params.get("RB_" + str(c), scaleLower)) newId = self._target.getConference().getConfAbstractReview( ).getNewAnswerId() newAnswer = Answer(newId, rbValue, numberOfAnswers, question) newAnswer.calculateRatingValue(scaleLower, scaleHigher) self._answers.append(newAnswer) elif params.has_key("CANCEL"): self._action = "CANCEL"
def _createEvent(self, params): kwargs = UtilsConference.get_new_conference_kwargs(self._params) if kwargs['start_dt'] >= kwargs['end_dt']: raise FormValuesError( _('The start date cannot be after the end date.')) c = self._target.newConference(self._getUser(), **kwargs) UtilsConference.setValues(c, self._params) if self._wf: self._wfReg.registerFactory(c, self._wf) eventAccessProtection = params.get("eventProtection", "inherit") if eventAccessProtection == "private": c.getAccessController().setProtection(1) elif eventAccessProtection == "public": c.getAccessController().setProtection(-1) allowedAvatars = self._getPersons() UtilPersons.addToConf(allowedAvatars, c) # Add EventPersonLinks to the Event person_links = self.get_event_person_links_data(c.as_event) update_event(c.as_event, {'person_link_data': person_links}) return c
def setValues(c, confData, notify=False): from MaKaC.webinterface.common.tools import escape_tags_short_url c.setTitle(confData["title"]) c.setDescription(confData["description"]) c.setOrgText(confData.get("orgText", "")) c.setComments(confData.get("comments", "")) c.setKeywords(confData["keywords"]) c.setChairmanText(confData.get("chairText", "")) if "shortURLTag" in confData.keys(): tag = confData["shortURLTag"].strip() tag = escape_tags_short_url(tag) if c.getUrlTag() != tag: from MaKaC.common.url import ShortURLMapper sum = ShortURLMapper() sum.remove(c) c.setUrlTag(tag) if tag: sum.add(tag, c) c.setContactInfo(confData.get("contactInfo", "")) ################################# # Fermi timezone awareness # ################################# c.setTimezone(confData["Timezone"]) tz = confData["Timezone"] try: sDate = timezone(tz).localize(datetime(int(confData["sYear"]), \ int(confData["sMonth"]), \ int(confData["sDay"]), \ int(confData["sHour"]), \ int(confData[ "sMinute"]))) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "Event")
def _process(self): if self._getUser() is not None and self._getUser().isRegisteredInConf( self._conf): if not self._conf.getRegistrationForm().inRegistrationPeriod( ) and not self._conf.getRegistrationForm().inModificationPeriod(): p = registrationForm.WPRegistrationFormClosed(self, self._conf) return p.display() else: rp = self._getUser().getRegistrantById(self._conf.getId()) # check if the email is being changed by another one that already exists if self._getRequestParams().get("email", "") != rp.getEmail( ) and self._conf.hasRegistrantByEmail( self._getRequestParams().get("email", "")): raise FormValuesError( _("There is already a user with the email \"%s\". Please choose another one" ) % self._getRequestParams().get("email", "--no email--")) rp.setValues(self._getRequestParams(), self._getUser()) self._regForm.getNotification( ).sendEmailModificationRegistrant(self._regForm, rp) if rp.doPay(): self._redirect( urlHandlers.UHConfRegistrationFormCreationDone.getURL( rp)) else: self._redirect( urlHandlers.UHConfRegistrationForm.getURL(self._conf)) else: self._redirect( urlHandlers.UHConfRegistrationForm.getURL(self._conf))
def _userShouldBeLoggedIn(self): """Strange error: the logged user is no more logged in...""" raise FormValuesError( """Something strange happened here: you are supposed to be logged in.<br/><br/> What I can suggest you to keep your modifications is to open a new window and log in to your indico account.<br/> Then back to this windows, "Go Back" to the previous page and save your changes. """, "Evaluation")
def _checkParams( self, params ): RHRegistrantModifBase._checkParams(self, params) self._cancel = params.has_key("cancel") if not self._cancel: self._regForm = self._conf.getRegistrationForm() if not self._regForm.getAccommodationForm().isEnabled(): self._cancel = True return self._arrivalDate = params.get("arrivalDate",None) self._departureDate = params.get("departureDate",None) if self._arrivalDate is not None and self._departureDate is not None: self._arrivalDate = utils.stringToDate(self._arrivalDate) self._departureDate = utils.stringToDate(self._departureDate) if self._arrivalDate > self._departureDate: raise FormValuesError("Arrival date has to be earlier than departure date") self._accoType = self._regForm.getAccommodationForm().getAccommodationTypeById(params.get("accommodationType", "")) if self._regForm.getAccommodationForm().getAccommodationTypesList() !=[] and self._accoType is None: raise FormValuesError("It is mandatory to choose an accommodation in order to register")
def _process(self): if not self._cancel: regForm = self._conf.getRegistrationForm() params = self._getRequestParams() try: sDate = datetime(int(params["sYear"]), int(params["sMonth"]), int(params["sDay"])) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "RegistrationForm") try: eDate = datetime(int(params["eYear"]), int(params["eMonth"]), int(params["eDay"])) except ValueError, e: raise FormValuesError( "The end date you have entered is not correct: %s" % e, "RegistrationForm")
def _checkParams(self, params): RHRegistrationFormModifBase._checkParams( self, params ) self._regsIds = self._normaliseListParam(params.get("regsIds",[])) self._cancel=params.has_key("cancel") self._send = params.has_key("OK") self._preview = params.has_key("preview") if not self._cancel: if params.get("from","") == "": raise FormValuesError("Please write from address") if params.get("subject","") == "": raise FormValuesError("Please write any subject for the email") if params.get("body","") == "": raise FormValuesError("Please write any body for the email") self._p={} self._p["subject"]=params["subject"] self._p["from"]=params["from"] self._p["body"]=params["body"] self._p["cc"]=[params.get("cc", "")]
def _process( self ): params = self._getRequestParams() self._target.setTitle( params.get("title","") ) self._target.setDescription( params.get("description","") ) self._target.setKeywords( params.get("keywords","") ) try: durationHours = int(params.get("durationHours","")) except ValueError: raise FormValuesError(_("Please specify a valid hour format (0-23).")) try: durationMinutes = int(params.get("durationMinutes","")) except ValueError: raise FormValuesError(_("Please specify a valid minutes format (0-59).")) self._target.setDuration( durationHours, durationMinutes ) self._target.setSpeakerText( params.get("speakers","") ) self._redirect(urlHandlers.UHSubContributionModification.getURL( self._target ) )
def setExtraFee(self, extraFee): match = re.compile(r'^(\d+(?:[\.]\d+)?)$').match(extraFee) if match: extraFee = match.group(1) else: raise FormValuesError( _('The extra fee format is in incorrect. The fee must be a number: 999.99' )) self._extraFee = extraFee
def _checkParams( self, params ): RHRegistrantModifBase._checkParams(self, params) self._regForm = self._conf.getRegistrationForm() pd = self._regForm.getPersonalData() keys = pd.getMandatoryItems() for key in keys: if key not in params.keys() or params.get(key,"").strip() == "": raise FormValuesError(_("The field \"%s\" is mandatory and you must fill it in order to modify the registrant")%(pd.getData()[key].getName())) self._cancel = params.has_key("cancel")
def _process(self): params = self._getRequestParams() from MaKaC.services.interface.rpc import json presenters = json.decode(params.get("presenters", "[]")) sc = self._target """self._target - contribution owning new subcontribution""" if ("ok" in params): sc = self._target.newSubContribution() sc.setTitle(params.get("title", "")) sc.setDescription(params.get("description", "")) sc.setKeywords(params.get("keywords", "")) try: durationHours = int(params.get("durationHours", "")) except ValueError: raise FormValuesError( _("Please specify a valid hour format (0-23).")) try: durationMinutes = int(params.get("durationMinutes", "")) except ValueError: raise FormValuesError( _("Please specify a valid minutes format (0-59).")) sc.setDuration(durationHours, durationMinutes) sc.setSpeakerText(params.get("speakers", "")) sc.setParent(self._target) for presenter in presenters: spk = self._newSpeaker(presenter) sc.newSpeaker(spk) logInfo = sc.getLogInfo() logInfo[ "subject"] = "Created new subcontribution: %s" % sc.getTitle() self._target.getConference().getLogHandler().logAction( logInfo, log.ModuleNames.TIMETABLE) self._redirect( urlHandlers.UHContribModifSubCont.getURL(self._target)) else: self._redirect( urlHandlers.UHContribModifSubCont.getURL(self._target))
def _checkParams(self, params): RHServicesBase._checkParams(self, params) self._httpsRequired = bool(params.get('httpsRequired')) self._persistentAllowed = bool(params.get('persistentAllowed')) self._apiMode = int(params.get('apiMode')) self._apiPersistentEnableAgreement = params.get('apiPersistentEnableAgreement', "") self._apiPersistentDisableAgreement = params.get('apiPersistentDisableAgreement', "") self._apiKeyUserAgreement = params.get('apiKeyUserAgreement', "") self._apiPersistentUserAgreement = params.get('apiPersistentUserAgreement', "") try: self._apiCacheTTL = int(params.get('apiCacheTTL', 0)) self._apiSignatureTTL = int(params.get('apiSignatureTTL', 0)) if self._apiCacheTTL < 0 or self._apiSignatureTTL < 0: raise ValueError except ValueError: raise FormValuesError('TTLs must be positive numbers') if self._apiMode not in API_MODES: raise FormValuesError()
def _checkParams( self, params ): RHMaterialModifBase._checkParams( self, params ) if not params.has_key("file") or type(params["file"]) == str: raise FormValuesError("You must choose a local file to be uploaded") if not hasattr(self, "_filePath"): # do not save the file again if it has already been done (db conflicts) self._filePath = self._saveFileToTemp( params["file"].file ) self._tempFilesToDelete.append(self._filePath) self._fileName = params["file"].filename self._topdf=params.has_key("topdf")
class RHEvaluationSetupPerformDataModif(RHEvaluationBase): """performs changes to general parameters of the evaluation.""" def _process(self): params = self.getRequestParams() if params.has_key("modify"): from MaKaC.registration import Notification evaluation = self._conf.getEvaluation() try: sDate = datetime( int( params["sYear"] ), \ int( params["sMonth"] ), \ int( params["sDay"] ) ) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "Evaluation") try: eDate = datetime( int( params["eYear"] ), \ int( params["eMonth"] ), \ int( params["eDay"] ) ) except ValueError, e: raise FormValuesError( "The end date you have entered is not correct: %s" % e, "Evaluation") if eDate < sDate: raise FormValuesError("End date can't be before start date!", "Evaluation") evaluation.setStartDate(sDate) evaluation.setEndDate(eDate) evaluation.setAnonymous(params.has_key("anonymous")) evaluation.setAnnouncement(params.get("announcement", "")) evaluation.setTitle(params.get("title", "Evaluation")) evaluation.setContactInfo(params.get("contactInfo", "")) evaluation.setMandatoryParticipant( params.has_key("mandatoryParticipant")) evaluation.setMandatoryAccount(params.has_key("mandatoryAccount")) try: evaluation.setSubmissionsLimit( params.get("submissionsLimit", 0)) except ValueError, e: raise FormValuesError( "You must enter an integer for 'Max number of submissions'!", "Evaluation")
def get_start_dt(params): tz = params['Timezone'] try: return timezone(tz).localize( datetime(int(params['sYear']), int(params['sMonth']), int(params['sDay']), int(params['sHour']), int(params['sMinute']))) except ValueError as e: raise FormValuesError( 'The start date you have entered is not correct: {}'.format(e), 'Event')
def pdf(self): pdf = RegistrantsListToPDF(self._conf, list=self._list, display=self._display) try: data = pdf.getPDFBin() except: raise FormValuesError( _("""Text too large to generate a PDF with "Table Style". Please try again generating with "Book Style".""" )) return send_file('RegistrantsList.pdf', StringIO(data), 'PDF')
def _process(self): if not self._cancel: if self._conf.hasRegistrantByEmail( self._getRequestParams().get("email", ""), self._registrant): raise FormValuesError( "There is already a user with the email \"%s\". Please choose another one" % self._getRequestParams().get("email", "--no email--")) self._registrant.setPersonalData(self._getRequestParams()) self._redirect( urlHandlers.UHRegistrantModification.getURL(self._registrant))
def _process(self): params = self.getRequestParams() if params.has_key("modify"): from MaKaC.registration import Notification evaluation = self._conf.getEvaluation() try: sDate = datetime( int( params["sYear"] ), \ int( params["sMonth"] ), \ int( params["sDay"] ) ) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "Evaluation") try: eDate = datetime( int( params["eYear"] ), \ int( params["eMonth"] ), \ int( params["eDay"] ) ) except ValueError, e: raise FormValuesError( "The end date you have entered is not correct: %s" % e, "Evaluation")
class RHRegistrationFormModifPerformDataModification( RHRegistrationFormModifBase): def _checkParams(self, params): RHRegistrationFormModifBase._checkParams(self, params) self._cancel = params.has_key("cancel") def _process(self): if not self._cancel: regForm = self._conf.getRegistrationForm() params = self._getRequestParams() try: sDate = datetime( int( params["sYear"] ), \ int( params["sMonth"] ), \ int( params["sDay"] ) ) except ValueError, e: raise FormValuesError( "The start date you have entered is not correct: %s" % e, "RegistrationForm") try: eDate = datetime( int( params["eYear"] ), \ int( params["eMonth"] ), \ int( params["eDay"] ) ) except ValueError, e: raise FormValuesError( "The end date you have entered is not correct: %s" % e, "RegistrationForm") if eDate < sDate: raise FormValuesError("End date can't be before start date!", "RegistrationForm") try: meDate = None if params["meYear"] or params["meMonth"] or params["meDay"]: meDate = datetime( int( params["meYear"] ), \ int( params["meMonth"] ), \ int( params["meDay"] ) ) except ValueError, e: raise FormValuesError( "The modification end date you have entered is not correct: %s" % e, "RegistrationForm")
def _checkParams( self, params ): ah = user.AvatarHolder() self._params = params RHAdminBase._checkParams( self, params ) self.prin = ah.getById(self._params.get("prinId", None)) self.toMerge = ah.getById(self._params.get("toMergeId", None)) self.merge = False if self._params.get("merge", None): self.merge = True if self.prin is not None and self.toMerge is not None and self.prin == self.toMerge: raise FormValuesError(_("One cannot merge a user with him/herself"))
def pdf( self ): filename = "RegistrantsList.pdf" pdf = RegistrantsListToPDF(self._conf,list=self._list, display=self._display) try: data = pdf.getPDFBin() except: raise FormValuesError( _("""Text too large to generate a PDF with "Table Style". Please try again generating with "Book Style".""")) self._rh._req.set_content_length(len(data)) cfg = Config.getInstance() mimetype = cfg.getFileTypeMimeType( "PDF" ) self._rh._req.content_type = """%s"""%(mimetype) self._rh._req.headers_out["Content-Disposition"] = """inline; filename="%s\""""%filename return data