Beispiel #1
0
class PageSchemaBase(validators.RootSchema):
    if_key_missing = None

    Owner = validators.AgencyCodeValidator()
    Slug = validators.SlugValidator(not_empty=True, max=50)
    Title = validators.UnicodeString(max=200, not_empty=True)
    PageContent = validators.UnicodeString(not_empty=True)
class SocialMediaBaseSchema(Schema):
    if_key_missing = None

    Active = validators.Bool()
    DefaultName = ciocvalidators.UnicodeString(max=100, not_empty=True)
    IconURL16 = ciocvalidators.URLWithProto(max=255, not_empty=True)
    IconURL24 = ciocvalidators.URLWithProto(max=255, not_empty=True)
    GeneralURL = ciocvalidators.UnicodeString(max=255)
Beispiel #3
0
class CommunityDescriptionSchema(Schema):
    if_key_missing = None

    Name = ciocvalidators.UnicodeString(max=200)
    Display = ciocvalidators.UnicodeString(max=200)

    chained_validators = [
        ciocvalidators.RequireIfAny("Name", present=["Display"])
    ]
Beispiel #4
0
class LayoutDescriptionSchema(Schema):
    if_key_missing = None

    LayoutName = ciocvalidators.UnicodeString(max=150, not_empty=True)
    LayoutHTML = ciocvalidators.UnicodeString()
    LayoutHTMLURL = ciocvalidators.Url(max=255)
    chained_validators = [
        ciocvalidators.RequireIfAny("LayoutName",
                                    present=["LayoutHTML", "LayoutHTMLURL"]),
    ]
Beispiel #5
0
class MappingSystemDescriptionSchema(Schema):
    if_key_missing = None

    Name = ciocvalidators.UnicodeString(max=50)
    Label = ciocvalidators.UnicodeString(max=200)
    String = Pipe(ciocvalidators.URLWithProto(max=255),
                  validators.MaxLength(255))

    chained_validators = [
        ciocvalidators.RequireIfAny("Name", present=("Label", "String")),
        ciocvalidators.RequireIfAny("Label", present=("Name", "String")),
        ciocvalidators.RequireIfAny("String", present=("Name", "Label")),
    ]
Beispiel #6
0
class DomainSchema(Schema):
    if_key_missing = None

    DMAP_ID = validators.IDValidator(not_empty=True)
    GoogleAnalyticsCode = validators.UnicodeString(max=50)
    GoogleAnalyticsAgencyDimension = validators.Int(min=1, max=20)
    GoogleAnalyticsLanguageDimension = validators.Int(min=1, max=20)
    GoogleAnalyticsDomainDimension = validators.Int(min=1, max=20)
    GoogleAnalyticsResultsCountMetric = validators.Int(min=1, max=20)
    SecondGoogleAnalyticsCode = validators.UnicodeString(max=50)
    SecondGoogleAnalyticsAgencyDimension = validators.Int(min=1, max=20)
    SecondGoogleAnalyticsLanguageDimension = validators.Int(min=1, max=20)
    SecondGoogleAnalyticsDomainDimension = validators.Int(min=1, max=20)
    SecondGoogleAnalyticsResultsCountMetric = validators.Int(min=1, max=20)
Beispiel #7
0
class DomainSchema(Schema):
    if_key_missing = None

    DMAP_ID = validators.IDValidator(not_empty=True)
    DefaultCulture = validators.ActiveCulture(not_empty=True)
    CICViewType = validators.IDValidator()
    VOLViewType = validators.IDValidator()
    SecondaryName = validators.Bool()
    GoogleMapsAPIKeyCIC = validators.String(max=100)
    GoogleMapsClientIDCIC = validators.UnicodeString(max=100)
    GoogleMapsChannelCIC = validators.UnicodeString(max=100)
    GoogleMapsAPIKeyVOL = validators.String(max=100)
    GoogleMapsClientIDVOL = validators.UnicodeString(max=100)
    GoogleMapsChannelVOL = validators.UnicodeString(max=100)
Beispiel #8
0
class APISchema(ciocvalidators.RootSchema):
    if_key_missing = None

    Owner = ciocvalidators.UnicodeString(not_empty=True, max=100)
    CIC = ciocvalidators.Bool()
    VOL = ciocvalidators.Bool()
    Inactive = ciocvalidators.Bool()
Beispiel #9
0
class AltNameSchema(Schema):
    if_key_missing = None

    Delete = validators.Bool()
    Culture = ciocvalidators.ActiveCulture(record_cultures=True)
    AltName = ciocvalidators.UnicodeString(max=200)
    New = validators.Bool()
Beispiel #10
0
class ListContactHonorific(ListValuesModel):
    Table = "GBL_Contact_Honorific"
    FieldCode = "ch"
    ID = None
    id_validator = validators.UnicodeString(max=20)

    AdminAreaCode = "HONORIFIC"

    NameField = "Honorific"

    ListName = _("Contact Honorific")
    ListNamePlural = _("honorifics")

    HasModified = False

    SearchLink1 = (
        "~/results.asp",
        dict(
            incDel="on",
            Limit=
            "EXISTS(SELECT * FROM GBL_Contact WHERE GblNUM IS NOT NULL AND bt.NUM=GblNUM AND NAME_HONORIFIC='IDIDID')",
        ),
    )
    SearchLink2 = (
        "~/volunteer/results.asp",
        dict(
            incDel="on",
            Limit=
            "EXISTS(SELECT * FROM GBL_Contact WHERE VolVNUM IS NOT NULL AND vo.VNUM=VolVNUM AND NAME_HONORIFIC='IDIDID')",
        ),
    )
Beispiel #11
0
def make_email_list_schema(request, list_validator):
    agency_name = request.context.agency_name
    user = request.user
    name_validator = ciocvalidators.UnicodeString(
        max=100, if_missing=agency_name or " ".join([user.FirstName, user.LastName])
    )
    list_validator = ciocvalidators.CSVForEach(list_validator)
    return EmailListSchema(IDList=list_validator, FromName=name_validator)
Beispiel #12
0
class EmailListSchema(ciocvalidators.RootSchema):
    ignore_key_missing = True
    if_key_missing = None

    EmailAddress = ciocvalidators.All(
        validators=[
            ciocvalidators.String(max=1000),
            ciocvalidators.EmailListRegexValidator(not_empty=True),
        ]
    )
    AccessURL = AccessURLValidator(not_empty=True, if_missing=None)

    PDF = ciocvalidators.Bool()
    Subject = ciocvalidators.UnicodeString(max=255, not_empty=True)
    ReplyTo = ciocvalidators.Bool(if_missing=True, accept_iterator=True)
    BodyPrefix = ciocvalidators.UnicodeString()
    BodySuffix = ciocvalidators.UnicodeString()
class AgencySchema(Schema):
    if_key_missing = None

    AgencyCode = validators.AgencyCodeValidator(not_empty=True)
    GetInvolvedUser = validators.UnicodeString(max=100)
    GetInvolvedToken = validators.UnicodeString(max=100)
    GetInvolvedCommunitySet = validators.IDValidator()
    GetInvolvedSite = validators.OneOf([x[0] for x in get_involved_sites])

    chained_validators = [
        validators.RequireNoneOrAll([
            "GetInvolvedUser",
            "GetInvolvedToken",
            "GetInvolvedCommunitySet",
            "GetInvolvedSite",
        ])
    ]
Beispiel #14
0
class DescriptionSchemaBase(validators.RootSchema):
    if_key_missing = None

    Name = validators.UnicodeString(max=200, not_empty=True)

    StdSubject = validators.UnicodeString(max=100, not_empty=True)
    StdGreetingStart = validators.UnicodeString(max=100, not_empty=True)
    StdGreetingEnd = validators.UnicodeString(max=100)
    StdMessageBody = validators.UnicodeString(max=1500)

    StdDetailDesc = validators.UnicodeString(max=100)
    StdFeedbackDesc = validators.UnicodeString(max=100)

    StdContact = validators.UnicodeString(max=255, not_empty=True)

    StdSuggestOppDesc = validators.UnicodeString(max=150)
    StdOrgOppsDesc = validators.UnicodeString(max=150)
Beispiel #15
0
class MappingSystemBaseSchema(Schema):
    if_key_missing = None

    NewWindow = validators.Bool()
    DefaultProvince = ciocvalidators.String(min=2,
                                            max=2,
                                            if_empty=None,
                                            not_empty=True)
    DefaultCountry = ciocvalidators.UnicodeString(max=50, not_empty=True)
Beispiel #16
0
class ReminderBaseSchema(validators.Schema):
    if_key_missing = None

    ActiveDate = validators.DateConverter()
    Culture = validators.ActiveCulture(record_cultures=True)
    DueDate = validators.DateConverter()
    NoteTypeID = validators.IDValidator()
    Notes = validators.UnicodeString(not_empty=True)
    DismissForAll = validators.DictConverter(dismiss_options, not_empty=True)
Beispiel #17
0
class LayoutBaseSchema(Schema):
    if_key_missing = None

    Owner = ciocvalidators.AgencyCodeValidator()

    AlmostStandardsMode = validators.StringBool(if_empty=False)
    LayoutCSS = ciocvalidators.UnicodeString()
    LayoutCSSURL = ciocvalidators.Url(max=255)
    UseFontAwesome = validators.Bool()
    UseFullCIOCBootstrap = validators.Bool()
Beispiel #18
0
class MenuItemSchema(Schema):
    if_key_missing = None

    delete = validators.Bool()
    MenuID = Any(ciocvalidators.IDValidator(), validators.OneOf(["NEW"]))
    Link = ciocvalidators.String(max=150)
    Display = ciocvalidators.UnicodeString(max=200)
    MenuGroup = ciocvalidators.Int(min=1, max=3)
    chained_validators = [
        ciocvalidators.RequireIfAny("Display", present=("Link", )),
        ciocvalidators.RequireIfAny("Link", present=("Display", )),
    ]
Beispiel #19
0
class AIRSExportOptionsSchema(validators.RootSchema):
    allow_extra_fields = True
    if_key_missing = None

    version = validators.OneOf(["3_1", "3_0", "3_0_Testing"], if_empty="3_0")
    DST = validators.UnicodeString(max=20, not_empty=True)
    IncludeDeleted = validators.Bool()
    IncludeSiteAgency = validators.Bool()
    PartialDate = validators.ISODateConverter()
    PubCodeSync = validators.Bool()
    FileSuffix = validators.String(max=100)
    LabelLangOverride = validators.Int(min=0, max=validators.MAX_TINY_INT)
    AnyLanguageChange = validators.Bool()
Beispiel #20
0
    def autocomplete(self):
        request = self.request

        if not request.user.SuperUserGlobal:
            return []

        term_validator = ciocvalidators.UnicodeString(not_empty=True)
        try:
            terms = term_validator.to_python(request.params.get("term"))
        except validators.Invalid:
            return []

        cm_id_validator = ciocvalidators.IDValidator()
        try:
            cur_parent = cm_id_validator.to_python(
                request.params.get("parent"))
        except validators.Invalid:
            cur_parent = None

        cur_cm_id = None
        if request.matchdict.get("action") == "alt_search_area":
            try:
                cur_cm_id = cm_id_validator.to_python(
                    request.params.get("cmid"))
            except validators.Invalid:
                pass

        retval = []
        search_areas = request.matchdict.get("action") == "alt_search_area"
        with request.connmgr.get_connection("admin") as conn:
            if search_areas:
                cursor = conn.execute(
                    "EXEC sp_GBL_Community_ls_SearchAreaSelector ?, ?, ?",
                    cur_cm_id,
                    cur_parent,
                    terms,
                )
            else:
                cursor = conn.execute(
                    "EXEC sp_GBL_Community_ls_ParentSelector ?, ?", cur_parent,
                    terms)

            cols = ["chkid", "value", "label"]

            retval = [dict(zip(cols, x)) for x in cursor.fetchall()]

            cursor.close()

        return retval
Beispiel #21
0
class NaicsExampleBaseSchema(Schema):
    if_key_missing = None

    Example_ID = Any(ciocvalidators.IDValidator(), validators.OneOf(["NEW"]))
    LangID = validators.Int(min=0,
                            max=ciocvalidators.MAX_SMALL_INT,
                            not_empty=True)
    Description = ciocvalidators.UnicodeString(
        max=255)  # sometimes required as per RequireIfPredicate below
    delete = validators.Bool()

    chained_validators = [
        ciocvalidators.RequireIfPredicate(description_required,
                                          ["Description"])
    ]
class NaicsExclusionBaseSchema(Schema):
    if_key_missing = None

    Exclusion_ID = Any(ciocvalidators.IDValidator(), validators.OneOf(["NEW"]))
    LangID = validators.Int(min=0,
                            max=ciocvalidators.MAX_SMALL_INT,
                            not_empty=True)
    Description = ciocvalidators.UnicodeString(
        max=255)  # sometimes required as per RequireIfPredicate below
    Establishment = validators.Bool()

    UseCodes = foreach.ForEach(ciocvalidators.NaicsCode())

    delete = validators.Bool()

    chained_validators = [
        ciocvalidators.RequireIfPredicate(description_required,
                                          ["Description"])
    ]
Beispiel #23
0
class TemplateBaseSchema(Schema):
    if_key_missing = None

    Owner = ciocvalidators.AgencyCodeValidator()
    BannerRepeat = validators.Bool()
    BannerHeight = validators.Int(min=10, max=255)
    BodyTagExtras = ciocvalidators.String(max=150)
    FontFamily = validators.String(max=100)

    ExtraCSS = ciocvalidators.UnicodeString()
    HeaderLayout = ciocvalidators.IDValidator(not_empty=True)
    FooterLayout = ciocvalidators.IDValidator(not_empty=True)
    SearchLayoutCIC = ciocvalidators.IDValidator()
    SearchLayoutVOL = ciocvalidators.IDValidator()

    HeaderSearchLink = validators.Bool()
    HeaderSearchIcon = validators.Bool()
    HeaderSuggestLink = validators.Bool()
    HeaderSuggestIcon = validators.Bool()

    ContainerFluid = validators.Bool()
    ContainerContrast = validators.Bool()
    SmallTitle = validators.Bool()

    cornerRadius = ciocvalidators.String(max=10)
    fsDefault = ciocvalidators.String(max=10)

    UseFontAwesome = validators.Bool()
    PreviewTemplate = validators.Bool()

    chained_validators = [
        ciocvalidators.RequireIfAny("SearchLayoutCIC",
                                    missing="SearchLayoutVOL"),
        ciocvalidators.RequireIfAny("SearchLayoutVOL",
                                    missing="SearchLayoutCIC"),
    ]
Beispiel #24
0
class ListContactPhoneType(ListValuesModel):
    Table = "GBL_Contact_PhoneType"
    FieldCode = "cpt"
    ID = None
    id_validator = validators.UnicodeString(max=20)

    AdminAreaCode = "PHONETYPE"

    NameField = "PhoneType"

    ListName = _("Contact Phone Type")
    ListNamePlural = _("phone types")

    ExtraFields = [
        {
            "type": "language",
            "title": _("Language"),
            "field": "Culture",
            "kwargs": {},
            "validator": validators.ActiveCulture(record_cultures=True),
        },
    ]

    HasModified = False
Beispiel #25
0
class GeneralDescriptionSchema(Schema):
    if_key_missing = None

    DatabaseNameCIC = ciocvalidators.UnicodeString(max=255)
    DatabaseNameVOL = ciocvalidators.UnicodeString(max=255)
    FeedbackMsgCIC = ciocvalidators.UnicodeString(max=2000)
    FeedbackMsgVOL = ciocvalidators.UnicodeString(max=2000)
    VolProfilePrivacyPolicyOrgName = ciocvalidators.UnicodeString(max=255)
    VolProfilePrivacyPolicy = ciocvalidators.UnicodeString()

    chained_validators = [
        ciocvalidators.RequireIfPredicate(
            IsCICSuperUser, ["DatabaseNameCIC", "FeedbackMsgCIC"]),
        ciocvalidators.RequireIfPredicate(
            IsVOLSuperUser, ["DatabaseNameVOL", "FeedbackMsgVOL"]),
        ciocvalidators.RequireIfPredicate(
            IsVOLSuperUserAndProfiles,
            ["VolProfilePrivacyPolicyOrgName", "VolProfilePrivacyPolicy"],
        ),
    ]
Beispiel #26
0
class TemplateDescriptionSchema(Schema):
    if_key_missing = None

    Name = ciocvalidators.UnicodeString(max=150)
    Logo = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    LogoAltText = ciocvalidators.UnicodeString(max=255)
    LogoLink = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    LogoMobile = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    Banner = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    CopyrightNotice = ciocvalidators.UnicodeString(max=255)
    headerGroup1 = ciocvalidators.UnicodeString(max=100)
    headerGroup2 = ciocvalidators.UnicodeString(max=100)
    headerGroup3 = ciocvalidators.UnicodeString(max=100)
    footerGroup1 = ciocvalidators.UnicodeString(max=100)
    footerGroup2 = ciocvalidators.UnicodeString(max=100)
    footerGroup3 = ciocvalidators.UnicodeString(max=100)
    cicsearchGroup1 = ciocvalidators.UnicodeString(max=100)
    cicsearchGroup2 = ciocvalidators.UnicodeString(max=100)
    cicsearchGroup3 = ciocvalidators.UnicodeString(max=100)
    volsearchGroup1 = ciocvalidators.UnicodeString(max=100)
    volsearchGroup2 = ciocvalidators.UnicodeString(max=100)
    volsearchGroup3 = ciocvalidators.UnicodeString(max=100)
    Agency = ciocvalidators.UnicodeString(max=255)
    Address = ciocvalidators.UnicodeString(max=255)
    Phone = ciocvalidators.UnicodeString(max=255)
    Email = ciocvalidators.UnicodeString(max=150)
    Web = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    Facebook = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    Twitter = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    Instagram = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    LinkedIn = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    YouTube = Pipe(
        ciocvalidators.URLWithProto(add_http=True, require_tld=False),
        validators.MaxLength(255),
    )
    TermsOfUseLink = ciocvalidators.UnicodeString(max=255)
    TermsOfUseLabel = ciocvalidators.UnicodeString(max=255)
    FooterNotice = ciocvalidators.UnicodeString(max=3000)
    FooterNotice2 = ciocvalidators.UnicodeString(max=2000)
    FooterNoticeContact = ciocvalidators.UnicodeString(max=2000)
    HeaderNotice = ciocvalidators.UnicodeString(max=2000)
    HeaderNoticeMobile = ciocvalidators.UnicodeString(max=1000)

    chained_validators = [
        ciocvalidators.RequireIfAny(
            "Name",
            present=(
                "LogoLink",
                "Logo",
                "CopyrightNotice",
                "LogoMobile",
                "LogoAltText",
                "Banner",
                "Agency",
                "Address",
                "Phone",
                "Email",
                "Web",
                "Facebook",
                "Twitter",
                "Instagram",
                "LinkedIn",
                "YouTube",
            ),
        )
    ]
Beispiel #27
0
class MenuTypes(Schema):
    if_key_missing = None


menu_types = ["header", "footer", "cicsearch", "volsearch"]
menu_item_list_validator = ciocvalidators.CultureDictSchema(
    ForEach(MenuItemSchema()))
for field in menu_types:
    MenuTypes.add_field(field, menu_item_list_validator)

for field in menu_types:
    for group in range(1, 4):
        TemplateDescriptionSchema.add_field(
            "%sGroup%d" % (field, group),
            ciocvalidators.UnicodeString(max=100))


class TemplateSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    template = TemplateBaseSchema()
    descriptions = ciocvalidators.CultureDictSchema(
        TemplateDescriptionSchema())
    menus = MenuTypes()


@view_defaults(route_name="admin_template")
Beispiel #28
0
class SocialMediaDescriptionSchema(Schema):
    if_key_missing = None

    Name = ciocvalidators.UnicodeString(max=100)
Beispiel #29
0
class CloseSchema(validators.RootSchema):
    if_key_missing = None

    NoticeID = validators.IDValidator(not_empty=True)
    ActionTaken = validators.Int(min=1, max=2, if_empty=None)
    ActionNotes = validators.UnicodeString()
Beispiel #30
0
class NewSchema(validators.RootSchema):
    if_key_missing = None

    AdminAreaID = validators.IDValidator(not_empty=True)
    RequestDetail = validators.UnicodeString(not_empty=True)