from crits.vocabulary.vocab import vocab

class Common(vocab):
    READ = "read"
    WRITE = "write"
    DELETE = "delete"
    DOWNLOAD = "download"

    ALIASES_READ = "aliases_read"
    ALIASES_EDIT = "aliases_edit"

    DESCRIPTION_READ = "description_read"
    DESCRIPTION_EDIT = "description_edit"

    ACTIONS_READ = "actions_read"
    ACTIONS_ADD = "actions_add"
    ACTIONS_EDIT = "actions_edit"
    ACTIONS_DELETE = "actions_delete"

    BUCKETLIST_READ = "bucketlist_read"
    BUCKETLIST_EDIT = "bucketlist_edit"

    # Only used to check in the template if the user should be able to view campaigns
    CAMPAIGN_READ = "Campaign.read"

    CAMPAIGNS_READ = "campaigns_read"
    CAMPAIGNS_ADD = "campaigns_add"
    CAMPAIGNS_EDIT = "campaigns_edit"
    CAMPAIGNS_DELETE = "campaigns_delete"

    COMMENTS_READ = "comments_read"
    COMMENTS_ADD = "comments_add"
    COMMENTS_EDIT = "comments_edit"
    COMMENTS_DELETE = "comments_delete"

    LOCATIONS_READ = "locations_read"
    LOCATIONS_ADD = "locations_add"
    LOCATIONS_EDIT = "locations_edit"
    LOCATIONS_DELETE = "locations_delete"

    OBJECTS_READ = "objects_read"
    OBJECTS_ADD = "objects_add"
    OBJECTS_EDIT = "objects_edit"
    OBJECTS_DELETE = "objects_delete"

    RELATIONSHIPS_READ = "relationships_read"
    RELATIONSHIPS_ADD = "relationships_add"
    RELATIONSHIPS_EDIT = "relationships_edit"
    RELATIONSHIPS_DELETE = "relationships_delete"

    RELEASABILITY_READ = "releasability_read"
    RELEASABILITY_ADD = "releasability_add"
    RELEASABILITY_DELETE = "releasability_delete"

    SCREENSHOTS_READ = "screenshots_read"
    SCREENSHOTS_ADD = "screenshots_add"
    SCREENSHOTS_DELETE = "screenshots_delete"

    SECTORS_READ = "sectors_read"
    SECTORS_EDIT = "sectors_edit"

    SERVICES_READ = "services_read"
    SERVICES_EXECUTE = "services_execute"

    SOURCES_READ = "sources_read"
    SOURCES_ADD = "sources_add"
    SOURCES_EDIT = "sources_edit"
    SOURCES_DELETE = "sources_delete"

    STATUS_READ = "status_read"
    STATUS_EDIT = "status_edit"

    TICKETS_READ = "tickets_read"
    TICKETS_ADD = "tickets_add"
    TICKETS_EDIT = "tickets_edit"
    TICKETS_DELETE = "tickets_delete"

class GeneralACL(vocab):
    """
    Vocabulary for General ACLs
    """

    API_INTERFACE = "api_interface"
    SCRIPT_INTERFACE = "script_interface"
    WEB_INTERFACE = "web_interface"

    ADD_NEW_ACTOR_IDENTIFIER_TYPE = "add_new_actor_identifier_type"
    ADD_NEW_INDICATOR_ACTION = "add_new_indicator_action"
    ADD_NEW_RAW_DATA_TYPE = "add_new_raw_data_type"
    ADD_NEW_SIGNATURE_DEPENDENCY = "add_new_signature_dependency"
    ADD_NEW_SIGNATURE_TYPE = "add_new_signature_type"
    ADD_NEW_SOURCE = "add_new_source"
    ADD_NEW_USER_ROLE = "add_new_user_role"
    ADD_NEW_TLDS = "add_new_tlds"

    CONTROL_PANEL_READ = "control_panel_read"
    CONTROL_PANEL_SYSTEM_READ = "control_panel_system_read"
    CONTROL_PANEL_GENERAL_READ = "control_panel_general_read"
    CONTROL_PANEL_GENERAL_EDIT = "control_panel_general_edit"
    CONTROL_PANEL_CRITS_READ = "control_panel_crits_read"
    CONTROL_PANEL_CRITS_EDIT = "control_panel_crits_edit"
    CONTROL_PANEL_LDAP_READ = "control_panel_ldap_read"
    CONTROL_PANEL_LDAP_EDIT = "control_panel_ldap_edit"
    CONTROL_PANEL_SECURITY_READ = "control_panel_security_read"
    CONTROL_PANEL_SECURITY_EDIT = "control_panel_security_edit"
    CONTROL_PANEL_DOWNLOADING_READ = "control_panel_downloading_read"
    CONTROL_PANEL_DOWNLOADING_EDIT = "control_panel_downloading_edit"
    CONTROL_PANEL_SYSTEM_SERVICES_READ = "control_panel_system_services_read"
    CONTROL_PANEL_SYSTEM_SERVICES_EDIT = "control_panel_system_services_edit"
    CONTROL_PANEL_LOGGING_READ = "control_panel_logging_read"
    CONTROL_PANEL_LOGGING_EDIT = "control_panel_logging_edit"
    CONTROL_PANEL_ITEMS_READ = "control_panel_items_read"
    CONTROL_PANEL_USERS_READ = "control_panel_users_read"
    CONTROL_PANEL_USERS_ADD = "control_panel_users_add"
    CONTROL_PANEL_USERS_EDIT = "control_panel_users_edit"
    CONTROL_PANEL_USERS_ACTIVE = "control_panel_users_active"
    CONTROL_PANEL_ROLES_READ = "control_panel_roles_read"
    CONTROL_PANEL_ROLES_EDIT = "control_panel_roles_edit"
    CONTROL_PANEL_SERVICES_READ = "control_panel_services_read"
    CONTROL_PANEL_SERVICES_EDIT = "control_panel_services_edit"
    CONTROL_PANEL_AUDIT_LOG_READ = "control_panel_audit_log_read"
    RECENT_ACTIVITY_READ = "recent_activity_read"
    STIX_IMPORT_ADD = "stix_import_add"
    DNS_TIMELINE_READ = "dns_timeline_read"
    EMAILS_TIMELINE_READ = "emails_timeline_read"
    INDICATORS_TIMELINE_READ = "indicators_timeline_read"

class ActorACL(vocab):
    """
    Vocabulary for Actor ACLs.
    """
    ACTOR = "Actor."

    NAME_EDIT = ACTOR + "name_edit"

    INTENDED_EFFECTS_READ = ACTOR + "intended_effects_read"
    INTENDED_EFFECTS_EDIT = ACTOR + "intended_effects_edit"

    MOTIVATIONS_READ = ACTOR + "motivations_read"
    MOTIVATIONS_EDIT = ACTOR + "motivations_edit"

    SOPHISTICATIONS_READ = ACTOR + "sophistications_read"
    SOPHISTICATIONS_EDIT = ACTOR + "sophistications_edit"

    THREAT_TYPES_READ = ACTOR + "threat_types_read"
    THREAT_TYPES_EDIT = ACTOR + "threat_types_edit"

    ACTOR_IDENTIFIERS_READ =     ACTOR + "actor_identifiers_read"
    ACTOR_IDENTIFIERS_EDIT =     ACTOR + "actor_identifiers_edit"
    ACTOR_IDENTIFIERS_ADD =      ACTOR + "actor_identifiers_add"
    ACTOR_IDENTIFIERS_DELETE =   ACTOR + "actor_identifiers_delete"

    # Basics
    READ = ACTOR + Common.READ
    WRITE = ACTOR + Common.WRITE
    DELETE = ACTOR + Common.DELETE
    DOWNLOAD = ACTOR + Common.DOWNLOAD

    ALIASES_READ = ACTOR + Common.ALIASES_READ
    ALIASES_EDIT = ACTOR + Common.ALIASES_EDIT

    DESCRIPTION_READ = ACTOR + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = ACTOR + Common.DESCRIPTION_EDIT

    ACTIONS_READ = ACTOR + Common.ACTIONS_READ
    ACTIONS_ADD = ACTOR + Common.ACTIONS_ADD
    ACTIONS_EDIT = ACTOR + Common.ACTIONS_EDIT
    ACTIONS_DELETE = ACTOR + Common.ACTIONS_DELETE

    BUCKETLIST_READ = ACTOR + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = ACTOR + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = ACTOR + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = ACTOR + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = ACTOR + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = ACTOR + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = ACTOR + Common.COMMENTS_READ
    COMMENTS_ADD = ACTOR + Common.COMMENTS_ADD
    COMMENTS_EDIT = ACTOR + Common.COMMENTS_EDIT
    COMMENTS_DELETE = ACTOR + Common.COMMENTS_DELETE

    LOCATIONS_READ = ACTOR + Common.LOCATIONS_READ
    LOCATIONS_ADD = ACTOR + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = ACTOR + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = ACTOR + Common.LOCATIONS_DELETE

    OBJECTS_READ = ACTOR + Common.OBJECTS_READ
    OBJECTS_ADD = ACTOR + Common.OBJECTS_ADD
    OBJECTS_EDIT = ACTOR + Common.OBJECTS_EDIT
    OBJECTS_DELETE = ACTOR + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = ACTOR + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = ACTOR + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = ACTOR + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = ACTOR + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = ACTOR + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = ACTOR + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = ACTOR + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = ACTOR + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = ACTOR + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = ACTOR + Common.SCREENSHOTS_DELETE

    SECTORS_READ = ACTOR + Common.SECTORS_READ
    SECTORS_EDIT = ACTOR + Common.SECTORS_EDIT

    SERVICES_READ = ACTOR + Common.SERVICES_READ
    SERVICES_EXECUTE = ACTOR + Common.SERVICES_EXECUTE

    SOURCES_READ = ACTOR + Common.SOURCES_READ
    SOURCES_ADD = ACTOR + Common.SOURCES_ADD
    SOURCES_EDIT = ACTOR + Common.SOURCES_EDIT
    SOURCES_DELETE = ACTOR + Common.SOURCES_DELETE

    STATUS_READ = ACTOR + Common.STATUS_READ
    STATUS_EDIT = ACTOR + Common.STATUS_EDIT

    TICKETS_READ = ACTOR + Common.TICKETS_READ
    TICKETS_ADD = ACTOR + Common.TICKETS_ADD
    TICKETS_EDIT = ACTOR + Common.TICKETS_EDIT
    TICKETS_DELETE = ACTOR + Common.TICKETS_DELETE

class BackdoorACL(vocab):
    """
    Vocabulary for Backdoor ACLs
    """
    BACKDOOR = "Backdoor."

    ALIASES_READ = BACKDOOR + "aliases_read"
    ALIASES_EDIT = BACKDOOR + "aliases_edit"
    VERSION_EDIT = BACKDOOR + "version_edit"

    NAME_EDIT = BACKDOOR + "name_edit"

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = BACKDOOR + Common.READ
    WRITE = BACKDOOR + Common.WRITE
    DELETE = BACKDOOR + Common.DELETE
    DOWNLOAD = BACKDOOR + Common.DOWNLOAD

    DESCRIPTION_READ = BACKDOOR + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = BACKDOOR + Common.DESCRIPTION_EDIT

    ACTIONS_READ = BACKDOOR + Common.ACTIONS_READ
    ACTIONS_ADD = BACKDOOR + Common.ACTIONS_ADD
    ACTIONS_EDIT = BACKDOOR + Common.ACTIONS_EDIT
    ACTIONS_DELETE = BACKDOOR + Common.ACTIONS_DELETE

    BUCKETLIST_READ = BACKDOOR + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = BACKDOOR + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = BACKDOOR + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = BACKDOOR + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = BACKDOOR + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = BACKDOOR + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = BACKDOOR + Common.COMMENTS_READ
    COMMENTS_ADD = BACKDOOR + Common.COMMENTS_ADD
    COMMENTS_EDIT = BACKDOOR + Common.COMMENTS_EDIT
    COMMENTS_DELETE = BACKDOOR + Common.COMMENTS_DELETE

    LOCATIONS_READ = BACKDOOR + Common.LOCATIONS_READ
    LOCATIONS_ADD = BACKDOOR + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = BACKDOOR + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = BACKDOOR + Common.LOCATIONS_DELETE

    OBJECTS_READ = BACKDOOR + Common.OBJECTS_READ
    OBJECTS_ADD = BACKDOOR + Common.OBJECTS_ADD
    OBJECTS_EDIT = BACKDOOR + Common.OBJECTS_EDIT
    OBJECTS_DELETE = BACKDOOR + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = BACKDOOR + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = BACKDOOR + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = BACKDOOR + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = BACKDOOR + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = BACKDOOR + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = BACKDOOR + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = BACKDOOR + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = BACKDOOR + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = BACKDOOR + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = BACKDOOR + Common.SCREENSHOTS_DELETE

    SECTORS_READ = BACKDOOR + Common.SECTORS_READ
    SECTORS_EDIT = BACKDOOR + Common.SECTORS_EDIT

    SERVICES_READ = BACKDOOR + Common.SERVICES_READ
    SERVICES_EXECUTE = BACKDOOR + Common.SERVICES_EXECUTE

    SOURCES_READ = BACKDOOR + Common.SOURCES_READ
    SOURCES_ADD = BACKDOOR + Common.SOURCES_ADD
    SOURCES_EDIT = BACKDOOR + Common.SOURCES_EDIT
    SOURCES_DELETE = BACKDOOR + Common.SOURCES_DELETE

    STATUS_READ = BACKDOOR + Common.STATUS_READ
    STATUS_EDIT = BACKDOOR + Common.STATUS_EDIT

    TICKETS_READ = BACKDOOR + Common.TICKETS_READ
    TICKETS_ADD = BACKDOOR + Common.TICKETS_ADD
    TICKETS_EDIT = BACKDOOR + Common.TICKETS_EDIT
    TICKETS_DELETE = BACKDOOR + Common.TICKETS_DELETE

class CertificateACL(vocab):
    """
    Vocabulary for Certificate ACLs
    """
    CERTIFICATE = "Certificate."

    READ = CERTIFICATE + Common.READ
    WRITE = CERTIFICATE + Common.WRITE
    DELETE = CERTIFICATE + Common.DELETE
    DOWNLOAD = CERTIFICATE + Common.DOWNLOAD

    DESCRIPTION_READ = CERTIFICATE + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = CERTIFICATE + Common.DESCRIPTION_EDIT

    ACTIONS_READ = CERTIFICATE + Common.ACTIONS_READ
    ACTIONS_ADD = CERTIFICATE + Common.ACTIONS_ADD
    ACTIONS_EDIT = CERTIFICATE + Common.ACTIONS_EDIT
    ACTIONS_DELETE = CERTIFICATE + Common.ACTIONS_DELETE

    BUCKETLIST_READ = CERTIFICATE + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = CERTIFICATE + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = CERTIFICATE + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = CERTIFICATE + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = CERTIFICATE + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = CERTIFICATE + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = CERTIFICATE + Common.COMMENTS_READ
    COMMENTS_ADD = CERTIFICATE + Common.COMMENTS_ADD
    COMMENTS_EDIT = CERTIFICATE + Common.COMMENTS_EDIT
    COMMENTS_DELETE = CERTIFICATE + Common.COMMENTS_DELETE

    LOCATIONS_READ = CERTIFICATE + Common.LOCATIONS_READ
    LOCATIONS_ADD = CERTIFICATE + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = CERTIFICATE + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = CERTIFICATE + Common.LOCATIONS_DELETE

    OBJECTS_READ = CERTIFICATE + Common.OBJECTS_READ
    OBJECTS_ADD = CERTIFICATE + Common.OBJECTS_ADD
    OBJECTS_EDIT = CERTIFICATE + Common.OBJECTS_EDIT
    OBJECTS_DELETE = CERTIFICATE + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = CERTIFICATE + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = CERTIFICATE + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = CERTIFICATE + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = CERTIFICATE + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = CERTIFICATE + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = CERTIFICATE + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = CERTIFICATE + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = CERTIFICATE + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = CERTIFICATE + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = CERTIFICATE + Common.SCREENSHOTS_DELETE

    SECTORS_READ = CERTIFICATE + Common.SECTORS_READ
    SECTORS_EDIT = CERTIFICATE + Common.SECTORS_EDIT

    SERVICES_READ = CERTIFICATE + Common.SERVICES_READ
    SERVICES_EXECUTE = CERTIFICATE + Common.SERVICES_EXECUTE

    SOURCES_READ = CERTIFICATE + Common.SOURCES_READ
    SOURCES_ADD = CERTIFICATE + Common.SOURCES_ADD
    SOURCES_EDIT = CERTIFICATE + Common.SOURCES_EDIT
    SOURCES_DELETE = CERTIFICATE + Common.SOURCES_DELETE

    STATUS_READ = CERTIFICATE + Common.STATUS_READ
    STATUS_EDIT = CERTIFICATE + Common.STATUS_EDIT

    TICKETS_READ = CERTIFICATE + Common.TICKETS_READ
    TICKETS_ADD = CERTIFICATE + Common.TICKETS_ADD
    TICKETS_EDIT = CERTIFICATE + Common.TICKETS_EDIT
    TICKETS_DELETE = CERTIFICATE + Common.TICKETS_DELETE

class DomainACL(vocab):
    """
    Vocabulary for Domain ACLs
    """
    DOMAIN = "Domain."

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = DOMAIN + Common.READ
    WRITE = DOMAIN + Common.WRITE
    DELETE = DOMAIN + Common.DELETE
    DOWNLOAD = DOMAIN + Common.DOWNLOAD

    DESCRIPTION_READ = DOMAIN + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = DOMAIN + Common.DESCRIPTION_EDIT

    ACTIONS_READ = DOMAIN + Common.ACTIONS_READ
    ACTIONS_ADD = DOMAIN + Common.ACTIONS_ADD
    ACTIONS_EDIT = DOMAIN + Common.ACTIONS_EDIT
    ACTIONS_DELETE = DOMAIN + Common.ACTIONS_DELETE

    BUCKETLIST_READ = DOMAIN + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = DOMAIN + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = DOMAIN + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = DOMAIN + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = DOMAIN + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = DOMAIN + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = DOMAIN + Common.COMMENTS_READ
    COMMENTS_ADD = DOMAIN + Common.COMMENTS_ADD
    COMMENTS_EDIT = DOMAIN + Common.COMMENTS_EDIT
    COMMENTS_DELETE = DOMAIN + Common.COMMENTS_DELETE

    LOCATIONS_READ = DOMAIN + Common.LOCATIONS_READ
    LOCATIONS_ADD = DOMAIN + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = DOMAIN + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = DOMAIN + Common.LOCATIONS_DELETE

    OBJECTS_READ = DOMAIN + Common.OBJECTS_READ
    OBJECTS_ADD = DOMAIN + Common.OBJECTS_ADD
    OBJECTS_EDIT = DOMAIN + Common.OBJECTS_EDIT
    OBJECTS_DELETE = DOMAIN + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = DOMAIN + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = DOMAIN + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = DOMAIN + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = DOMAIN + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = DOMAIN + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = DOMAIN + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = DOMAIN + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = DOMAIN + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = DOMAIN + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = DOMAIN + Common.SCREENSHOTS_DELETE

    SECTORS_READ = DOMAIN + Common.SECTORS_READ
    SECTORS_EDIT = DOMAIN + Common.SECTORS_EDIT

    SERVICES_READ = DOMAIN + Common.SERVICES_READ
    SERVICES_EXECUTE = DOMAIN + Common.SERVICES_EXECUTE

    SOURCES_READ = DOMAIN + Common.SOURCES_READ
    SOURCES_ADD = DOMAIN + Common.SOURCES_ADD
    SOURCES_EDIT = DOMAIN + Common.SOURCES_EDIT
    SOURCES_DELETE = DOMAIN + Common.SOURCES_DELETE

    STATUS_READ = DOMAIN + Common.STATUS_READ
    STATUS_EDIT = DOMAIN + Common.STATUS_EDIT

    TICKETS_READ = DOMAIN + Common.TICKETS_READ
    TICKETS_ADD = DOMAIN + Common.TICKETS_ADD
    TICKETS_EDIT = DOMAIN + Common.TICKETS_EDIT
    TICKETS_DELETE = DOMAIN + Common.TICKETS_DELETE

class EmailACL(vocab):
    """
    Vocabulary for Email ACLs
    """
    EMAIL = "Email."
    ADD_ATTACHMENT = EMAIL +  "add_attachment"

    CAMPAIGN_READ = Common.CAMPAIGN_READ



    READ = EMAIL + Common.READ
    WRITE = EMAIL + Common.WRITE
    DELETE = EMAIL + Common.DELETE
    DOWNLOAD = EMAIL + Common.DOWNLOAD

    DESCRIPTION_READ = EMAIL + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = EMAIL + Common.DESCRIPTION_EDIT

    ACTIONS_READ = EMAIL + Common.ACTIONS_READ
    ACTIONS_ADD = EMAIL + Common.ACTIONS_ADD
    ACTIONS_EDIT = EMAIL + Common.ACTIONS_EDIT
    ACTIONS_DELETE = EMAIL + Common.ACTIONS_DELETE

    BUCKETLIST_READ = EMAIL + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = EMAIL + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = EMAIL + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = EMAIL + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = EMAIL + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = EMAIL + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = EMAIL + Common.COMMENTS_READ
    COMMENTS_ADD = EMAIL + Common.COMMENTS_ADD
    COMMENTS_EDIT = EMAIL + Common.COMMENTS_EDIT
    COMMENTS_DELETE = EMAIL + Common.COMMENTS_DELETE

    LOCATIONS_READ = EMAIL + Common.LOCATIONS_READ
    LOCATIONS_ADD = EMAIL + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = EMAIL + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = EMAIL + Common.LOCATIONS_DELETE

    OBJECTS_READ = EMAIL + Common.OBJECTS_READ
    OBJECTS_ADD = EMAIL + Common.OBJECTS_ADD
    OBJECTS_EDIT = EMAIL + Common.OBJECTS_EDIT
    OBJECTS_DELETE = EMAIL + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = EMAIL + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = EMAIL + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = EMAIL + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = EMAIL + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = EMAIL + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = EMAIL + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = EMAIL + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = EMAIL + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = EMAIL + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = EMAIL + Common.SCREENSHOTS_DELETE

    SECTORS_READ = EMAIL + Common.SECTORS_READ
    SECTORS_EDIT = EMAIL + Common.SECTORS_EDIT

    SERVICES_READ = EMAIL + Common.SERVICES_READ
    SERVICES_EXECUTE = EMAIL + Common.SERVICES_EXECUTE

    SOURCES_READ = EMAIL + Common.SOURCES_READ
    SOURCES_ADD = EMAIL + Common.SOURCES_ADD
    SOURCES_EDIT = EMAIL + Common.SOURCES_EDIT
    SOURCES_DELETE = EMAIL + Common.SOURCES_DELETE

    STATUS_READ = EMAIL + Common.STATUS_READ
    STATUS_EDIT = EMAIL + Common.STATUS_EDIT

    TICKETS_READ = EMAIL + Common.TICKETS_READ
    TICKETS_ADD = EMAIL + Common.TICKETS_ADD
    TICKETS_EDIT = EMAIL + Common.TICKETS_EDIT
    TICKETS_DELETE = EMAIL + Common.TICKETS_DELETE

class EventACL(vocab):
    """
    Vocabulary for Event ACLs
    """
    EVENT = "Event."

    ADD_SAMPLE = EVENT + "add_sample"
    TITLE_EDIT = EVENT + "title_edit"
    TYPE_EDIT = EVENT + "type_edit"

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = EVENT + Common.READ
    WRITE = EVENT + Common.WRITE
    DELETE = EVENT + Common.DELETE
    DOWNLOAD = EVENT + Common.DOWNLOAD

    DESCRIPTION_READ = EVENT + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = EVENT + Common.DESCRIPTION_EDIT

    ACTIONS_READ = EVENT + Common.ACTIONS_READ
    ACTIONS_ADD = EVENT + Common.ACTIONS_ADD
    ACTIONS_EDIT = EVENT + Common.ACTIONS_EDIT
    ACTIONS_DELETE = EVENT + Common.ACTIONS_DELETE

    BUCKETLIST_READ = EVENT + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = EVENT + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = EVENT + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = EVENT + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = EVENT + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = EVENT + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = EVENT + Common.COMMENTS_READ
    COMMENTS_ADD = EVENT + Common.COMMENTS_ADD
    COMMENTS_EDIT = EVENT + Common.COMMENTS_EDIT
    COMMENTS_DELETE = EVENT + Common.COMMENTS_DELETE

    LOCATIONS_READ = EVENT + Common.LOCATIONS_READ
    LOCATIONS_ADD = EVENT + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = EVENT + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = EVENT + Common.LOCATIONS_DELETE

    OBJECTS_READ = EVENT + Common.OBJECTS_READ
    OBJECTS_ADD = EVENT + Common.OBJECTS_ADD
    OBJECTS_EDIT = EVENT + Common.OBJECTS_EDIT
    OBJECTS_DELETE = EVENT + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = EVENT + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = EVENT + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = EVENT + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = EVENT + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = EVENT + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = EVENT + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = EVENT + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = EVENT + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = EVENT + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = EVENT + Common.SCREENSHOTS_DELETE

    SECTORS_READ = EVENT + Common.SECTORS_READ
    SECTORS_EDIT = EVENT + Common.SECTORS_EDIT

    SERVICES_READ = EVENT + Common.SERVICES_READ
    SERVICES_EXECUTE = EVENT + Common.SERVICES_EXECUTE

    SOURCES_READ = EVENT + Common.SOURCES_READ
    SOURCES_ADD = EVENT + Common.SOURCES_ADD
    SOURCES_EDIT = EVENT + Common.SOURCES_EDIT
    SOURCES_DELETE = EVENT + Common.SOURCES_DELETE

    STATUS_READ = EVENT + Common.STATUS_READ
    STATUS_EDIT = EVENT + Common.STATUS_EDIT

    TICKETS_READ = EVENT + Common.TICKETS_READ
    TICKETS_ADD = EVENT + Common.TICKETS_ADD
    TICKETS_EDIT = EVENT + Common.TICKETS_EDIT
    TICKETS_DELETE = EVENT + Common.TICKETS_DELETE

class ExploitACL(vocab):
    """
    Vocabulary for Exploit ACLs
    """
    EXPLOIT = "Exploit."

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = EXPLOIT + Common.READ
    WRITE = EXPLOIT + Common.WRITE
    DELETE = EXPLOIT + Common.DELETE
    DOWNLOAD = EXPLOIT + Common.DOWNLOAD

    DESCRIPTION_READ = EXPLOIT + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = EXPLOIT + Common.DESCRIPTION_EDIT

    ACTIONS_READ = EXPLOIT + Common.ACTIONS_READ
    ACTIONS_ADD = EXPLOIT + Common.ACTIONS_ADD
    ACTIONS_EDIT = EXPLOIT + Common.ACTIONS_EDIT
    ACTIONS_DELETE = EXPLOIT + Common.ACTIONS_DELETE

    BUCKETLIST_READ = EXPLOIT + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = EXPLOIT + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = EXPLOIT + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = EXPLOIT + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = EXPLOIT + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = EXPLOIT + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = EXPLOIT + Common.COMMENTS_READ
    COMMENTS_ADD = EXPLOIT + Common.COMMENTS_ADD
    COMMENTS_EDIT = EXPLOIT + Common.COMMENTS_EDIT
    COMMENTS_DELETE = EXPLOIT + Common.COMMENTS_DELETE

    LOCATIONS_READ = EXPLOIT + Common.LOCATIONS_READ
    LOCATIONS_ADD = EXPLOIT + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = EXPLOIT + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = EXPLOIT + Common.LOCATIONS_DELETE

    OBJECTS_READ = EXPLOIT + Common.OBJECTS_READ
    OBJECTS_ADD = EXPLOIT + Common.OBJECTS_ADD
    OBJECTS_EDIT = EXPLOIT + Common.OBJECTS_EDIT
    OBJECTS_DELETE = EXPLOIT + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = EXPLOIT + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = EXPLOIT + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = EXPLOIT + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = EXPLOIT + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = EXPLOIT + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = EXPLOIT + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = EXPLOIT + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = EXPLOIT + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = EXPLOIT + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = EXPLOIT + Common.SCREENSHOTS_DELETE

    SECTORS_READ = EXPLOIT + Common.SECTORS_READ
    SECTORS_EDIT = EXPLOIT + Common.SECTORS_EDIT

    SERVICES_READ = EXPLOIT + Common.SERVICES_READ
    SERVICES_EXECUTE = EXPLOIT + Common.SERVICES_EXECUTE

    SOURCES_READ = EXPLOIT + Common.SOURCES_READ
    SOURCES_ADD = EXPLOIT + Common.SOURCES_ADD
    SOURCES_EDIT = EXPLOIT + Common.SOURCES_EDIT
    SOURCES_DELETE = EXPLOIT + Common.SOURCES_DELETE

    STATUS_READ = EXPLOIT + Common.STATUS_READ
    STATUS_EDIT = EXPLOIT + Common.STATUS_EDIT

    TICKETS_READ = EXPLOIT + Common.TICKETS_READ
    TICKETS_ADD = EXPLOIT + Common.TICKETS_ADD
    TICKETS_EDIT = EXPLOIT + Common.TICKETS_EDIT
    TICKETS_DELETE = EXPLOIT + Common.TICKETS_DELETE

class IndicatorACL(vocab):
    """
    Vocabulary for Indicator ACLs
    """
    INDICATOR = "Indicator."

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    TYPE_EDIT = INDICATOR + "type_edit"
    THREAT_TYPE_EDIT = INDICATOR + "threat_type_edit"
    ATTACK_TYPE_EDIT = INDICATOR + "attack_type_edit"
    CONFIDENCE_EDIT = INDICATOR + "confidence_edit"
    IMPACT_EDIT = INDICATOR + "impact_edit"

    ACTIONS_READ = INDICATOR + "actions_read"
    ACTIONS_ADD = INDICATOR + "actions_add"
    ACTIONS_EDIT = INDICATOR + "actions_edit"
    ACTIONS_DELETE = INDICATOR + "actions_delete"

    ACTIVITY_READ = INDICATOR + "activity_read"
    ACTIVITY_ADD = INDICATOR + "activity_add"
    ACTIVITY_EDIT = INDICATOR + "activity_edit"
    ACTIVITY_DELETE = INDICATOR + "activity_delete"

    READ = INDICATOR + Common.READ
    WRITE = INDICATOR + Common.WRITE
    DELETE = INDICATOR + Common.DELETE
    DOWNLOAD = INDICATOR + Common.DOWNLOAD

    DESCRIPTION_READ = INDICATOR + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = INDICATOR + Common.DESCRIPTION_EDIT

    ACTIONS_READ = INDICATOR + Common.ACTIONS_READ
    ACTIONS_ADD = INDICATOR + Common.ACTIONS_ADD
    ACTIONS_EDIT = INDICATOR + Common.ACTIONS_EDIT
    ACTIONS_DELETE = INDICATOR + Common.ACTIONS_DELETE

    BUCKETLIST_READ = INDICATOR + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = INDICATOR + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = INDICATOR + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = INDICATOR + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = INDICATOR + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = INDICATOR + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = INDICATOR + Common.COMMENTS_READ
    COMMENTS_ADD = INDICATOR + Common.COMMENTS_ADD
    COMMENTS_EDIT = INDICATOR + Common.COMMENTS_EDIT
    COMMENTS_DELETE = INDICATOR + Common.COMMENTS_DELETE

    LOCATIONS_READ = INDICATOR + Common.LOCATIONS_READ
    LOCATIONS_ADD = INDICATOR + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = INDICATOR + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = INDICATOR + Common.LOCATIONS_DELETE

    OBJECTS_READ = INDICATOR + Common.OBJECTS_READ
    OBJECTS_ADD = INDICATOR + Common.OBJECTS_ADD
    OBJECTS_EDIT = INDICATOR + Common.OBJECTS_EDIT
    OBJECTS_DELETE = INDICATOR + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = INDICATOR + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = INDICATOR + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = INDICATOR + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = INDICATOR + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = INDICATOR + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = INDICATOR + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = INDICATOR + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = INDICATOR + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = INDICATOR + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = INDICATOR + Common.SCREENSHOTS_DELETE

    SECTORS_READ = INDICATOR + Common.SECTORS_READ
    SECTORS_EDIT = INDICATOR + Common.SECTORS_EDIT

    SERVICES_READ = INDICATOR + Common.SERVICES_READ
    SERVICES_EXECUTE = INDICATOR + Common.SERVICES_EXECUTE

    SOURCES_READ = INDICATOR + Common.SOURCES_READ
    SOURCES_ADD = INDICATOR + Common.SOURCES_ADD
    SOURCES_EDIT = INDICATOR + Common.SOURCES_EDIT
    SOURCES_DELETE = INDICATOR + Common.SOURCES_DELETE

    STATUS_READ = INDICATOR + Common.STATUS_READ
    STATUS_EDIT = INDICATOR + Common.STATUS_EDIT

    TICKETS_READ = INDICATOR + Common.TICKETS_READ
    TICKETS_ADD = INDICATOR + Common.TICKETS_ADD
    TICKETS_EDIT = INDICATOR + Common.TICKETS_EDIT
    TICKETS_DELETE = INDICATOR + Common.TICKETS_DELETE

class IPACL(vocab):
    """
    Vocabulary for IP Address ACLs
    """
    IP = "IP."

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = IP + Common.READ
    WRITE = IP + Common.WRITE
    DELETE = IP + Common.DELETE
    DOWNLOAD = IP + Common.DOWNLOAD

    DESCRIPTION_READ = IP + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = IP + Common.DESCRIPTION_EDIT

    ACTIONS_READ = IP + Common.ACTIONS_READ
    ACTIONS_ADD = IP + Common.ACTIONS_ADD
    ACTIONS_EDIT = IP + Common.ACTIONS_EDIT
    ACTIONS_DELETE = IP + Common.ACTIONS_DELETE

    BUCKETLIST_READ = IP + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = IP + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = IP + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = IP + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = IP + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = IP + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = IP + Common.COMMENTS_READ
    COMMENTS_ADD = IP + Common.COMMENTS_ADD
    COMMENTS_EDIT = IP + Common.COMMENTS_EDIT
    COMMENTS_DELETE = IP + Common.COMMENTS_DELETE

    LOCATIONS_READ = IP + Common.LOCATIONS_READ
    LOCATIONS_ADD = IP + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = IP + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = IP + Common.LOCATIONS_DELETE

    OBJECTS_READ = IP + Common.OBJECTS_READ
    OBJECTS_ADD = IP + Common.OBJECTS_ADD
    OBJECTS_EDIT = IP + Common.OBJECTS_EDIT
    OBJECTS_DELETE = IP + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = IP + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = IP + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = IP + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = IP + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = IP + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = IP + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = IP + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = IP + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = IP + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = IP + Common.SCREENSHOTS_DELETE

    SECTORS_READ = IP + Common.SECTORS_READ
    SECTORS_EDIT = IP + Common.SECTORS_EDIT

    SERVICES_READ = IP + Common.SERVICES_READ
    SERVICES_EXECUTE = IP + Common.SERVICES_EXECUTE

    SOURCES_READ = IP + Common.SOURCES_READ
    SOURCES_ADD = IP + Common.SOURCES_ADD
    SOURCES_EDIT = IP + Common.SOURCES_EDIT
    SOURCES_DELETE = IP + Common.SOURCES_DELETE

    STATUS_READ = IP + Common.STATUS_READ
    STATUS_EDIT = IP + Common.STATUS_EDIT

    TICKETS_READ = IP + Common.TICKETS_READ
    TICKETS_ADD = IP + Common.TICKETS_ADD
    TICKETS_EDIT = IP + Common.TICKETS_EDIT
    TICKETS_DELETE = IP + Common.TICKETS_DELETE

class PCAPACL(vocab):
    """
    Vocabulary for PCAP ACLs
    """
    PCAP = "PCAP."

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = PCAP + Common.READ
    WRITE = PCAP + Common.WRITE
    DELETE = PCAP + Common.DELETE
    DOWNLOAD = PCAP + Common.DOWNLOAD

    DESCRIPTION_READ = PCAP + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = PCAP + Common.DESCRIPTION_EDIT

    ACTIONS_READ = PCAP + Common.ACTIONS_READ
    ACTIONS_ADD = PCAP + Common.ACTIONS_ADD
    ACTIONS_EDIT = PCAP + Common.ACTIONS_EDIT
    ACTIONS_DELETE = PCAP + Common.ACTIONS_DELETE

    BUCKETLIST_READ = PCAP + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = PCAP + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = PCAP + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = PCAP + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = PCAP + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = PCAP + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = PCAP + Common.COMMENTS_READ
    COMMENTS_ADD = PCAP + Common.COMMENTS_ADD
    COMMENTS_EDIT = PCAP + Common.COMMENTS_EDIT
    COMMENTS_DELETE = PCAP + Common.COMMENTS_DELETE

    LOCATIONS_READ = PCAP + Common.LOCATIONS_READ
    LOCATIONS_ADD = PCAP + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = PCAP + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = PCAP + Common.LOCATIONS_DELETE

    OBJECTS_READ = PCAP + Common.OBJECTS_READ
    OBJECTS_ADD = PCAP + Common.OBJECTS_ADD
    OBJECTS_EDIT = PCAP + Common.OBJECTS_EDIT
    OBJECTS_DELETE = PCAP + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = PCAP + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = PCAP + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = PCAP + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = PCAP + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = PCAP + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = PCAP + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = PCAP + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = PCAP + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = PCAP + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = PCAP + Common.SCREENSHOTS_DELETE

    SECTORS_READ = PCAP + Common.SECTORS_READ
    SECTORS_EDIT = PCAP + Common.SECTORS_EDIT

    SERVICES_READ = PCAP + Common.SERVICES_READ
    SERVICES_EXECUTE = PCAP + Common.SERVICES_EXECUTE

    SOURCES_READ = PCAP + Common.SOURCES_READ
    SOURCES_ADD = PCAP + Common.SOURCES_ADD
    SOURCES_EDIT = PCAP + Common.SOURCES_EDIT
    SOURCES_DELETE = PCAP + Common.SOURCES_DELETE

    STATUS_READ = PCAP + Common.STATUS_READ
    STATUS_EDIT = PCAP + Common.STATUS_EDIT

    TICKETS_READ = PCAP + Common.TICKETS_READ
    TICKETS_ADD = PCAP + Common.TICKETS_ADD
    TICKETS_EDIT = PCAP + Common.TICKETS_EDIT
    TICKETS_DELETE = PCAP + Common.TICKETS_DELETE

class RawDataACL(vocab):
    """
    Vocabulary for Raw Data ACLs
    """
    RAWDATA = "RawData."

    UPLOAD_NEW_VERSION = RAWDATA + "upload_new_version"

    TOOL_EDIT = RAWDATA + "tool_edit"
    TOOL_DESCRIPTION_EDIT = RAWDATA + "tool_description_edit"
    DATA_TYPE_EDIT = RAWDATA + "data_type_edit"

    LINE_COMMENT_ADD = RAWDATA + "line_comment_add"

    HIGHLIGHT_ADD = RAWDATA + "highlight_add"
    HIGHLIGHT_LINE_DATE_EDIT = RAWDATA + "highlight_line_date_edit"
    HIGHLIGHT_COMMENT_EDIT = RAWDATA + "highlight_comment_edit"


    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = RAWDATA + Common.READ
    WRITE = RAWDATA + Common.WRITE
    DELETE = RAWDATA + Common.DELETE
    DOWNLOAD = RAWDATA + Common.DOWNLOAD

    DESCRIPTION_READ = RAWDATA + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = RAWDATA + Common.DESCRIPTION_EDIT

    ACTIONS_READ = RAWDATA + Common.ACTIONS_READ
    ACTIONS_ADD = RAWDATA + Common.ACTIONS_ADD
    ACTIONS_EDIT = RAWDATA + Common.ACTIONS_EDIT
    ACTIONS_DELETE = RAWDATA + Common.ACTIONS_DELETE

    BUCKETLIST_READ = RAWDATA + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = RAWDATA + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = RAWDATA + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = RAWDATA + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = RAWDATA + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = RAWDATA + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = RAWDATA + Common.COMMENTS_READ
    COMMENTS_ADD = RAWDATA + Common.COMMENTS_ADD
    COMMENTS_EDIT = RAWDATA + Common.COMMENTS_EDIT
    COMMENTS_DELETE = RAWDATA + Common.COMMENTS_DELETE

    LOCATIONS_READ = RAWDATA + Common.LOCATIONS_READ
    LOCATIONS_ADD = RAWDATA + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = RAWDATA + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = RAWDATA + Common.LOCATIONS_DELETE

    OBJECTS_READ = RAWDATA + Common.OBJECTS_READ
    OBJECTS_ADD = RAWDATA + Common.OBJECTS_ADD
    OBJECTS_EDIT = RAWDATA + Common.OBJECTS_EDIT
    OBJECTS_DELETE = RAWDATA + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = RAWDATA + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = RAWDATA + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = RAWDATA + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = RAWDATA + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = RAWDATA + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = RAWDATA + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = RAWDATA + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = RAWDATA + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = RAWDATA + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = RAWDATA + Common.SCREENSHOTS_DELETE

    SECTORS_READ = RAWDATA + Common.SECTORS_READ
    SECTORS_EDIT = RAWDATA + Common.SECTORS_EDIT

    SERVICES_READ = RAWDATA + Common.SERVICES_READ
    SERVICES_EXECUTE = RAWDATA + Common.SERVICES_EXECUTE

    SOURCES_READ = RAWDATA + Common.SOURCES_READ
    SOURCES_ADD = RAWDATA + Common.SOURCES_ADD
    SOURCES_EDIT = RAWDATA + Common.SOURCES_EDIT
    SOURCES_DELETE = RAWDATA + Common.SOURCES_DELETE

    STATUS_READ = RAWDATA + Common.STATUS_READ
    STATUS_EDIT = RAWDATA + Common.STATUS_EDIT

    TICKETS_READ = RAWDATA + Common.TICKETS_READ
    TICKETS_ADD = RAWDATA + Common.TICKETS_ADD
    TICKETS_EDIT = RAWDATA + Common.TICKETS_EDIT
    TICKETS_DELETE = RAWDATA + Common.TICKETS_DELETE

class SampleACL(vocab):
    """
    Vocabulary for Sample ACLs
    """
    SAMPLE = "Sample."

    UPLOAD_RELATED_SAMPLE = SAMPLE + "upload_related_sample"
    UPLOAD_RELATED_PCAP = SAMPLE + "upload_related_sample"

    TEXT_VIEW = SAMPLE + "text_view"
    YAML_VIEW = SAMPLE + "text_view"
    UNRAR_SAMPLE = SAMPLE + "unrar_sample"
    UNZIP_SAMPLE = SAMPLE + "unzip_sample"

    FILENAME_EDIT = SAMPLE + "filename_edit"
    FILENAMES_ADD = SAMPLE + "filenames_add"
    FILENAMES_REMOVE = SAMPLE + "filenames_remove"

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = SAMPLE + Common.READ
    WRITE = SAMPLE + Common.WRITE
    DELETE = SAMPLE + Common.DELETE
    DOWNLOAD = SAMPLE + Common.DOWNLOAD

    DESCRIPTION_READ = SAMPLE + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = SAMPLE + Common.DESCRIPTION_EDIT

    ACTIONS_READ = SAMPLE + Common.ACTIONS_READ
    ACTIONS_ADD = SAMPLE + Common.ACTIONS_ADD
    ACTIONS_EDIT = SAMPLE + Common.ACTIONS_EDIT
    ACTIONS_DELETE = SAMPLE + Common.ACTIONS_DELETE

    BUCKETLIST_READ = SAMPLE + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = SAMPLE + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = SAMPLE + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = SAMPLE + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = SAMPLE + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = SAMPLE + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = SAMPLE + Common.COMMENTS_READ
    COMMENTS_ADD = SAMPLE + Common.COMMENTS_ADD
    COMMENTS_EDIT = SAMPLE + Common.COMMENTS_EDIT
    COMMENTS_DELETE = SAMPLE + Common.COMMENTS_DELETE

    LOCATIONS_READ = SAMPLE + Common.LOCATIONS_READ
    LOCATIONS_ADD = SAMPLE + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = SAMPLE + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = SAMPLE + Common.LOCATIONS_DELETE

    OBJECTS_READ = SAMPLE + Common.OBJECTS_READ
    OBJECTS_ADD = SAMPLE + Common.OBJECTS_ADD
    OBJECTS_EDIT = SAMPLE + Common.OBJECTS_EDIT
    OBJECTS_DELETE = SAMPLE + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = SAMPLE + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = SAMPLE + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = SAMPLE + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = SAMPLE + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = SAMPLE + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = SAMPLE + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = SAMPLE + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = SAMPLE + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = SAMPLE + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = SAMPLE + Common.SCREENSHOTS_DELETE

    SECTORS_READ = SAMPLE + Common.SECTORS_READ
    SECTORS_EDIT = SAMPLE + Common.SECTORS_EDIT

    SERVICES_READ = SAMPLE + Common.SERVICES_READ
    SERVICES_EXECUTE = SAMPLE + Common.SERVICES_EXECUTE

    SOURCES_READ = SAMPLE + Common.SOURCES_READ
    SOURCES_ADD = SAMPLE + Common.SOURCES_ADD
    SOURCES_EDIT = SAMPLE + Common.SOURCES_EDIT
    SOURCES_DELETE = SAMPLE + Common.SOURCES_DELETE

    STATUS_READ = SAMPLE + Common.STATUS_READ
    STATUS_EDIT = SAMPLE + Common.STATUS_EDIT

    TICKETS_READ = SAMPLE + Common.TICKETS_READ
    TICKETS_ADD = SAMPLE + Common.TICKETS_ADD
    TICKETS_EDIT = SAMPLE + Common.TICKETS_EDIT
    TICKETS_DELETE = SAMPLE + Common.TICKETS_DELETE

class SignatureACL(vocab):
    """
    Vocabulary for Signature ACLs
    """
    SIGNATURE = "Signature."

    UPLOAD_NEW_VERSION = SIGNATURE + "upload_new_version"

    DATA_TYPE_READ = SIGNATURE + "data_type_read"
    DATA_TYPE_EDIT = SIGNATURE + "data_type_edit"

    DATA_TYPE_MIN_VERSION_READ = SIGNATURE + "data_type_min_version_read"
    DATA_TYPE_MIN_VERSION_EDIT = SIGNATURE + "data_type_min_version_edit"

    DATA_TYPE_MAX_VERSION_READ = SIGNATURE + "data_type_max_version_read"
    DATA_TYPE_MAX_VERSION_EDIT = SIGNATURE + "data_type_max_version_edit"

    DATA_READ = SIGNATURE + "data_read"
    DATA_EDIT = SIGNATURE + "data_edit"

    DEPENDENCIES_READ = SIGNATURE + "dependencies_read"
    DEPENDENCIES_EDIT = SIGNATURE + "dependencies_edit"

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = SIGNATURE + Common.READ
    WRITE = SIGNATURE + Common.WRITE
    DELETE = SIGNATURE + Common.DELETE
    DOWNLOAD = SIGNATURE + Common.DOWNLOAD

    DESCRIPTION_READ = SIGNATURE + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = SIGNATURE + Common.DESCRIPTION_EDIT

    ACTIONS_READ = SIGNATURE + Common.ACTIONS_READ
    ACTIONS_ADD = SIGNATURE + Common.ACTIONS_ADD
    ACTIONS_EDIT = SIGNATURE + Common.ACTIONS_EDIT
    ACTIONS_DELETE = SIGNATURE + Common.ACTIONS_DELETE

    BUCKETLIST_READ = SIGNATURE + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = SIGNATURE + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = SIGNATURE + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = SIGNATURE + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = SIGNATURE + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = SIGNATURE + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = SIGNATURE + Common.COMMENTS_READ
    COMMENTS_ADD = SIGNATURE + Common.COMMENTS_ADD
    COMMENTS_EDIT = SIGNATURE + Common.COMMENTS_EDIT
    COMMENTS_DELETE = SIGNATURE + Common.COMMENTS_DELETE

    LOCATIONS_READ = SIGNATURE + Common.LOCATIONS_READ
    LOCATIONS_ADD = SIGNATURE + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = SIGNATURE + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = SIGNATURE + Common.LOCATIONS_DELETE

    OBJECTS_READ = SIGNATURE + Common.OBJECTS_READ
    OBJECTS_ADD = SIGNATURE + Common.OBJECTS_ADD
    OBJECTS_EDIT = SIGNATURE + Common.OBJECTS_EDIT
    OBJECTS_DELETE = SIGNATURE + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = SIGNATURE + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = SIGNATURE + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = SIGNATURE + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = SIGNATURE + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = SIGNATURE + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = SIGNATURE + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = SIGNATURE + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = SIGNATURE + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = SIGNATURE + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = SIGNATURE + Common.SCREENSHOTS_DELETE

    SECTORS_READ = SIGNATURE + Common.SECTORS_READ
    SECTORS_EDIT = SIGNATURE + Common.SECTORS_EDIT

    SERVICES_READ = SIGNATURE + Common.SERVICES_READ
    SERVICES_EXECUTE = SIGNATURE + Common.SERVICES_EXECUTE

    SOURCES_READ = SIGNATURE + Common.SOURCES_READ
    SOURCES_ADD = SIGNATURE + Common.SOURCES_ADD
    SOURCES_EDIT = SIGNATURE + Common.SOURCES_EDIT
    SOURCES_DELETE = SIGNATURE + Common.SOURCES_DELETE

    STATUS_READ = SIGNATURE + Common.STATUS_READ
    STATUS_EDIT = SIGNATURE + Common.STATUS_EDIT

    TICKETS_READ = SIGNATURE + Common.TICKETS_READ
    TICKETS_ADD = SIGNATURE + Common.TICKETS_ADD
    TICKETS_EDIT = SIGNATURE + Common.TICKETS_EDIT
    TICKETS_DELETE = SIGNATURE + Common.TICKETS_DELETE

class ScreenshotACL(vocab):
    """
    Vocabulary for Screenshot ACLs
    """

    SCREENSHOT_ADD = ".screenshots_add"
    SCREENSHOT_DELETE = ".screenshots_delete"

class TargetACL(vocab):
    """
    Vocabulary for Target ACLs
    """
    TARGET = "Target."

    EDIT_DETAILS = TARGET + "edit_details"

    CAMPAIGN_READ = Common.CAMPAIGN_READ

    READ = TARGET + Common.READ
    WRITE = TARGET + Common.WRITE
    DELETE = TARGET + Common.DELETE
    DOWNLOAD = TARGET + Common.DOWNLOAD

    DESCRIPTION_READ = TARGET + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = TARGET + Common.DESCRIPTION_EDIT

    ACTIONS_READ = TARGET + Common.ACTIONS_READ
    ACTIONS_ADD = TARGET + Common.ACTIONS_ADD
    ACTIONS_EDIT = TARGET + Common.ACTIONS_EDIT
    ACTIONS_DELETE = TARGET + Common.ACTIONS_DELETE

    BUCKETLIST_READ = TARGET + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = TARGET + Common.BUCKETLIST_EDIT

    CAMPAIGNS_READ = TARGET + Common.CAMPAIGNS_READ
    CAMPAIGNS_ADD = TARGET + Common.CAMPAIGNS_ADD
    CAMPAIGNS_EDIT = TARGET + Common.CAMPAIGNS_EDIT
    CAMPAIGNS_DELETE = TARGET + Common.CAMPAIGNS_DELETE

    COMMENTS_READ = TARGET + Common.COMMENTS_READ
    COMMENTS_ADD = TARGET + Common.COMMENTS_ADD
    COMMENTS_EDIT = TARGET + Common.COMMENTS_EDIT
    COMMENTS_DELETE = TARGET + Common.COMMENTS_DELETE

    LOCATIONS_READ = TARGET + Common.LOCATIONS_READ
    LOCATIONS_ADD = TARGET + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = TARGET + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = TARGET + Common.LOCATIONS_DELETE

    OBJECTS_READ = TARGET + Common.OBJECTS_READ
    OBJECTS_ADD = TARGET + Common.OBJECTS_ADD
    OBJECTS_EDIT = TARGET + Common.OBJECTS_EDIT
    OBJECTS_DELETE = TARGET + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = TARGET + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = TARGET + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = TARGET + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = TARGET + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = TARGET + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = TARGET + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = TARGET + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = TARGET + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = TARGET + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = TARGET + Common.SCREENSHOTS_DELETE

    SECTORS_READ = TARGET + Common.SECTORS_READ
    SECTORS_EDIT = TARGET + Common.SECTORS_EDIT

    SERVICES_READ = TARGET + Common.SERVICES_READ
    SERVICES_EXECUTE = TARGET + Common.SERVICES_EXECUTE

    SOURCES_READ = TARGET + Common.SOURCES_READ
    SOURCES_ADD = TARGET + Common.SOURCES_ADD
    SOURCES_EDIT = TARGET + Common.SOURCES_EDIT
    SOURCES_DELETE = TARGET + Common.SOURCES_DELETE

    STATUS_READ = TARGET + Common.STATUS_READ
    STATUS_EDIT = TARGET + Common.STATUS_EDIT

    TICKETS_READ = TARGET + Common.TICKETS_READ
    TICKETS_ADD = TARGET + Common.TICKETS_ADD
    TICKETS_EDIT = TARGET + Common.TICKETS_EDIT
    TICKETS_DELETE = TARGET + Common.TICKETS_DELETE

class CampaignACL(vocab):
    """
    Vocabulary for Campaign ACLs
    """
    CAMPAIGN = "Campaign."

    TTPS_READ = CAMPAIGN + "ttps_read"
    TTPS_ADD = CAMPAIGN + "ttps_add"
    TTPS_DELETE = CAMPAIGN + "ttps_delete"


    # This portion is not really a part of the ACL for Campaigns, but is used in
    # the Campaign TLO to attribute campaigns to other TlOs
    CAMPAIGNS_ADD = ".campaigns_add"
    CAMPAIGNS_EDIT = ".campaigns_edit"
    CAMPAIGNS_DELETE = ".campaigns_delete"

    # This portion is used in the Campaign Template
    ACTOR_READ = ActorACL.READ
    BACKDOOR_READ = BackdoorACL.READ
    DOMAIN_READ = DomainACL.READ
    EMAIL_READ = EmailACL.READ
    EVENT_READ = EventACL.READ
    EXPLOIT_READ = ExploitACL.READ
    INDICATOR_READ = IndicatorACL.READ
    IP_READ = IPACL.READ
    PCAP_READ = PCAPACL.READ
    SAMPLE_READ = SampleACL.READ
    TARGET_READ = TargetACL.READ


    READ = CAMPAIGN + Common.READ
    WRITE = CAMPAIGN + Common.WRITE
    DELETE = CAMPAIGN + Common.DELETE
    DOWNLOAD = CAMPAIGN + Common.DOWNLOAD

    ALIASES_READ = CAMPAIGN + Common.ALIASES_READ
    ALIASES_EDIT = CAMPAIGN + Common.ALIASES_EDIT

    DESCRIPTION_READ = CAMPAIGN + Common.DESCRIPTION_READ
    DESCRIPTION_EDIT = CAMPAIGN + Common.DESCRIPTION_EDIT

    ACTIONS_READ = CAMPAIGN + Common.ACTIONS_READ
    ACTIONS_ADD = CAMPAIGN + Common.ACTIONS_ADD
    ACTIONS_EDIT = CAMPAIGN + Common.ACTIONS_EDIT
    ACTIONS_DELETE = CAMPAIGN + Common.ACTIONS_DELETE

    BUCKETLIST_READ = CAMPAIGN + Common.BUCKETLIST_READ
    BUCKETLIST_EDIT = CAMPAIGN + Common.BUCKETLIST_EDIT

    COMMENTS_READ = CAMPAIGN + Common.COMMENTS_READ
    COMMENTS_ADD = CAMPAIGN + Common.COMMENTS_ADD
    COMMENTS_EDIT = CAMPAIGN + Common.COMMENTS_EDIT
    COMMENTS_DELETE = CAMPAIGN + Common.COMMENTS_DELETE

    LOCATIONS_READ = CAMPAIGN + Common.LOCATIONS_READ
    LOCATIONS_ADD = CAMPAIGN + Common.LOCATIONS_ADD
    LOCATIONS_EDIT = CAMPAIGN + Common.LOCATIONS_EDIT
    LOCATIONS_DELETE = CAMPAIGN + Common.LOCATIONS_DELETE

    OBJECTS_READ = CAMPAIGN + Common.OBJECTS_READ
    OBJECTS_ADD = CAMPAIGN + Common.OBJECTS_ADD
    OBJECTS_EDIT = CAMPAIGN + Common.OBJECTS_EDIT
    OBJECTS_DELETE = CAMPAIGN + Common.OBJECTS_DELETE

    RELATIONSHIPS_READ = CAMPAIGN + Common.RELATIONSHIPS_READ
    RELATIONSHIPS_ADD = CAMPAIGN + Common.RELATIONSHIPS_ADD
    RELATIONSHIPS_EDIT = CAMPAIGN + Common.RELATIONSHIPS_EDIT
    RELATIONSHIPS_DELETE = CAMPAIGN + Common.RELATIONSHIPS_DELETE

    RELEASABILITY_READ = CAMPAIGN + Common.RELEASABILITY_READ
    RELEASABILITY_ADD = CAMPAIGN + Common.RELEASABILITY_ADD
    RELEASABILITY_DELETE = CAMPAIGN + Common.RELEASABILITY_DELETE

    SCREENSHOTS_READ = CAMPAIGN + Common.SCREENSHOTS_READ
    SCREENSHOTS_ADD = CAMPAIGN + Common.SCREENSHOTS_ADD
    SCREENSHOTS_DELETE = CAMPAIGN + Common.SCREENSHOTS_DELETE

    SECTORS_READ = CAMPAIGN + Common.SECTORS_READ
    SECTORS_EDIT = CAMPAIGN + Common.SECTORS_EDIT

    SERVICES_READ = CAMPAIGN + Common.SERVICES_READ
    SERVICES_EXECUTE = CAMPAIGN + Common.SERVICES_EXECUTE

    SOURCES_READ = CAMPAIGN + Common.SOURCES_READ
    SOURCES_ADD = CAMPAIGN + Common.SOURCES_ADD
    SOURCES_EDIT = CAMPAIGN + Common.SOURCES_EDIT
    SOURCES_DELETE = CAMPAIGN + Common.SOURCES_DELETE

    STATUS_READ = CAMPAIGN + Common.STATUS_READ
    STATUS_EDIT = CAMPAIGN + Common.STATUS_EDIT

    TICKETS_READ = CAMPAIGN + Common.TICKETS_READ
    TICKETS_ADD = CAMPAIGN + Common.TICKETS_ADD
    TICKETS_EDIT = CAMPAIGN + Common.TICKETS_EDIT
    TICKETS_DELETE = CAMPAIGN + Common.TICKETS_DELETE

class ReadACL(vocab):
    """
    This is to pass into base.html to see the current status of all of the
    TLOs that we want to read
    """
    ADD_NEW_ACTOR_IDENTIFIER_TYPE = GeneralACL.ADD_NEW_ACTOR_IDENTIFIER_TYPE
    ADD_NEW_INDICATOR_ACTION = GeneralACL.ADD_NEW_INDICATOR_ACTION
    ADD_NEW_RAW_DATA_TYPE = GeneralACL.ADD_NEW_RAW_DATA_TYPE
    ADD_NEW_SIGNATURE_DEPENDENCY = GeneralACL.ADD_NEW_SIGNATURE_DEPENDENCY
    ADD_NEW_SIGNATURE_TYPE = GeneralACL.ADD_NEW_SIGNATURE_TYPE
    ADD_NEW_SOURCE = GeneralACL.ADD_NEW_SOURCE
    ADD_NEW_USER_ROLE = GeneralACL.ADD_NEW_USER_ROLE
    ADD_NEW_TLDS = GeneralACL.ADD_NEW_TLDS

    ACTOR_READ = ActorACL.READ
    ACTOR_WRITE = ActorACL.WRITE
    ACTOR_IDENTIFIERS_ADD = ActorACL.ACTOR_IDENTIFIERS_ADD
    BACKDOOR_READ = BackdoorACL.READ
    BACKDOOR_WRITE = BackdoorACL.WRITE
    CAMPAIGN_READ = CampaignACL.READ
    CAMPAIGN_WRITE = CampaignACL.WRITE
    CERTIFICATE_READ = CertificateACL.READ
    CERTIFICATE_WRITE = CertificateACL.WRITE
    CONTROL_PANEL_SERVICES_READ = GeneralACL.CONTROL_PANEL_SERVICES_READ
    DOMAIN_READ = DomainACL.READ
    DOMAIN_WRITE = DomainACL.WRITE
    EMAIL_READ = EmailACL.READ
    EMAIL_WRITE = EmailACL.WRITE
    EVENT_READ = EventACL.READ
    EVENT_WRITE = EventACL.WRITE
    EXPLOIT_READ = ExploitACL.READ
    EXPLOIT_WRITE = ExploitACL.WRITE
    INDICATOR_READ = IndicatorACL.READ
    INDICATOR_WRITE = IndicatorACL.WRITE
    IP_READ = IPACL.READ
    IP_WRITE = IPACL.WRITE
    PCAP_READ = PCAPACL.READ
    PCAP_WRITE = PCAPACL.WRITE
    RAWDATA_READ = RawDataACL.READ
    RAWDATA_WRITE = RawDataACL.WRITE
    SAMPLE_READ = SampleACL.READ
    SAMPLE_WRITE = SampleACL.WRITE
    SIGNATURE_READ = SignatureACL.READ
    SIGNATURE_WRITE = SignatureACL.WRITE
    TARGET_READ = TargetACL.READ
    TARGET_WRITE = TargetACL.WRITE
