# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import migrations, models import re2o.mixins import re2o.aes_field class Migration(migrations.Migration): dependencies = [] replaces = [ ("users", "0001_initial"), ("users", "0002_auto_20160630_2301"), ("users", "0003_listrights_rights"), ("users", "0004_auto_20160701_2312"), ("users", "0005_auto_20160702_0006"), ("users", "0006_ban"), ("users", "0007_auto_20160702_2322"), ("users", "0008_user_registered"), ("users", "0009_user_room"), ("users", "0010_auto_20160703_1226"), ("users", "0011_auto_20160703_1227"), ("users", "0012_auto_20160703_1230"), ("users", "0013_auto_20160704_1547"), ("users", "0014_auto_20160704_1548"), ("users", "0015_whitelist"), ("users", "0016_auto_20160706_1220"), ("users", "0017_auto_20160707_0105"), ("users", "0018_auto_20160707_0115"), ("users", "0019_auto_20160708_1633"), ("users", "0020_request"), ("users", "0021_ldapuser"), ("users", "0022_ldapuser_sambasid"), ("users", "0023_auto_20160724_1908"), ("users", "0024_remove_ldapuser_mac_list"), ("users", "0025_listshell"), ("users", "0026_user_shell"), ("users", "0027_auto_20160726_0216"), ("users", "0028_auto_20160726_0227"), ("users", "0029_auto_20160726_0229"), ("users", "0030_auto_20160726_0357"), ("users", "0031_auto_20160726_0359"), ("users", "0032_auto_20160727_2122"), ("users", "0033_remove_ldapuser_loginshell"), ("users", "0034_auto_20161018_0037"), ("users", "0035_auto_20161018_0046"), ("users", "0036_auto_20161022_2146"), ("users", "0037_auto_20161028_1906"), ("users", "0038_auto_20161031_0258"), ("users", "0039_auto_20161119_0033"), ("users", "0040_auto_20161119_1709"), ("users", "0041_listright_details"), ("users", "0042_auto_20161126_2028"), ("users", "0043_auto_20161224_1156"), ("users", "0043_ban_state"), ("users", "0044_user_ssh_public_key"), ("users", "0045_merge"), ("users", "0046_auto_20170617_1433"), ("users", "0047_auto_20170618_0156"), ("users", "0048_auto_20170618_0210"), ("users", "0049_auto_20170618_1424"), ("users", "0050_serviceuser_comment"), ("users", "0051_user_telephone"), ("users", "0052_ldapuser_shadowexpire"), ("users", "0053_auto_20170626_2105"), ("users", "0054_auto_20170626_2219"), ("users", "0055_auto_20171003_0556"), ("users", "0056_auto_20171015_2033"), ("users", "0057_auto_20171023_0301"), ("users", "0058_auto_20171025_0154"), ("users", "0059_auto_20171025_1854"), ("users", "0060_auto_20171120_0317"), ("users", "0061_auto_20171230_2033"), ("users", "0062_auto_20171231_0056"), ("users", "0063_auto_20171231_0140"), ("users", "0064_auto_20171231_0150"), ("users", "0065_auto_20171231_2053"), ("users", "0066_grouppermissions"), ("users", "0067_serveurpermission"), ("users", "0068_auto_20180107_2245"), ("users", "0069_club_mailing"), ("users", "0070_auto_20180324_1906"), ("users", "0071_auto_20180415_1252"), ("users", "0072_auto_20180426_2021"), ("users", "0073_auto_20180629_1614"), ("users", "0074_auto_20180810_2104"), ("users", "0074_auto_20180814_1059"), ("users", "0075_merge_20180815_2202"), ("users", "0076_auto_20180818_1321"), ("users", "0077_auto_20180824_1750"), ("users", "0078_auto_20181011_1405"), ("users", "0079_auto_20181228_2039"), ("users", "0080_auto_20190108_1726"), ("users", "0081_auto_20190317_0302"), ("users", "0082_auto_20190908_1338"), ("users", "0083_user_shortcuts_enabled"), ("users", "0084_auto_20191120_0159"), ("users", "0085_user_email_state"), ("users", "0086_user_email_change_date"), ("users", "0087_request_email"), ("users", "0088_auto_20200417_2312"), ("users", "0089_auto_20200418_0112"), ("users", "0090_auto_20200421_1825"), ("users", "0091_auto_20200423_1256"), ("users", "0092_auto_20200502_0057"), ("users", "0093_user_profile_image"), ("users", "0094_remove_user_profile_image"), ("users", "0095_user_theme"), ("users", "0096_auto_20210110_1811"), ("cotisations", "0001_initial"), ("cotisations", "0002_remove_facture_article"), ("cotisations", "0003_auto_20160702_1448"), ("cotisations", "0004_auto_20160702_1528"), ("cotisations", "0005_auto_20160702_1532"), ("cotisations", "0006_auto_20160702_1534"), ("cotisations", "0007_auto_20160702_1543"), ("cotisations", "0008_auto_20160702_1614"), ("cotisations", "0009_remove_cotisation_user"), ("cotisations", "0010_auto_20160702_1840"), ("cotisations", "0011_auto_20160702_1911"), ("cotisations", "0012_auto_20160704_0118"), ("cotisations", "0013_auto_20160711_2240"), ("cotisations", "0014_auto_20160712_0245"), ("cotisations", "0015_auto_20160714_2142"), ("cotisations", "0016_auto_20160715_0110"), ("cotisations", "0017_auto_20170718_2329"), ("cotisations", "0018_paiement_type_paiement"), ("cotisations", "0019_auto_20170819_0055"), ("cotisations", "0020_auto_20170819_0057"), ("cotisations", "0021_auto_20170819_0104"), ("cotisations", "0022_auto_20170824_0128"), ("cotisations", "0023_auto_20170902_1303"), ("cotisations", "0024_auto_20171015_2033"), ("cotisations", "0025_article_type_user"), ("cotisations", "0026_auto_20171028_0126"), ("cotisations", "0027_auto_20171029_1156"), ("cotisations", "0028_auto_20171231_0007"), ("cotisations", "0029_auto_20180414_2056"), ("cotisations", "0030_custom_payment"), ("cotisations", "0031_comnpaypayment_production"), ("cotisations", "0032_custom_invoice"), ("cotisations", "0033_auto_20180818_1319"), ("cotisations", "0034_auto_20180831_1532"), ("cotisations", "0035_notepayment"), ("cotisations", "0036_custominvoice_remark"), ("cotisations", "0037_costestimate"), ("cotisations", "0038_auto_20181231_1657"), ("cotisations", "0039_freepayment"), ("cotisations", "0040_auto_20191002_2335"), ("cotisations", "0041_auto_20191103_2131"), ("cotisations", "0042_auto_20191120_0159"), ("cotisations", "0043_separation_membership_connection_p1"), ("cotisations", "0044_separation_membership_connection_p2"), ("cotisations", "0045_separation_membership_connection_p3"), ("cotisations", "0046_article_need_membership"), ("cotisations", "0047_article_need_membership_init"), ("cotisations", "0048_auto_20201017_0018"), ("cotisations", "0049_auto_20201102_2305"), ("cotisations", "0050_auto_20201102_2342"), ("cotisations", "0051_auto_20201228_1636"), ("machines", "0001_initial"), ("machines", "0002_auto_20160703_1444"), ("machines", "0003_auto_20160703_1450"), ("machines", "0004_auto_20160703_1451"), ("machines", "0005_auto_20160703_1523"), ("machines", "0006_auto_20160703_1813"), ("machines", "0007_auto_20160703_1816"), ("machines", "0008_remove_interface_ipv6"), ("machines", "0009_auto_20160703_2358"), ("machines", "0010_auto_20160704_0104"), ("machines", "0011_auto_20160704_0105"), ("machines", "0012_auto_20160704_0118"), ("machines", "0013_auto_20160705_1014"), ("machines", "0014_auto_20160706_1220"), ("machines", "0015_auto_20160707_0105"), ("machines", "0016_auto_20160708_1633"), ("machines", "0017_auto_20160708_1645"), ("machines", "0018_auto_20160708_1813"), ("machines", "0019_auto_20160718_1141"), ("machines", "0020_auto_20160718_1849"), ("machines", "0021_auto_20161006_1943"), ("machines", "0022_auto_20161011_1829"), ("machines", "0023_iplist_ip_type"), ("machines", "0024_machinetype_need_infra"), ("machines", "0025_auto_20161023_0038"), ("machines", "0026_auto_20161026_1348"), ("machines", "0027_alias"), ("machines", "0028_iptype_domaine_ip"), ("machines", "0029_iptype_domaine_range"), ("machines", "0030_auto_20161118_1730"), ("machines", "0031_auto_20161119_1709"), ("machines", "0032_auto_20161119_1850"), ("machines", "0033_extension_need_infra"), ("machines", "0034_iplist_need_infra"), ("machines", "0035_auto_20161224_1201"), ("machines", "0036_auto_20161224_1204"), ("machines", "0037_domain_cname"), ("machines", "0038_auto_20161224_1721"), ("machines", "0039_auto_20161224_1732"), ("machines", "0040_remove_interface_dns"), ("machines", "0041_remove_ns_interface"), ("machines", "0042_ns_ns"), ("machines", "0043_auto_20170721_0350"), ("machines", "0044_auto_20170808_0233"), ("machines", "0045_auto_20170808_0348"), ("machines", "0046_auto_20170808_1423"), ("machines", "0047_auto_20170809_0606"), ("machines", "0048_auto_20170823_2315"), ("machines", "0049_vlan"), ("machines", "0050_auto_20170826_0022"), ("machines", "0051_iptype_vlan"), ("machines", "0052_auto_20170828_2322"), ("machines", "0053_text"), ("machines", "0054_text_zone"), ("machines", "0055_nas"), ("machines", "0056_nas_port_access_mode"), ("machines", "0057_nas_autocapture_mac"), ("machines", "0058_auto_20171002_0350"), ("machines", "0059_iptype_prefix_v6"), ("machines", "0060_iptype_ouverture_ports"), ("machines", "0061_auto_20171015_2033"), ("machines", "0062_extension_origin_v6"), ("machines", "0063_auto_20171020_0040"), ("machines", "0064_auto_20171115_0253"), ("machines", "0065_auto_20171115_1514"), ("machines", "0066_srv"), ("machines", "0067_auto_20171116_0152"), ("machines", "0068_auto_20171116_0252"), ("machines", "0069_auto_20171116_0822"), ("machines", "0070_auto_20171231_1947"), ("machines", "0071_auto_20171231_2100"), ("machines", "0072_auto_20180108_1822"), ("machines", "0073_auto_20180128_2203"), ("machines", "0074_auto_20180129_0352"), ("machines", "0075_auto_20180130_0052"), ("machines", "0076_auto_20180130_1623"), ("machines", "0077_auto_20180409_2243"), ("machines", "0078_auto_20180415_1252"), ("machines", "0079_auto_20180416_0107"), ("machines", "0080_auto_20180502_2334"), ("machines", "0081_auto_20180521_1413"), ("machines", "0082_auto_20180525_2209"), ("machines", "0083_remove_duplicate_rights"), ("machines", "0084_dname"), ("machines", "0085_sshfingerprint"), ("machines", "0086_role"), ("machines", "0087_dnssec"), ("machines", "0088_iptype_prefix_v6_length"), ("machines", "0089_auto_20180805_1148"), ("machines", "0090_auto_20180805_1459"), ("machines", "0091_auto_20180806_2310"), ("machines", "0092_auto_20180807_0926"), ("machines", "0093_auto_20180807_1115"), ("machines", "0094_auto_20180815_1918"), ("machines", "0095_auto_20180919_2225"), ("machines", "0096_auto_20181013_1417"), ("machines", "0097_extension_dnssec"), ("machines", "0098_auto_20190102_1745"), ("machines", "0099_role_recursive_dns"), ("machines", "0100_auto_20190102_1753"), ("machines", "0101_auto_20190108_1623"), ("machines", "0102_auto_20190303_1611"), ("machines", "0103_auto_20191002_2222"), ("machines", "0104_auto_20191002_2231"), ("machines", "0105_dname_ttl"), ("machines", "0106_auto_20191120_0159"), ("machines", "0107_fix_lowercase_domain"), ("machines", "0108_ipv6list_active"), ("preferences", "0001_initial"), ("preferences", "0002_auto_20170625_1923"), ("preferences", "0003_optionaluser_solde_negatif"), ("preferences", "0004_assooption_services"), ("preferences", "0005_auto_20170824_0139"), ("preferences", "0006_auto_20170824_0143"), ("preferences", "0007_auto_20170824_2056"), ("preferences", "0008_auto_20170824_2122"), ("preferences", "0009_assooption_utilisateur_asso"), ("preferences", "0010_auto_20170825_0459"), ("preferences", "0011_auto_20170825_2307"), ("preferences", "0012_generaloption_req_expire_hrs"), ("preferences", "0013_generaloption_site_name"), ("preferences", "0014_generaloption_email_from"), ("preferences", "0015_optionaltopologie_radius_general_policy"), ("preferences", "0016_auto_20170902_1520"), ("preferences", "0017_mailmessageoption"), ("preferences", "0018_optionaltopologie_mac_autocapture"), ("preferences", "0019_remove_optionaltopologie_mac_autocapture"), ("preferences", "0020_optionalmachine_ipv6"), ("preferences", "0021_auto_20171015_1741"), ("preferences", "0022_auto_20171015_1758"), ("preferences", "0023_auto_20171015_2033"), ("preferences", "0024_optionaluser_all_can_create"), ("preferences", "0025_auto_20171231_2142"), ("preferences", "0025_generaloption_general_message"), ("preferences", "0026_auto_20171216_0401"), ("preferences", "0027_merge_20180106_2019"), ("preferences", "0028_assooption_description"), ("preferences", "0028_auto_20180111_1129"), ("preferences", "0028_auto_20180128_2203"), ("preferences", "0029_auto_20180111_1134"), ("preferences", "0029_auto_20180318_0213"), ("preferences", "0029_auto_20180318_1005"), ("preferences", "0030_auto_20180111_2346"), ("preferences", "0030_merge_20180320_1419"), ("preferences", "0031_auto_20180323_0218"), ("preferences", "0031_optionaluser_self_adhesion"), ("preferences", "0032_optionaluser_min_online_payment"), ("preferences", "0032_optionaluser_shell_default"), ("preferences", "0033_accueiloption"), ("preferences", "0033_generaloption_gtu_sum_up"), ("preferences", "0034_auto_20180114_2025"), ("preferences", "0034_auto_20180416_1120"), ("preferences", "0035_auto_20180114_2132"), ("preferences", "0035_optionaluser_allow_self_subscription"), ("preferences", "0036_auto_20180114_2141"), ("preferences", "0037_auto_20180114_2156"), ("preferences", "0038_auto_20180114_2209"), ("preferences", "0039_auto_20180115_0003"), ("preferences", "0040_auto_20180129_1745"), ("preferences", "0041_merge_20180130_0052"), ("preferences", "0042_auto_20180222_1743"), ("preferences", "0043_optionalmachine_create_machine"), ("preferences", "0044_remove_payment_pass"), ("preferences", "0045_remove_unused_payment_fields"), ("preferences", "0046_optionaluser_mail_extension"), ("preferences", "0047_mailcontact"), ("preferences", "0048_auto_20180811_1515"), ("preferences", "0049_optionaluser_self_change_shell"), ("preferences", "0050_auto_20180818_1329"), ("preferences", "0051_auto_20180919_2225"), ("preferences", "0052_optionaluser_delete_notyetactive"), ("preferences", "0053_optionaluser_self_change_room"), ("preferences", "0055_generaloption_main_site_url"), ("preferences", "0056_1_radiusoption"), ("preferences", "0056_2_radiusoption"), ("preferences", "0056_3_radiusoption"), ("preferences", "0056_4_radiusoption"), ("preferences", "0057_optionaluser_all_users_active"), ("preferences", "0058_auto_20190108_1650"), ("preferences", "0059_auto_20190120_1739"), ("preferences", "0060_auto_20190712_1821"), ("preferences", "0061_optionaluser_allow_archived_connexion"), ("preferences", "0062_auto_20190910_1909"), ("preferences", "0063_mandate"), ("preferences", "0064_auto_20191008_1335"), ("preferences", "0065_auto_20191010_1227"), ("preferences", "0066_optionalmachine_default_dns_ttl"), ("preferences", "0067_auto_20191120_0159"), ("preferences", "0068_optionaluser_allow_set_password_during_user_creation"), ("preferences", "0069_optionaluser_disable_emailnotyetconfirmed"), ("preferences", "0070_auto_20200419_0225"), ("preferences", "0071_optionaluser_self_change_pseudo"), ("topologie", "0001_initial"), ("topologie", "0002_auto_20160703_1118"), ("topologie", "0003_room"), ("topologie", "0004_auto_20160703_1122"), ("topologie", "0005_auto_20160703_1123"), ("topologie", "0006_auto_20160703_1129"), ("topologie", "0007_auto_20160703_1148"), ("topologie", "0008_port_room"), ("topologie", "0009_auto_20160703_1200"), ("topologie", "0010_auto_20160704_2148"), ("topologie", "0011_auto_20160704_2153"), ("topologie", "0012_port_machine_interface"), ("topologie", "0013_port_related"), ("topologie", "0014_auto_20160706_1238"), ("topologie", "0015_auto_20160706_1452"), ("topologie", "0016_auto_20160706_1531"), ("topologie", "0017_auto_20160718_1141"), ("topologie", "0018_room_details"), ("topologie", "0019_auto_20161026_1348"), ("topologie", "0020_auto_20161119_0033"), ("topologie", "0021_port_radius"), ("topologie", "0022_auto_20161211_1622"), ("topologie", "0023_auto_20170817_1654"), ("topologie", "0023_auto_20170826_1530"), ("topologie", "0024_auto_20170818_1021"), ("topologie", "0024_auto_20170826_1800"), ("topologie", "0025_merge_20170902_1242"), ("topologie", "0026_auto_20170902_1245"), ("topologie", "0027_auto_20170905_1442"), ("topologie", "0028_auto_20170913_1503"), ("topologie", "0029_auto_20171002_0334"), ("topologie", "0030_auto_20171004_0235"), ("topologie", "0031_auto_20171015_2033"), ("topologie", "0032_auto_20171026_0338"), ("topologie", "0033_auto_20171231_1743"), ("topologie", "0034_borne"), ("topologie", "0035_auto_20180324_0023"), ("topologie", "0036_transferborne"), ("topologie", "0037_auto_20180325_0127"), ("topologie", "0038_transfersw"), ("topologie", "0039_port_new_switch"), ("topologie", "0040_transferports"), ("topologie", "0041_transferportsw"), ("topologie", "0042_transferswitch"), ("topologie", "0043_renamenewswitch"), ("topologie", "0044_auto_20180326_0002"), ("topologie", "0045_auto_20180326_0123"), ("topologie", "0046_auto_20180326_0129"), ("topologie", "0047_ap_machine"), ("topologie", "0048_ap_machine"), ("topologie", "0049_switchs_machine"), ("topologie", "0050_port_new_switch"), ("topologie", "0051_switchs_machine"), ("topologie", "0052_transferports"), ("topologie", "0053_finalsw"), ("topologie", "0054_auto_20180326_1742"), ("topologie", "0055_auto_20180329_0431"), ("topologie", "0056_building_switchbay"), ("topologie", "0057_auto_20180408_0316"), ("topologie", "0058_remove_switch_location"), ("topologie", "0059_auto_20180415_2249"), ("topologie", "0060_server"), ("topologie", "0061_portprofile"), ("topologie", "0062_auto_20180815_1918"), ("topologie", "0063_auto_20180919_2225"), ("topologie", "0064_switch_automatic_provision"), ("topologie", "0065_auto_20180927_1836"), ("topologie", "0066_modelswitch_commercial_name"), ("topologie", "0067_auto_20181230_1819"), ("topologie", "0068_auto_20190102_1758"), ("topologie", "0069_auto_20190108_1439"), ("topologie", "0070_auto_20190218_1743"), ("topologie", "0071_auto_20190218_1936"), ("topologie", "0072_auto_20190720_2318"), ("topologie", "0073_auto_20191120_0159"), ("topologie", "0074_auto_20200419_1640"), ] operations = [ migrations.CreateModel( name="OptionalUser", bases=(re2o.mixins.AclMixin, models.Model), options={ "permissions": ( ("view_optionaluser", "Can view the user preferences"), ), "verbose_name": "user preferences", }, fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("is_tel_mandatory", models.BooleanField(default=True)), ("gpg_fingerprint", models.BooleanField(default=True)), ( "all_can_create_club", models.BooleanField( default=False, help_text="Users can create a club." ), ), ( "all_can_create_adherent", models.BooleanField( default=False, help_text="Users can create a member." ), ), ( "self_change_shell", models.BooleanField( default=False, help_text="Users can edit their shell." ), ), ( "self_change_pseudo", models.BooleanField( default=True, help_text="Users can edit their pseudo." ), ), ( "self_room_policy", models.CharField( choices=[ ("DISABLED", "Users can't select their room"), ( "ONLY_INACTIVE", "Users can only select a room occupied by a user with a disabled connection.", ), ("ALL_ROOM", "Users can select all rooms"), ], default="DISABLED", help_text="Policy on self users room edition", max_length=32, ), ), ( "local_email_accounts_enabled", models.BooleanField( default=False, help_text="Enable local email accounts for users.", ), ), ( "local_email_domain", models.CharField( default="@example.org", help_text="Domain to use for local email accounts.", max_length=32, ), ), ( "max_email_address", models.IntegerField( default=15, help_text="Maximum number of local email addresses for a standard user.", ), ), ( "delete_notyetactive", models.IntegerField( default=15, help_text="Not yet active users will be deleted after this number of days.", ), ), ( "disable_emailnotyetconfirmed", models.IntegerField( default=2, help_text="Users with an email address not yet confirmed will be disabled after this number of days.", ), ), ( "self_adhesion", models.BooleanField( default=False, help_text="A new user can create their account on Re2o.", ), ), ( "all_users_active", models.BooleanField( default=False, help_text="If True, all new created and connected users are active. If False, only when a valid registration has been paid.", ), ), ( "allow_set_password_during_user_creation", models.BooleanField( default=False, help_text="If True, users have the choice to receive an email containing a link to reset their password during creation, or to directly set their password in the page. If False, an email is always sent.", ), ), ( "allow_archived_connexion", models.BooleanField( default=False, help_text="If True, archived users are allowed to connect.", ), ), ], ), migrations.CreateModel( name="OptionalMachine", bases=(re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("password_machine", models.BooleanField(default=False)), ("max_lambdauser_interfaces", models.IntegerField(default=10)), ( "ipv6_mode", models.CharField( choices=[ ("SLAAC", "Automatic configuration by RA"), ("DHCPV6", "IP addresses assignment by DHCPv6"), ("DISABLED", "Disabled"), ], default="DISABLED", max_length=32, ), ), ("create_machine", models.BooleanField(default=True)), ( "default_dns_ttl", models.PositiveIntegerField( default=172800, verbose_name="default Time To Live (TTL) for CNAME, A and AAAA records", ), ), ("max_lambdauser_aliases", models.IntegerField(default=10)), ], options={ "permissions": ( ("view_optionalmachine", "Can view the machine preferences"), ), "verbose_name": "machine preferences", }, ), migrations.CreateModel( name="OptionalTopologie", bases=(re2o.mixins.AclMixin, models.Model), options={ "permissions": ( ("view_optionaltopologie", "Can view the topology preferences"), ), "verbose_name": "topology preferences", }, fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "switchs_web_management", models.BooleanField( default=False, help_text="Web management, activated in case of automatic provision.", ), ), ( "switchs_web_management_ssl", models.BooleanField( default=False, help_text="SSL web management, make sure that a certificate is installed on the switch.", ), ), ( "switchs_rest_management", models.BooleanField( default=False, help_text="REST management, activated in case of automatic provision.", ), ), ( "switchs_provision", models.CharField( choices=[("sftp", "SFTP"), ("tftp", "TFTP")], default="tftp", help_text="Provision of configuration mode for switches.", max_length=32, ), ), ( "sftp_login", models.CharField( blank=True, help_text="SFTP login for switches.", max_length=32, null=True, ), ), ( "sftp_pass", re2o.aes_field.AESEncryptedField( blank=True, help_text="SFTP password.", max_length=63, null=True ), ), ], ), migrations.CreateModel( name="RadiusKey", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "radius_key", re2o.aes_field.AESEncryptedField( help_text="RADIUS key.", max_length=255 ), ), ( "comment", models.CharField( blank=True, help_text="Comment for this key.", max_length=255, null=True, ), ), ( "default_switch", models.BooleanField( default=False, help_text="Default key for switches.", ), ), ], options={ "permissions": (("view_radiuskey", "Can view a RADIUS key object"),), "verbose_name": "RADIUS key", "verbose_name_plural": "RADIUS keys", }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name="SwitchManagementCred", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "management_id", models.CharField(help_text="Switch login.", max_length=63), ), ( "management_pass", re2o.aes_field.AESEncryptedField( help_text="Password.", max_length=63 ), ), ( "default_switch", models.BooleanField( default=True, help_text="Default credentials for switches.", unique=True, ), ), ], options={ "permissions": ( ( "view_switchmanagementcred", "Can view a switch management credentials object", ), ), "verbose_name": "switch management credentials", }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name="Reminder", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "days", models.IntegerField( default=7, help_text="Delay between the email and the membership's end.", unique=True, ), ), ( "message", models.TextField( blank=True, default="", help_text="Message displayed specifically for this reminder.", null=True, ), ), ], options={ "permissions": (("view_reminder", "Can view a reminder object"),), "verbose_name": "reminder", "verbose_name_plural": "reminders", }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name="GeneralOption", bases=(re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "general_message_fr", models.TextField( blank=True, default="", help_text="General message displayed on the French version of the website (e.g. in case of maintenance).", ), ), ( "general_message_en", models.TextField( blank=True, default="", help_text="General message displayed on the English version of the website (e.g. in case of maintenance).", ), ), ("search_display_page", models.IntegerField(default=15)), ("pagination_number", models.IntegerField(default=25)), ("pagination_large_number", models.IntegerField(default=8)), ("req_expire_hrs", models.IntegerField(default=48)), ("site_name", models.CharField(default="Re2o", max_length=32)), ( "email_from", models.EmailField(default="www-data@example.com", max_length=254), ), ( "main_site_url", models.URLField(default="http://re2o.example.org", max_length=255), ), ("GTU_sum_up", models.TextField(blank=True, default="")), ( "GTU", models.FileField(blank=True, default="", null=True, upload_to=""), ), ], options={ "permissions": ( ("view_generaloption", "Can view the general preferences"), ), "verbose_name": "general preferences", }, ), migrations.CreateModel( name="Service", options={ "permissions": (("view_service", "Can view the service preferences"),), "verbose_name": "service", "verbose_name_plural": "services", }, fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("name", models.CharField(max_length=32)), ("url", models.URLField()), ("description", models.TextField()), ("image", models.ImageField(blank=True, upload_to="logo")), ], ), migrations.CreateModel( name="MailContact", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "address", models.EmailField( default="contact@example.org", help_text="Contact email address.", max_length=254, ), ), ( "commentary", models.CharField( blank=True, help_text="Description of the associated email address.", max_length=256, null=True, ), ), ], options={ "permissions": ( ("view_mailcontact", "Can view a contact email address object"), ), "verbose_name": "contact email address", "verbose_name_plural": "contact email addresses", }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name="Mandate", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("start_date", models.DateTimeField(verbose_name="start date")), ( "end_date", models.DateTimeField( blank=True, null=True, verbose_name="end date" ), ), ], options={ "verbose_name": "mandate", "verbose_name_plural": "mandates", "permissions": (("view_mandate", "Can view a mandate object"),), }, bases=(re2o.mixins.RevMixin, re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name="AssoOption", bases=(re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "name", models.CharField( default="Networking organisation school Something", max_length=256, ), ), ("siret", models.CharField(default="00000000000000", max_length=32)), ( "adresse1", models.CharField(default="Threadneedle Street", max_length=128), ), ( "adresse2", models.CharField(default="London EC2R 8AH", max_length=128), ), ("contact", models.EmailField(default="contact@example.org")), ("telephone", models.CharField(max_length=15, default="0000000000")), ("pseudo", models.CharField(default="Organisation", max_length=32)), ("description", models.TextField(null=True, blank=True)), ], options={ "permissions": ( ("view_assooption", "Can view the organisation preferences"), ), "verbose_name": "organisation preferences", }, ), migrations.CreateModel( name="HomeOption", bases=(re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("facebook_url", models.URLField(null=True, blank=True)), ("twitter_url", models.URLField(null=True, blank=True)), ( "twitter_account_name", models.CharField(max_length=32, null=True, blank=True), ), ], options={ "permissions": ( ("view_homeoption", "Can view the homepage preferences"), ), "verbose_name": "homepage preferences", }, ), migrations.CreateModel( name="MailMessageOption", bases=(re2o.mixins.AclMixin, models.Model), options={ "permissions": ( ( "view_mailmessageoption", "Can view the email message preferences", ), ), "verbose_name": "email message preferences", }, fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "welcome_mail_fr", models.TextField( default="", blank=True, help_text="Welcome email in French." ), ), ( "welcome_mail_en", models.TextField( default="", blank=True, help_text="Welcome email in English." ), ), ], ), migrations.CreateModel( name="RadiusAttribute", bases=(re2o.mixins.RevMixin, re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "attribute", models.CharField( max_length=255, verbose_name="attribute", help_text="See https://freeradius.org/rfc/attributes.html.", ), ), ("value", models.CharField(max_length=255, verbose_name="value")), ( "comment", models.TextField( verbose_name="comment", help_text="Use this field to document this attribute.", blank=True, default="", ), ), ], options={ "verbose_name": "RADIUS attribute", "verbose_name_plural": "RADIUS attributes", }, ), migrations.CreateModel( name="RadiusOption", bases=(re2o.mixins.AclMixin, models.Model), options={ "verbose_name": "RADIUS policy", "verbose_name_plural": "RADIUS policies", }, fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "radius_general_policy", models.CharField( choices=[ ("MACHINE", "On the IP range's VLAN of the machine"), ( "DEFINED", 'Preset in "VLAN for machines accepted by RADIUS"', ), ], default="DEFINED", max_length=32, ), ), ( "unknown_machine", models.CharField( choices=[ ("REJECT", "Reject the machine"), ("SET_VLAN", "Place the machine on the VLAN"), ], default="REJECT", max_length=32, verbose_name="policy for unknown machines", ), ), ( "unknown_port", models.CharField( choices=[ ("REJECT", "Reject the machine"), ("SET_VLAN", "Place the machine on the VLAN"), ], default="REJECT", max_length=32, verbose_name="policy for unknown ports", ), ), ( "unknown_room", models.CharField( choices=[ ("REJECT", "Reject the machine"), ("SET_VLAN", "Place the machine on the VLAN"), ], default="REJECT", max_length=32, verbose_name="Policy for machines connecting from unregistered rooms (relevant on ports with STRICT RADIUS mode)", ), ), ( "non_member", models.CharField( choices=[ ("REJECT", "Reject the machine"), ("SET_VLAN", "Place the machine on the VLAN"), ], default="REJECT", max_length=32, verbose_name="policy for non members", ), ), ( "banned", models.CharField( choices=[ ("REJECT", "Reject the machine"), ("SET_VLAN", "Place the machine on the VLAN"), ], default="REJECT", max_length=32, verbose_name="policy for banned users", ), ), ], ), migrations.CreateModel( name="CotisationsOption", bases=(re2o.mixins.AclMixin, models.Model), fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "send_voucher_mail", models.BooleanField( verbose_name="send voucher by email when the invoice is controlled", help_text="Be careful, if no mandate is defined on the preferences page, errors will be triggered when generating vouchers.", default=False, ), ), ], options={"verbose_name": "subscription preferences"}, ), migrations.CreateModel( name="DocumentTemplate", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "template", models.FileField(upload_to="templates/", verbose_name="template"), ), ( "name", models.CharField(max_length=125, unique=True, verbose_name="name"), ), ], options={ "verbose_name": "document template", "verbose_name_plural": "document templates", }, bases=(re2o.mixins.RevMixin, re2o.mixins.AclMixin, models.Model), ), ]