Пример #1
0
    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
Пример #2
0
 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"
Пример #3
0
    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))
Пример #4
0
    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))
Пример #5
0
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")
Пример #6
0
    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!"))
Пример #7
0
 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")
Пример #8
0
 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"
               ))
Пример #9
0
 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"
Пример #10
0
    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
Пример #11
0
 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")
Пример #12
0
 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))
Пример #13
0
 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")
Пример #14
0
 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")
Пример #15
0
 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")
Пример #16
0
 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", "")]
Пример #17
0
    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 ) )
Пример #18
0
 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
Пример #19
0
 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")
Пример #20
0
    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))
Пример #21
0
    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()
Пример #22
0
 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")
Пример #23
0
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")
Пример #24
0
 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')
Пример #25
0
 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')
Пример #26
0
 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))
Пример #27
0
 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")
Пример #28
0
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")
Пример #29
0
    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"))
Пример #30
0
 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