class ConstantsActiveDirectory(Constants.Constants): """ AD constants for the old AD-sync. Should be removed when everyone has migrated to the AD sync from 2013. """ # FIXME: This Constants-class will eventually be moved to an AD-modul. # Jazz, 2009-03-18 system_ad = _AuthoritativeSystemCode('AD', 'Information from Active Directory') externalid_groupsid = _EntityExternalIdCode( 'AD_GRPSID', Constants.Constants.entity_group, "Group's SID, fetched from Active Directory") externalid_accountsid = _EntityExternalIdCode( 'AD_ACCSID', Constants.Constants.entity_account, "Account's SID, fetched from Active Directory") trait_exchange_mdb = _EntityTraitCode( 'exchange_mdb', Constants.Constants.entity_account, "The assigned mailbox-database in Exchange for the given account.") # traits used to "exempt" entities from being exported to AD2 trait_account_exempt = _EntityTraitCode( 'account_exempt', Constants.Constants.entity_account, 'Exempt the given account from being exported') trait_group_exempt = _EntityTraitCode( 'group_exempt', Constants.Constants.entity_group, 'Exempt the given group from being exported')
class ConstantsActiveDirectory(Constants): """Constants for the Active Directory module, including the basic set of AD-attributes that we could administrate. Note that some attributes could be administered by the AD-sync, but is based on other information in Cerebrum. Surname, DisplayName and GivenName are such examples - they all use information from L{person_name}, which is taken care of by the AD-sync. Such attributes are therefore not necessary to store in the attribute table, at least in general - some instaces might have special needs. """ system_ad = _AuthoritativeSystemCode('AD', 'Information from Active Directory') externalid_groupsid = _EntityExternalIdCode( 'AD_GRPSID', Constants.entity_group, "Group's SID, fetched from Active Directory") externalid_accountsid = _EntityExternalIdCode( 'AD_ACCSID', Constants.entity_account, "Account's SID, fetched from Active Directory") trait_exchange_mdb = _EntityTraitCode( 'exchange_mdb', Constants.entity_account, "The assigned mailbox-database in Exchange for the given account.") ### Attributes ad_attribute_homedir = _ADAttrCode('HomeDirectory', 'HomeDirectory for an object in AD', False) ad_attribute_homedrive = _ADAttrCode('HomeDrive', 'HomeDrive for an account in AD', False) ad_attribute_scriptpath = _ADAttrCode('ScriptPath', 'ScriptPath for an account in AD', False) # Titles should by default be stored in person_name. #ad_attribute_title = _ADAttrCode('Title', 'Title for an account in AD', # False) # Mail is either handled by its own module, or it is stored as contact_info #ad_attribute_mail = _ADAttrCode('Mail', 'Mail address for an account in AD', # False) # TODO: should we make group scope (global/universal) and group category # (security/distribution) be set through attributes? ADAttribute = _ADAttrCode
class Constants(Constants.Constants): ## employees - affiliation definition affiliation_ansatt = _PersonAffiliationCode('ANSATT', 'Ansatt ved HiH') ## affiliations for others affiliation_manuell = _PersonAffiliationCode( 'MANUELL', ('Tilknyttet HiH uten å være registrert i et av de' ' autoritative kildesystemene')) affiliation_status_manuell_inaktiv = _PersonAffStatusCode( affiliation_manuell, 'inaktiv', 'Person uten ekte tilknytning til HiH. Bruk med forsiktighet!') ## Spread definitions - user related # AD/Exchange Ansatte spread_ad_account_ans = _SpreadCode( 'account@ad_ans', Constants.Constants.entity_account, 'Brukeren kjent i ansattdomenet i AD ved HiH') spread_exchange_account_ans = _SpreadCode( 'account@ex_ans', Constants.Constants.entity_account, 'Exchange-enabled account i ansattdomenet ved HiH') # AD/Exchange Studenter spread_ad_account_stud = _SpreadCode( 'account@ad_stud', Constants.Constants.entity_account, 'Brukeren kjent i studentdomenet i AD ved HiH') spread_exchange_account_stud = _SpreadCode( 'account@ex_stud', Constants.Constants.entity_account, 'Exchange-enabled account i studentdomenet ved HiH') ## Spread definitions - group related # AD/Exchange Ansatte spread_ad_group_ans = _SpreadCode( 'group@ad_ans', Constants.Constants.entity_group, 'Gruppe kjent i ansattdomenet i AD ved HiH') spread_exchange_group_ans = _SpreadCode( 'group@ex_ans', Constants.Constants.entity_group, 'Gruppe kjent i ansattdomenet i Exchange ved HiH') # AD/Exchange Studenter spread_ad_group_stud = _SpreadCode( 'group@ad_stud', Constants.Constants.entity_group, 'Gruppe kjent i studentdomenet i AD ved HiH') spread_exchange_group_stud = _SpreadCode( 'group@ex_stud', Constants.Constants.entity_group, 'Gruppe kjent i studentdomenet i Exchange ved HiH') ## Spread definitions - person related spread_adgang_person = _SpreadCode( 'person@adgang', Constants.Constants.entity_person, 'Person kjent i adgangssystemet til HiH') spread_adgang_group = _SpreadCode( 'group@adgang', Constants.Constants.entity_group, 'Gruppe kjent i adgangssystemet til HiH') ## External IDs - person related externalid_bewatorid = _EntityExternalIdCode( 'Bewator', Constants.Constants.entity_person, "Bewator ID for person")
class Constants(Constants.Constants): # Org. hierarchy perspective perspective_ekstens = _OUPerspectiveCode('Ekstens', 'Ekstens') perspective_sats = _OUPerspectiveCode('SATS', 'SATS') # Authoritative system codes system_sats = _AuthoritativeSystemCode( 'SATS', 'Personopplysninger hentet fra skolesystemet SATS') system_ekstens = _AuthoritativeSystemCode( 'EKSTENS', 'Personopplysninger hentet fra skolesystemet EKSTENS') system_tpsys = _AuthoritativeSystemCode( 'TPSYS', 'Personopplysninger hentet fra skolesystemet TPSYS') system_migrate = _AuthoritativeSystemCode( 'MIGRATE', 'Personopplysninger hentet fra tidligere brukte systemer') # External ID codes externalid_orgnr = _EntityExternalIdCode('ORGNR', Constants.Constants.entity_ou, 'Organisasjonsnummer (fra SAS)') # Disse kodene er det foreløpig usikkert om skal brukes externalid_ouid = _EntityExternalIdCode( 'OUID', Constants.Constants.entity_ou, 'Organisasjonens unike identifikator') externalid_skolenr = _EntityExternalIdCode('SKOLENR', Constants.Constants.entity_ou, 'Skolenummer') externalid_kommunenr = _EntityExternalIdCode('KOMMNR', Constants.Constants.entity_ou, 'Kommunenummer') externalid_ou_oid = _EntityExternalIdCode('OUOID', Constants.Constants.entity_ou, 'OU OID') externalid_userid = _EntityExternalIdCode( 'USERID', Constants.Constants.entity_person, 'Bruker ID') externalid_klasse = _EntityExternalIdCode('kl-ID', Constants.Constants.entity_group, 'Klasse ID') externalid_faggruppe = _EntityExternalIdCode( 'fg-ID', Constants.Constants.entity_group, 'Faggruppe ID') externalid_klassegruppe = _EntityExternalIdCode( 'kg-ID', Constants.Constants.entity_group, 'klassegruppe ID') # Spread codes # AD spread_ad_acc = _SpreadCode('account@ad', Constants.Constants.entity_account, 'Brukeren kan logge inn på Windows PC-er.') spread_ad_grp = _SpreadCode('group@ad', Constants.Constants.entity_group, 'Gruppen brukes av Active Directory.') spread_ad_ou = _SpreadCode('ou@ad', Constants.Constants.entity_ou, 'OUen brukes av Active Directory.') # LMS spread_lms_acc = _SpreadCode( 'account@lms', Constants.Constants.entity_account, 'Brukeren kan logge inn på LMS (f.eks. Classfronter).') spread_lms_grp = _SpreadCode('group@lms', Constants.Constants.entity_group, 'Gruppen brukes av LMS-et.') spread_lms_per = _SpreadCode('person@lms', Constants.Constants.entity_person, 'Person kjent i organisasjonens LMS') spread_lms_ou = _SpreadCode( 'ou@lms', Constants.Constants.entity_ou, 'Eksportere OU til LMS (f.eks. Classfronter).') # OID spread_oid_acc = _SpreadCode( 'account@oid', Constants.Constants.entity_account, 'Brukeren kan logge inn på webportalen (OCS).') spread_oid_grp = _SpreadCode('group@oid', Constants.Constants.entity_group, 'Gruppen brukes av webportalen (OCS).') spread_oid_ou = _SpreadCode('ou@oid', Constants.Constants.entity_ou, 'OU-en skal eksporteres til OID.') # LDAP spread_ldap_per = _SpreadCode( 'person@ldap', Constants.Constants.entity_person, 'Brukeren kan benytte seg av FEIDE-innlogging.') spread_ldap_grp = _SpreadCode('group@ldap', Constants.Constants.entity_group, 'Gruppen brukes i LDAP.') # Quarantine codes quarantine_generell = _QuarantineCode('generell', 'Generell sperring') # Affiliation codes affiliation_ansatt = _PersonAffiliationCode( 'ANSATT', 'Personen er registrert som ansatt i SAS.') affiliation_status_ansatt_aktiv = _PersonAffStatusCode( affiliation_ansatt, 'aktiv', 'Personen har aktiv tilsetting, registrert i SAS.') affiliation_elev = _PersonAffiliationCode( 'ELEV', 'Personen er registrert som elev i SAS.') affiliation_status_elev_aktiv = _PersonAffStatusCode( affiliation_elev, 'aktiv', 'Eleven har en aktiv tilknytning til skolen, registrert i SAS.') affiliation_foresatt = _PersonAffiliationCode( 'FORESATT', 'Foresatt registrert i SAS.') affiliation_status_foresatt_aktiv = _PersonAffStatusCode( affiliation_foresatt, 'aktiv', 'Foresatt for elev med aktiv tilknytning til skole, registrert i SAS.') affiliation_manuell = _PersonAffiliationCode( 'MANUELL', 'Personen er ikke registrert i SAS.') affiliation_status_manuell_gjest = _PersonAffStatusCode( affiliation_manuell, 'gjest', 'Personen er tilknyttet skolen som gjest.') affiliation_teacher = _PersonAffiliationCode('LÆRER', 'Lærer registrert i SAS.') affiliation_status_teacher_aktiv = _PersonAffStatusCode( affiliation_teacher, 'aktiv', 'Lærer aktiv ved en skole.') affiliation_tilknyttet = _PersonAffiliationCode( 'TILKNYTTET', 'Personen knyttet til organisasjonen') affiliation_status_tilknyttet_aktiv = _PersonAffStatusCode( affiliation_tilknyttet, 'aktiv', 'Person aktiv ved organisasjonen.') affiliation_affiliate = _PersonAffiliationCode( 'AFFILIATE', 'Personen knyttet til organisasjonen') affiliation_status_affiliate_aktiv = _PersonAffStatusCode( affiliation_affiliate, 'aktiv', 'Person aktiv ved organisasjonen.') # Account_type codes account_test = _AccountCode('test', 'Testkonto') # Contact_types # TBD: contact_job_mobile should be removed. contact_private_mobile is # moved to Cerebrum.Constants.CommonConstants contact_job_mobile = _ContactInfoCode('JOBMOBILE', 'JOBMOBILE') contact_private_email = _ContactInfoCode('PRIVATEEMAIL', 'PRIVATEEMAIL') # Mail traits trait_homedb_info = _EntityTraitCode( 'homeMDB', Constants.Constants.entity_account, 'Register Exchange homeMDB for e-mail accounts') trait_x400_addr = _EntityTraitCode( 'x400address', Constants.Constants.entity_account, 'Register old addresses for e-mail accounts') trait_x500_addr = _EntityTraitCode( 'x500address', Constants.Constants.entity_account, 'Register old addresses for e-mail accounts') # Traits for migrating between versions of Exchange: # Marking accounts that are being migrated. Such accounts should not be # updated in AD until the migration is done. trait_exchange_under_migration = _EntityTraitCode( 'under_migration', Constants.Constants.entity_account, "Accounts that is under migrationt to another Exchange version.") # Need to differ between migrated and non-migrated accounts trait_exchange_migrated = _EntityTraitCode( 'exch_migrated', Constants.Constants.entity_account, "Account that has been migrated to a newer Exchange version.") # Group traits trait_group_imported = _EntityTraitCode( 'imported_group', Constants.Constants.entity_group, 'Register last_seen date for groups imported from by ABC') trait_group_derived = _EntityTraitCode( 'internal_group', Constants.Constants.entity_group, 'Register last_seen date for internaly created groups') trait_group_affiliation = _EntityTraitCode( 'aff_group', Constants.Constants.entity_group, 'Tag groups created to become affiliation groups.') # tag shadow groups as "undervisningsgruppe" and "klassegruppe" trait_shdw_undv = _EntityTraitCode( 'undv_group', Constants.Constants.entity_group, 'Tag groups created to represent "undervisningsgruppe".') trait_shdw_kls = _EntityTraitCode( 'kls_group', Constants.Constants.entity_group, 'Tag groups created to represent "klassegruppe".') # tag affiliation based auto-groups trait_auto_aff = _EntityTraitCode( 'auto_group', Constants.Constants.entity_group, 'Tag affiliations based automatic groups.') # Guardianship-related traits trait_guardian_of = _EntityTraitCode('guardian_of', Constants.Constants.entity_person, 'Register guardees for this person') trait_guardian_urls = _EntityTraitCode('guardian_urls', Constants.Constants.entity_person, 'Register urls for this person') # SMS traits trait_sms_reminder = _EntityTraitCode('sms_reminder', Constants.Constants.entity_account, 'Tagging that an SMS has been sent')
class Constants(Constants.Constants): # Affiliations and statuses # Project affiliation_project = _PersonAffiliationCode('PROJECT', 'Member of a project') # Project Owner affiliation_status_project_owner = _PersonAffStatusCode( affiliation_project, 'owner', 'Project Owner') # Project Administrator (PA) affiliation_status_project_admin = _PersonAffStatusCode( affiliation_project, 'admin', 'Project Administrator (PA)') # Project Member (PM) affiliation_status_project_member = _PersonAffStatusCode( affiliation_project, 'member', 'Project Member (PM)') # Pending affiliation_pending = _PersonAffiliationCode('PENDING', 'Unapproved affiliations') # Pending project member (PM) affiliation_status_pending_project_member = _PersonAffStatusCode( affiliation_pending, 'member', 'Waiting for getting accepted as a project member') # Spreads # AD spread_ad_account = _SpreadCode('account@ad', Constants.Constants.entity_account, 'Account should be synced with AD') spread_file_group = _SpreadCode('filegroup', Constants.Constants.entity_group, 'File group') spread_net_group = _SpreadCode('netgroup', Constants.Constants.entity_group, 'Net group') spread_ad_host = _SpreadCode('host@ad', DnsConstants.entity_dns_owner, 'Host that is synced with AD') # GW spread_gateway_account = _SpreadCode( 'account@gw', Constants.Constants.entity_account, 'Account to be synced to the gateway') # The gateway doesn't care about groups # spread_gateway_group = _SpreadCode( # 'group@gw', Constants.Constants.entity_group, # 'Group to be synced to the gateway') # Quarantines quarantine_autopassord = _QuarantineCode('autopassord', 'Password out of date') quarantine_generell = _QuarantineCode('generell', 'General block') quarantine_teppe = _QuarantineCode('teppe', 'Quarantine for severe issues') quarantine_not_approved = _QuarantineCode( 'not_approved', 'Waiting for approval from admin') quarantine_project_end = _QuarantineCode( 'project_end', 'Blocking projects when end date is reached') quarantine_project_start = _QuarantineCode( 'not_started_yet', "Project haven't started yet, waiting for start date") quarantine_frozen = _QuarantineCode('frozen', 'Project is frozen') quarantine_auto_frozen = _QuarantineCode('auto_frozen', 'User is auto-frozen') # Source systems system_nettskjema = _AuthoritativeSystemCode( 'Nettskjema', 'Information from Nettskjema, registered by anyone') system_ad = _AuthoritativeSystemCode('AD', 'Information from AD') # External IDs externalid_project_id = _EntityExternalIdCode( 'projectid', Constants.Constants.entity_ou, "Project's external ID, generated by Cerebrum") # Traits trait_project_group = _EntityTraitCode('project_group', Constants.Constants.entity_group, 'The project a group belongs to') trait_project_host = _EntityTraitCode('project_host', DnsConstants.entity_dns_owner, 'The project a host belongs to') trait_project_subnet = _EntityTraitCode( 'project_subnet', DnsConstants.entity_dns_subnet, 'The project a IPv4 subnet belongs to') trait_project_subnet6 = _EntityTraitCode( 'project_subnet6', DnsConstants.entity_dns_ipv6_subnet, 'The project a IPv6 subnet belongs to') trait_project_vm_type = _EntityTraitCode( 'project_vm_type', Constants.Constants.entity_ou, 'The type of VM the project should use') # Traits for metadata about projects: trait_project_institution = _EntityTraitCode( 'institution', Constants.Constants.entity_ou, 'The institution the project belongs to') trait_project_rek = _EntityTraitCode('rek_approval', Constants.Constants.entity_ou, 'The REK approval for the project') trait_project_persons_accepted = _EntityTraitCode( 'accepted_persons', Constants.Constants.entity_ou, 'FNRs of non-existing persons that has been ' 'accepted as members of the project') # Authentication codes (password types): trait_otp_device = _EntityTraitCode( 'otp_device', Constants.Constants.entity_person, 'The type of OTP key, e.g. hotp or ' 'totp, depending on device') auth_type_otp_key = _AuthenticationCode( 'OTP-key', 'One-Time Password key, used to be able to generate one-time' 'passwords') # DNS zone tsd_zone = _DnsZoneCode("tsd", ".tsd.usit.no.") tsdv4_zone = _DnsZoneCode("tsdipv4", None) tsdv6_zone = _DnsZoneCode("tsdipv6", None)
class ConstantsCommon(Constants.Constants): """ Constants that every instance should have. """ """ Common constants for all Norwegian installations. """ # external id definitions (NO_NIN, norwegian national id number) externalid_fodselsnr = _EntityExternalIdCode( 'NO_BIRTHNO', Constants.Constants.entity_person, 'Norwegian national ID number') @staticmethod def make_passport_number(country, passport_number): return '{}-{}'.format(country, passport_number) # External IDs related to A-melding. externalid_pass_number = _EntityExternalIdCode( 'PASSNR', Constants.Constants.entity_person, "A persons passport number") externalid_social_security_number = _EntityExternalIdCode( 'SSN', Constants.Constants.entity_person, "A persons social security number") externalid_tax_identification_number = _EntityExternalIdCode( 'TIN', Constants.Constants.entity_person, "A persons tax identification number") externalid_value_added_tax_number = _EntityExternalIdCode( 'VAT', Constants.Constants.entity_person, "A persons value added tax identification number") system_override = _AuthoritativeSystemCode( 'Override', 'Override information fetched from authoritative systems') spread_ou_publishable = _SpreadCode( 'publishable_ou', Constants.Constants.entity_ou, 'OUs publishable in online directories') quarantine_autopassord = _QuarantineCode( 'autopassord', 'Passord ikke skiftet trass pålegg') quarantine_svakt_passord = _QuarantineCode('svakt_passord', 'For dårlig passord') trait_auto_group = _EntityTraitCode( 'auto_group', Constants.Constants.entity_group, "Trait marking automatically administered groups with person members.") trait_auto_meta_group = _EntityTraitCode( 'auto_meta_group', Constants.Constants.entity_group, "Trait marking automatically administered groups with group members.") trait_personal_dfg = _EntityTraitCode('personal_group', Constants.Constants.entity_group, "Group is a personal file group.") trait_group_entitlement = _EntityTraitCode( 'entitlement', Constants.Constants.entity_group, "Trait listing entitlement that members of this group have") # Traits for the password service (Individuation) trait_password_token = _EntityTraitCode( "password_token", Constants.Constants.entity_account, "Store a one time password for an account") trait_browser_token = _EntityTraitCode( "browser_token", Constants.Constants.entity_account, "Store a browser token for an account") trait_password_failed_attempts = _EntityTraitCode( "passw_attempts", Constants.Constants.entity_account, "Number of times an account has tried to use sms password service") # Trait for reservation from the new password service # TODO: should be replaced by a reservation table later trait_reservation_sms_password = _EntityTraitCode( 'reserve_passw', Constants.Constants.entity_account, "Reserving account from using the forgotten password service (SMS)") # Trait for reservation from being published at the web # TODO: should be replaced by a reservation table later trait_public_reservation = _EntityTraitCode( 'reserve_public', Constants.Constants.entity_person, "Reserved from being published at the web pages") # Trait for storing if a user has gotten a welcome SMS. trait_sms_welcome = _EntityTraitCode( 'sms_welcome', Constants.Constants.entity_account, "If a user has retrieved a welcome message by SMS") # Trait for showing that a user account is either newly created or restored. # Used to e.g. send welcome message by SMS. This trait is for all accounts, # the trait_student_new should be used for only targeting student accounts. trait_account_new = _EntityTraitCode( 'new_account', Constants.Constants.entity_account, "The account is newly created or restored") # Trait for showing that a student account is either newly created or # restored. Used to send welcome message by SMS. trait_student_new = _EntityTraitCode( 'new_student', Constants.Constants.entity_account, "If the student account is newly created or restored") # Traits for SAP medarbeidergrupper trait_sap_mg = _EntityTraitCode('sap_mg', Constants.Constants.entity_account, "MG from SAP - medarbeidergruppe") trait_sap_mug = _EntityTraitCode('sap_mug', Constants.Constants.entity_account, "MUG from SAP - medarbeiderundergruppe") # Quarantine to be set automatically when cleaning up in persons that are no # longer affiliated with the instance quarantine_auto_no_aff = _QuarantineCode( 'auto_no_aff', 'Ikke tilknyttet person, utestengt')
class ConstantsHigherEdu(Constants.Constants): # authoritative source systems (FS = student registry, SAP = common # HR-system) system_fs = _AuthoritativeSystemCode('FS', 'FS') system_sap = _AuthoritativeSystemCode('SAP', 'SAP') # external id definitions (student and employee id) externalid_studentnr = _EntityExternalIdCode( 'NO_STUDNO', Constants.Constants.entity_person, 'Student ID number') externalid_sap_ansattnr = _EntityExternalIdCode( 'NO_SAPNO', Constants.Constants.entity_person, 'Employee ID number') externalid_sap_ou = _EntityExternalIdCode("SAP_OU_ID", Constants.Constants.entity_ou, 'SAP OU identification') externalid_uname = _EntityExternalIdCode('UNAME', Constants.Constants.entity_person, 'User name (external system)') externalid_stedkode = _EntityExternalIdCode('STEDKODE', Constants.Constants.entity_ou, 'Stedkode') # OU-structure perspectives perspective_fs = _OUPerspectiveCode('FS', 'FS') perspective_sap = _OUPerspectiveCode('SAP', 'SAP') # Affiliations for students affiliation_student = _PersonAffiliationCode('STUDENT', 'Student') affiliation_status_student_evu = _PersonAffStatusCode( affiliation_student, 'evu', 'Student, etter og videre utdanning') affiliation_status_student_aktiv = _PersonAffStatusCode( affiliation_student, 'aktiv', 'Student, aktiv') affiliation_status_student_privatist = _PersonAffStatusCode( affiliation_student, 'privatist', 'Student, privatist') affiliation_status_student_drgrad = _PersonAffStatusCode( affiliation_student, 'drgrad', 'Student, drgrad') affiliation_status_student_ekstern = _PersonAffStatusCode( affiliation_student, 'ekstern', 'Student, ekstern') # Affiliations for employees affiliation_ansatt = _PersonAffiliationCode('ANSATT', 'Ansatt') affiliation_status_ansatt_vitenskapelig = _PersonAffStatusCode( affiliation_ansatt, 'vitenskapelig', 'Ansatt, vitenskapelig') affiliation_status_ansatt_tekadm = _PersonAffStatusCode( affiliation_ansatt, 'tekadm', 'Ansatt, teknisk-administrativ') spread_ldap_group = _SpreadCode( 'group@ldap', Constants.Constants.entity_group, 'Gruppen eksporteres til gruppetreet i LDAP') # this should not really be her and it will be removed when the # bofhd-restructuring is done. for now it solves our problems # with bofhd_uio_cmds-copies in use. # bofhd constants auth_rt_create = _AuthRoleOpCode( 'rt_create', 'Create e-mail target for Request Tracker') auth_rt_replace = _AuthRoleOpCode( 'rt_replace', 'Replace existing mailing list with Request Tracker') auth_rt_addr_add = _AuthRoleOpCode( 'rt_addr_add', 'Add e-mail address to Request Tracker target')
class Constants(Constants.Constants): # # External Identifiers # externalid_sys_x_id = _EntityExternalIdCode( 'SYS_X_ID', Constants.Constants.entity_person, 'Internal sys_x identifier') externalid_paga_ansattnr = _EntityExternalIdCode( 'PAGA_ANSATTNR', Constants.Constants.entity_person, 'Internal PAGA identifier') externalid_hifm_ansattnr = _EntityExternalIdCode( 'HIFM_ANSATTNR', Constants.Constants.entity_person, 'Internal HIFM identifier') externalid_sito_ansattnr = _EntityExternalIdCode( 'SITO_ANSATTNR', Constants.Constants.entity_person, 'Internal SITO identifier') externalid_sito_ou = _EntityExternalIdCode('SITO_OU', Constants.Constants.entity_ou, 'internal sito ou identifier') # # Authoritative systems # system_hifm = _AuthoritativeSystemCode('HIFM', 'Høgskolen i Alta') system_hitos = _AuthoritativeSystemCode('HITOS', 'Høgskolen i Tromsø') system_x = _AuthoritativeSystemCode('SYS_X', 'Manuelt personal system') system_tlf = _AuthoritativeSystemCode('TLF', 'Telefoni system') system_sysacc = _AuthoritativeSystemCode('SYSACC', 'System Accounts') system_paga = _AuthoritativeSystemCode('PAGA', 'PAGA') system_sito = _AuthoritativeSystemCode('SITO', 'SITO') system_flyt = _AuthoritativeSystemCode('FLYT', 'FLYT') system_fs_derived = _AuthoritativeSystemCode('FS-auto', 'Utledet av FS data') system_kr_reg = _AuthoritativeSystemCode( 'KR_REG', 'Kontakt- og reservasjonsregisteret') system_intern_ice = _AuthoritativeSystemCode( 'INTERN_ICE', 'Internal (uit) source for ICE number') # # Account codes # account_test = _AccountCode('T', 'Testkonto') account_felles_drift = _AccountCode('FD', 'Felles Drift') account_felles_intern = _AccountCode('FI', 'Felles Intern') account_kurs = _AccountCode('K', 'Kurs') account_forening = _AccountCode('F', 'Forening') account_maskin = _AccountCode('M', 'Maskin') account_prosess = _AccountCode('P', 'Prosess') account_uit_guest = _AccountCode('gjestebruker_uit', 'Manuell gjestekonto') # # Contact codes # contact_workphone2 = _ContactInfoCode('PHONE_WORK_2', 'Secondary Work Phone') contact_room = _ContactInfoCode('ROOM@UIT', 'Location and room number') contact_building = _ContactInfoCode('BYGG@UIT', 'Building name') contact_sito_mobile = _ContactInfoCode('PHONE_SITO', 'sito employee phone') contact_uit_mobile = _ContactInfoCode('PHONE_UIT', 'uit employee phone') contact_ice_phone = _ContactInfoCode('ICE_PHONE', 'Phone number for alerts (varsler)') # # Address codes # address_location = _AddressCode('Lokasjon', 'Campus') # # OU Structure perspective # perspective_sito = _OUPerspectiveCode('SITO', 'SITO') # # Affiliations # # Employee affiliations affiliation_ansatt_sito = _PersonAffiliationCode( 'SITO', 'Ansatt ved studentsamskipnaden i tromso') affiliation_ansatt = _PersonAffiliationCode('ANSATT', 'Ansatt ved UiT (i følge LT)') affiliation_flyt_ansatt_hih = _PersonAffiliationCode( 'ANSATT_HIH', 'Ansatt ved HiH') affiliation_flyt_student_hih = _PersonAffiliationCode( 'STUDENT_HIH', 'Student ved HiH') # Affiliation status affiliation_status_flyt_hih_ansatt_faculty = _PersonAffStatusCode( affiliation_ansatt, 'Ansatt HiH', 'Vitenskapelig') affiliation_status_flyt_hih_ansatt_tekadm = _PersonAffStatusCode( affiliation_ansatt, 'ansatt HiH', 'Teknisk/administrativt') affiliation_status_flyt_hin_ansatt_faculty = _PersonAffStatusCode( affiliation_ansatt, 'Ansatt HiN', 'Vitenskapelig') affiliation_status_flyt_hin_ansatt_tekadm = _PersonAffStatusCode( affiliation_ansatt, 'ansatt HiN', 'Teknisk/administrativt') affiliation_status_timelonnet_fast = _PersonAffStatusCode( affiliation_ansatt, 'Timelonnet fast', 'Fast ansatt på timelønn') affiliation_status_timelonnet_midlertidig = _PersonAffStatusCode( affiliation_ansatt, 'Timelonnet midl', 'Midlertidig ansatt på timelønn') affiliation_status_ansatt_perm = _PersonAffStatusCode( affiliation_ansatt, 'permisjon', 'Ansatt, for tiden i permisjon') affiliation_status_flyt_ansatt_hifm = _PersonAffStatusCode( affiliation_ansatt, 'ansatt HIFm', 'Ansatte fra Høyskolen i Alta') affiliation_status_ansatt_sito = _PersonAffStatusCode( affiliation_ansatt_sito, 'sito', 'Ansatt') affiliation_status_ansatt_sys_x = _PersonAffStatusCode( affiliation_ansatt, 'sys_x-ansatt', 'Manuelt gitt tilgang til AD (bør nyanseres)') # Student affiliations affiliation_student = _PersonAffiliationCode( 'STUDENT', 'Student ved UiT (i følge FS)') affiliation_status_flyt_hih_student_aktiv = _PersonAffStatusCode( affiliation_student, 'student HiH', 'Aktiv student') affiliation_status_flyt_student_hifm = _PersonAffStatusCode( affiliation_student, 'student HIFm', 'Student fra Høyskolen i Alta') affiliation_status_flyt_hin_student_aktiv = _PersonAffStatusCode( affiliation_student, 'student HiN', 'Aktiv student') affiliation_status_student_soker = _PersonAffStatusCode( affiliation_student, 'soker', 'Registrert med søknad i FS') affiliation_status_student_sys_x = _PersonAffStatusCode( affiliation_student, 'sys_x-student', 'Student Manuelt gitt tilgang til AD') affiliation_status_student_tilbud = _PersonAffStatusCode( affiliation_student, 'tilbud', 'Har fått tilbud om opptak') affiliation_status_student_opptak = _PersonAffStatusCode( affiliation_student, 'opptak', 'Har studierett ved studieprogram') affiliation_status_student_ny = Constants._PersonAffStatusCode( affiliation_student, 'ny', 'Registrert med ny, gyldig studierett i FS') affiliation_status_student_perm = _PersonAffStatusCode( affiliation_student, 'permisjon', 'Har gyldig permisjonstatus i FS') affiliation_status_student_alumni = _PersonAffStatusCode( affiliation_student, 'alumni', 'Har fullført studieprogram i FS') affiliation_status_student_drgrad = _PersonAffStatusCode( affiliation_student, 'drgrad', 'Registrert student på doktorgrad') affiliation_status_student_emnestud = _PersonAffStatusCode( affiliation_student, 'emnestud', 'Registrert som aktiv emnestudent i FS') # Tilknyttet affiliation affiliation_tilknyttet = _PersonAffiliationCode( 'TILKNYTTET', 'Tilknyttet UiT uten å være student eller ansatt') affiliation_tilknyttet_fagperson = _PersonAffStatusCode( affiliation_tilknyttet, 'fagperson', 'Registrert som fagperson i FS') affiliation_tilknyttet_emeritus = _PersonAffStatusCode( affiliation_tilknyttet, 'emeritus', 'Registrert i LT med gjestetypekode EMERITUS') affiliation_tilknyttet_ekst_stip = _PersonAffStatusCode( affiliation_tilknyttet, 'ekst_stip', 'Personer registrert i LT med gjestetypekode=EF-STIP') # Manual affiliation affiliation_manuell = _PersonAffiliationCode( 'MANUELL', 'Tilknyttet enheter/instutusjoner som UiT har avtale med') affiliation_manuell_alumni = _PersonAffStatusCode( affiliation_manuell, 'alumni', 'Uteksaminerte studenter') affiliation_manuell_sito = _PersonAffStatusCode( affiliation_manuell, 'sito', 'Manuelt registrert Sito ansatt') affiliation_manuell_gjest_u_konto = _PersonAffStatusCode( affiliation_manuell, 'gjest_u_konto', 'gjest uten konto') affiliation_manuell_unn = _PersonAffStatusCode( affiliation_manuell, 'UNN', 'Universitets sykheuset i Nord Norge') affiliation_manuell_gjest = _PersonAffStatusCode(affiliation_manuell, 'gjest', 'Gjest') affiliation_manuell_utdanning_no = _PersonAffStatusCode( affiliation_manuell, 'utdanning_no', 'Utdanning.no') affiliation_manuell_akademisk_kvarter = _PersonAffStatusCode( affiliation_manuell, 'akademisk_kvart', 'Akademisk Kvarter') affiliation_manuell_norges_universitetet = _PersonAffStatusCode( affiliation_manuell, 'norges_universi', 'Norgesuniversitetet') affiliation_manuell_kirkutdnor = _PersonAffStatusCode( affiliation_manuell, 'kirkutdnor', 'Kirkelig Utdanningssenter Nord-Norge') affiliation_manuell_gjesteforsker = _PersonAffStatusCode( affiliation_manuell, 'gjesteforsker', 'Gjesteforsker (under utfasing)') affiliation_manuell_konsulent = _PersonAffStatusCode( affiliation_manuell, 'konsulent', 'Konsulent (under utfasing)') affiliation_status_gjest_u_account = _PersonAffStatusCode( affiliation_manuell, 'gjest_u_konto', 'Gjest uten konto') # Non-personal affiliation affiliation_upersonlig = _PersonAffiliationCode( 'UPERSONLIG', 'Fellesbrukere, samt andre brukere uten eier') affiliation_upersonlig_felles = _PersonAffStatusCode( affiliation_upersonlig, 'felles', 'Felleskonti') affiliation_upersonlig_kurs = _PersonAffStatusCode(affiliation_upersonlig, 'kurs', 'Kurskonti') affiliation_upersonlig_pvare = _PersonAffStatusCode( affiliation_upersonlig, 'pvare', 'Programvarekonti') affiliation_upersonlig_term_maskin = _PersonAffStatusCode( affiliation_upersonlig, 'term_maskin', 'Terminalstuemaskin') affiliation_upersonlig_bib_felles = _PersonAffStatusCode( affiliation_upersonlig, 'bib_felles', 'Bibliotek felles') # # Shells # # Override of the default shell paths. # NOTE: this file should be before PosixUser in cereconf.CLASS_CONSTANTS # TODO: Shell path mapping should be configuration, not db-constants. # posix_shell_bash = _PosixShellCode('bash', '/bin/bash') posix_shell_csh = _PosixShellCode('csh', '/bin/csh') posix_shell_false = _PosixShellCode('false', '/bin/false') posix_shell_nologin = _PosixShellCode('nologin', '/local/etc/nologin') posix_shell_sh = _PosixShellCode('sh', '/bin/sh') posix_shell_zsh = _PosixShellCode('zsh', '/local/bin/zsh') # # Spreads # spread_uit_fronter = _SpreadCode('fronter@uit', Constants.Constants.entity_group, 'fronter user') spread_uit_fronter_account = _SpreadCode( 'fronter_acc@uit', Constants.Constants.entity_account, 'fronter account') spread_uit_evu = _SpreadCode('evu@uit', Constants.Constants.entity_account, 'evu person') spread_uit_cristin = _SpreadCode('cristin@uit', Constants.Constants.entity_account, 'Accounts with CRISTIN spread') # spread for ldap guests spread_uit_ldap_guest = _SpreadCode( 'guest@ldap', Constants.Constants.entity_account, 'LDAP/RADIUS spread for wireless accounts') # spread for ldap system accounts spread_uit_ldap_system = _SpreadCode( 'system@ldap', Constants.Constants.entity_account, 'account included in system tree on ldap') # spread for ldap people accounts spread_uit_ldap_people = _SpreadCode( 'people@ldap', Constants.Constants.entity_account, 'account included in people tree on ldap') # spread for securimaster export spread_uit_securimaster = _SpreadCode( 'securimaster', Constants.Constants.entity_account, 'account to be exported to securimaster') # spread for portal export spread_uit_portal = _SpreadCode('portal export', Constants.Constants.entity_account, 'account to be exported to the portal') # spread for paga export - account uit should be exported to paga spread_uit_paga = _SpreadCode('paga export', Constants.Constants.entity_account, 'account to have its uid exported to paga') # spread for fs export - account should have email and uid exported to FS spread_uit_fs = _SpreadCode( 'fs export', Constants.Constants.entity_account, 'account to have its uid and email exported to fs') spread_uit_ad_account = _SpreadCode( 'AD_account', Constants.Constants.entity_account, 'account included in Active Directory') spread_uit_ad_group = _SpreadCode('AD_group', Constants.Constants.entity_group, 'group included in Active Directory') spread_uit_ad_lit_admingroup = _SpreadCode( 'AD_group_litadmn', Constants.Constants.entity_group, 'AD admingroup for local IT') # Spreads for Exchange spread_uit_exchange = _SpreadCode('exchange_mailbox', Constants.Constants.entity_account, 'Accounts with exchange mailbox') # sito spread spread_sito = _SpreadCode('SITO', Constants.Constants.entity_account, 'Accounts generated for sito users') spread_fronter_dotcom = _SpreadCode( '*****@*****.**', Constants.Constants.entity_group, 'Group representing a course that should be exported to the ' 'ClassFronter instance on fronter.com. Should only be given to ' 'groups that have been automatically generated from FS.') spread_ephorte_person = _SpreadCode('ePhorte_person', Constants.Constants.entity_person, 'Person included in ePhorte export') # # Email # email_server_type_exchange_imap = _EmailServerTypeCode( 'exchange_imap', "Server is an Exchange server") # # Quarantines # quarantine_ou_notvalid = _QuarantineCode( 'ou_notvalid', 'OU not valid from external source') quarantine_auto_emailonly = _QuarantineCode( 'auto_kunepost', 'Ikke ordin<E6>r student, tilgang til bare e-post') quarantine_auto_inaktiv = _QuarantineCode('auto_inaktiv', 'Ikke aktiv student, utestengt') quarantine_tilbud = _QuarantineCode( 'Tilbud', "Pre-generert konto til studenter som har fått studietilbud," "men som ikke har aktivert kontoen.") quarantine_sys_x_approved = _QuarantineCode( 'sys-x_approved', 'Konto fra system-x som ikke er godkjent') quarantine_generell = _QuarantineCode('generell', 'Generell splatt') quarantine_system = _QuarantineCode( 'system', 'Systembrukar som ikke skal logge inn') quarantine_permisjon = _QuarantineCode('permisjon', 'Brukeren har permisjon') quarantine_svakt_passord = _QuarantineCode('svakt_passord', 'For dårlig passord') quarantine_autopassord = _QuarantineCode( 'autopassord', 'Passord ikke skiftet trass pålegg') quarantine_sut_disk_usage = _QuarantineCode('sut_disk', "Bruker for mye disk på sut") # # Auth codes # auth_type_md5_crypt_hex = _AuthenticationCode( 'MD5-crypt2', "MD5-derived 32 bit password non unix style, no salt") auth_type_md5_b64 = _AuthenticationCode( 'MD5-crypt_base64', "MD5-derived 32 bit password base 64 encoded") # # Traits # trait_sito_registrar_notified = _EntityTraitCode( 'sito_req_mailed', Constants.Constants.entity_account, "Trait set on account when sito processing is done") trait_sito_user_notified = _EntityTraitCode( 'sito_user_mailed', Constants.Constants.entity_account, "Trait set on account after account created mail is sent to user") trait_sysx_registrar_notified = _EntityTraitCode( 'sysx_reg_mailed', Constants.Constants.entity_account, "Trait set on account when systemx processing is done") trait_sysx_user_notified = _EntityTraitCode( 'sysx_user_mailed', Constants.Constants.entity_account, "Trait set on account after account created mail is sent to user") trait_primary_aff = _EntityTraitCode( "primary_aff", Constants.Constants.entity_person, "A person's chosen primary affiliation," " for use at the web presentations") trait_sysx_registrar_notified = _EntityTraitCode( 'sysx_reg_mailed', Constants.Constants.entity_account, "Trait set on account when systemx processing is done") trait_sysx_user_notified = _EntityTraitCode( 'sysx_user_mailed', Constants.Constants.entity_account, "Trait set on account after account created mail is sent to user") trait_nsd_unit_code = _EntityTraitCode( 'nsd_unit_code', Constants.Constants.entity_ou, 'NSD unit code (Avdelingskode) to use for this OU')