Пример #1
0
    def __init__(self, challenge=None, mobile_access=False):
        self.id = challenge if (is_integer(challenge)
                                or challenge is None) else challenge.id
        self.challenge_repository = ChallengeRepository()
        self.mobile_access = mobile_access
        challenge = self.challenge

        # properties
        self.title = editor.Property(u'').validate(validators.non_empty_string)
        self.short_title = editor.Property(u'').validate(
            validators.non_empty_string)
        self.created_by = editor.Property(u'').validate(
            lambda t: validators.user_email(t, True))
        self.organization = editor.Property(u'').validate(
            validators.non_empty_string)
        self.associated_dis = editor.Property(u'').validate(
            validators.user_email_list)
        self.starting_date = editor.Property(u'').validate(
            validators.non_empty_date)
        self.ending_date = editor.Property(u'').validate(
            validators.non_empty_date)
        self.summary = editor.Property(u'').validate(
            validators.non_empty_string)
        self.description = editor.Property(u'').validate(
            validators.non_empty_string)
        self.mobile_description = editor.Property(u'')
        self.outcome = editor.Property(u'').validate(validators.string)
        self.tags = editor.Property(u'').validate(
            lambda t: validators.word_list(t, duplicates='remove'))

        if challenge:
            self.title.set(challenge.title)
            self.short_title.set(challenge.short_title)
            self.created_by.set(challenge.created_by.email)
            self.organization.set(challenge.organization)
            associated_dis_email = ','.join(
                user.email for user in challenge.associated_dis)
            self.associated_dis.set(associated_dis_email)
            self.starting_date.set(
                challenge.starting_date.date().strftime('%d/%m/%Y'))
            self.ending_date.set(
                challenge.ending_date.date().strftime('%d/%m/%Y'))
            self.summary.set(challenge.summary)
            self.description.set(challenge.description)
            self.mobile_description.set(challenge.mobile_description)
            self.outcome.set(challenge.outcome)
            self.tags.set(u', '.join(challenge.tags))

        # Because the mobile description is optional in each eureka instance
        # and the validator will be triggered if we do this before
        self.mobile_description.validate(validators.non_empty_string)
Пример #2
0
    def __init__(self, challenge=None, mobile_access=False):
        self.id = challenge if (is_integer(challenge)
                                or challenge is None) else challenge.id
        self.challenge_repository = ChallengeRepository()
        self.mobile_access = mobile_access
        challenge = self.challenge

        # properties
        self.title = editor.Property(u'').validate(validators.non_empty_string)
        self.short_title = editor.Property(u'').validate(
            validators.non_empty_string)
        self.created_by = editor.Property(u'').validate(
            lambda t: validators.user_email(t, True))
        self.organization = editor.Property(u'').validate(
            validators.non_empty_string)
        self.associated_dis = editor.Property(u'').validate(
            validators.user_email_list)
        self.starting_date = editor.Property(u'').validate(
            validators.non_empty_date)
        self.ending_date = editor.Property(u'').validate(
            validators.non_empty_date)
        self.summary = editor.Property(u'').validate(
            validators.non_empty_string)
        self.description = editor.Property(u'').validate(
            validators.non_empty_string)
        self.mobile_description = editor.Property(u'')
        self.outcome = editor.Property(u'').validate(validators.string)
        self.tags = editor.Property(u'').validate(
            lambda t: validators.word_list(t, duplicates='remove'))

        if challenge:
            self.title.set(challenge.title)
            self.short_title.set(challenge.short_title)
            self.created_by.set(challenge.created_by.email)
            self.organization.set(challenge.organization)
            associated_dis_email = ','.join(
                user.email for user in challenge.associated_dis)
            self.associated_dis.set(associated_dis_email)
            self.starting_date.set(
                challenge.starting_date.date().strftime('%d/%m/%Y'))
            self.ending_date.set(
                challenge.ending_date.date().strftime('%d/%m/%Y'))
            self.summary.set(challenge.summary)
            self.description.set(challenge.description)
            self.mobile_description.set(challenge.mobile_description)
            self.outcome.set(challenge.outcome)
            self.tags.set(u', '.join(challenge.tags))

        # Because the mobile description is optional in each eureka instance
        # and the validator will be triggered if we do this before
        self.mobile_description.validate(validators.non_empty_string)
Пример #3
0
    def __init__(self, idea):
        self.idea_id = idea if is_integer(idea) else idea.id

        # first form (context)
        self.title = editor.Property(self.data.title).validate(
            validators.non_empty_string)
        self.description = editor.Property(self.data.description).validate(
            validators.non_empty_string)
        self.impact = editor.Property(self.data.impact).validate(
            validators.non_empty_string)
        self.benefit_department = editor.Property(self.idea.benefit_department or '')

        # second form (expert)
        self.expert_email = editor.Property('').validate(
            lambda t: validators.user_email(t, required=True))
        self.comment = editor.Property('').validate(
            validators.non_empty_string)

        # form (evaluation)
        if self.data.target_date:
            self.target_date = editor.Property(
                datetime.strftime(self.data.target_date, '%d/%m/%Y'))
        else:
            self.target_date = editor.Property('')
        self.goal = editor.Property(self.data.goal).validate(
            validators.FloatValidator)
        self.revenues_first_year = editor.Property(
            self.data.revenues_first_year)
        self.revenues_first_year_value = editor.Property(
            self.data.revenues_first_year_value).validate(
            validators.FloatValidator)
        self.revenues_second_year = editor.Property(
            self.data.revenues_second_year)
        self.revenues_second_year_value = editor.Property(
            self.data.revenues_second_year_value).validate(
            validators.FloatValidator)
        self.expenses_first_year = editor.Property(
            self.data.expenses_first_year)
        self.expenses_first_year_value = editor.Property(
            self.data.expenses_first_year_value)
        self.expenses_second_year = editor.Property(
            self.data.expenses_second_year)
        self.expenses_second_year_value = editor.Property(
            self.data.expenses_second_year_value)
        self.evaluation_impact = editor.Property(self.data.evaluation_impact)

        # third form (benefit)
        self.financial_gain = editor.Property(self.data.financial_gain)
        self.customer_satisfaction = editor.Property(
            self.data.customer_satisfaction)
        self.process_tier_down = editor.Property(self.data.process_tier_down)
        self.public_image = editor.Property(self.data.public_image)
        self.environment_improvement = editor.Property(
            self.data.environment_improvement)
        self.other_impact = editor.Property(self.data.other_impact)

        # fourth form (potential)
        self.innovation_scale = editor.Property(
            self.data.innovation_scale or 1).validate(validators.integer)
        self.complexity_scale = editor.Property(
            self.data.complexity_scale or 1).validate(validators.integer)
        self.duplicate = editor.Property(self.data.duplicate).validate(
            validators.integer)
        self.localization = editor.Property(self.data.localization).validate(
            validators.integer)

        self.selected_item = editor.Property('')
Пример #4
0
    def __init__(self, idea):
        self.idea_id = idea if is_integer(idea) else idea.id

        # first form (context)
        self.title = editor.Property(self.data.title).validate(
            validators.non_empty_string)
        self.description = editor.Property(self.data.description).validate(
            validators.non_empty_string)
        self.impact = editor.Property(self.data.impact).validate(
            validators.non_empty_string)
        self.benefit_department = editor.Property(self.idea.benefit_department
                                                  or '')

        # second form (expert)
        self.expert_email = editor.Property('').validate(
            lambda t: validators.user_email(t, required=True))
        self.comment = editor.Property('').validate(
            validators.non_empty_string)

        # form (evaluation)
        if self.data.target_date:
            self.target_date = editor.Property(
                datetime.strftime(self.data.target_date, '%d/%m/%Y'))
        else:
            self.target_date = editor.Property('')
        self.goal = editor.Property(self.data.goal).validate(
            validators.FloatValidator)
        self.revenues_first_year = editor.Property(
            self.data.revenues_first_year)
        self.revenues_first_year_value = editor.Property(
            self.data.revenues_first_year_value).validate(
                validators.FloatValidator)
        self.revenues_second_year = editor.Property(
            self.data.revenues_second_year)
        self.revenues_second_year_value = editor.Property(
            self.data.revenues_second_year_value).validate(
                validators.FloatValidator)
        self.expenses_first_year = editor.Property(
            self.data.expenses_first_year)
        self.expenses_first_year_value = editor.Property(
            self.data.expenses_first_year_value)
        self.expenses_second_year = editor.Property(
            self.data.expenses_second_year)
        self.expenses_second_year_value = editor.Property(
            self.data.expenses_second_year_value)
        self.evaluation_impact = editor.Property(self.data.evaluation_impact)

        # third form (benefit)
        self.financial_gain = editor.Property(self.data.financial_gain)
        self.customer_satisfaction = editor.Property(
            self.data.customer_satisfaction)
        self.process_tier_down = editor.Property(self.data.process_tier_down)
        self.public_image = editor.Property(self.data.public_image)
        self.environment_improvement = editor.Property(
            self.data.environment_improvement)
        self.other_impact = editor.Property(self.data.other_impact)

        # fourth form (potential)
        self.innovation_scale = editor.Property(
            self.data.innovation_scale or 1).validate(validators.integer)
        self.complexity_scale = editor.Property(
            self.data.complexity_scale or 1).validate(validators.integer)
        self.duplicate = editor.Property(self.data.duplicate).validate(
            validators.integer)
        self.localization = editor.Property(self.data.localization).validate(
            validators.integer)

        self.selected_item = editor.Property('')