From 48d93f8fd19b782b22aa096ccea8ba76520943e5 Mon Sep 17 00:00:00 2001 From: kirklholub Date: Thu, 6 Apr 2023 14:27:43 +0000 Subject: [PATCH] removed creator; no more single letter orgs --- sites/admin.py | 8 ----- .../management/commands/add_organizations.py | 2 +- sites/models.py | 26 ++++++--------- sites/saml/.settings.json.swp | Bin 0 -> 16384 bytes sites/saml/dev_settings.json | 31 ++++++++++++++++++ sites/saml/key.modulus | 0 sites/saml/{ssopsb.xml => old_ssopsb.xml} | 0 sites/saml/prod_settings.json | 31 ++++++++++++++++++ sites/views.py | 23 ++++--------- ssop/settings.py | 2 +- ssop/urls.py | 4 +-- 11 files changed, 82 insertions(+), 45 deletions(-) create mode 100755 sites/saml/.settings.json.swp create mode 100755 sites/saml/dev_settings.json delete mode 100755 sites/saml/key.modulus rename sites/saml/{ssopsb.xml => old_ssopsb.xml} (100%) create mode 100755 sites/saml/prod_settings.json diff --git a/sites/admin.py b/sites/admin.py index 5d7ed91..5c51ab1 100755 --- a/sites/admin.py +++ b/sites/admin.py @@ -58,22 +58,14 @@ class ProjectAdmin(admin.ModelAdmin): readonly_fields = ('state', 'updater') ordering = ('display_order', 'organization', 'name') - #def save_model(self, request, obj, form, change): - # # now we can save the object and call super - # set_creator_and_updater(self, request, obj, form) - # obj.save() - # super(NfsExportAdmin, self).save_model(request, obj, form, change) - class SysadminAdmin(admin.ModelAdmin): - #list_display = ('username', 'organization', 'organizations_list', 'creator', 'updater') list_display = ('username', 'organization', 'organizations_list') list_display_links = list_display form = SysadminAdminForm def formfield_for_dbfield(self, db_field, request, **kwargs): field = super(SysadminAdmin, self).formfield_for_dbfield(db_field, request, **kwargs) - field = set_dbfield_to_sysad('provision.Sysadmin.creator', field, db_field, request) field = set_dbfield_to_sysad('provision.Sysadmin.updater', field, db_field, request) return field diff --git a/sites/management/commands/add_organizations.py b/sites/management/commands/add_organizations.py index cdee87e..82c80fd 100755 --- a/sites/management/commands/add_organizations.py +++ b/sites/management/commands/add_organizations.py @@ -8,7 +8,7 @@ class Command(BaseCommand): def handle(self, *args, **options): - for id in settings.ALL_ORGS_BY_ID: + for id in settings.ALL_ORGS_BY_ID.keys(): org = get_or_add_organization_by_name(settings.ALL_ORGS_BY_ID[id]['name']) org.email = settings.ALL_ORGS_BY_ID[id]['email'] org.contact = settings.ALL_ORGS_BY_ID[id]['contact'] diff --git a/sites/models.py b/sites/models.py index 8727ea2..3044efe 100755 --- a/sites/models.py +++ b/sites/models.py @@ -54,7 +54,7 @@ def runcmdl(cmdl, execute): return status, result -def get_or_add_sysadmin(user, creator, homeorg, orglist): +def get_or_add_sysadmin(user, homeorg, orglist): try: uqs = User.objects.filter(email=user.email) if uqs.count() == 0: @@ -62,7 +62,7 @@ def get_or_add_sysadmin(user, creator, homeorg, orglist): sa = Sysadmin.objects.filter(username__email=user.email) if sa.count() == 0: - sa = Sysadmin(username=user, creator=creator) + sa = Sysadmin(username=user) sa.save() else: sa = sa[0] @@ -80,7 +80,7 @@ def get_or_add_sysadmin(user, creator, homeorg, orglist): msg = str(now) + ":UserWarning:" + str(user.email) + ":e = " + str(e) logger.info(msg) -def add_sysadmins(creator): +def add_sysadmins(): # Start from an initialized database or run command 'clean_system' and then manually run the sql commands # to insure auto increment for organization table has been reset @@ -143,7 +143,7 @@ def add_sysadmins(creator): try: send_mail(subject, body, fromaddr, toaddr, fail_silently=False) except SMTPException as e: - msg = str(now) + ":Send password failed:" + str(username) + ":" + creator + msg = str(now) + ":Send password failed:" + str(username) logger.info(msg) groupnames = ['cn=_OAR ESRL GSL Sysadm,cn=groups,cn=nems,ou=apps,dc=noaa,dc=gov', @@ -155,15 +155,15 @@ def add_sysadmins(creator): user.groups.add(newgroup) user.save() except Group.DoesNotExist as e: - msg = str(now) + ":" + str(e) + ':' + str(username) + ":" + creator + msg = str(now) + ":" + str(e) + ':' + str(username) logger.info(msg) - get_or_add_sysadmin(user, creator, homeorg, orglist) + get_or_add_sysadmin(user, homeorg, orglist) # pause a moment to allow objects to created (Organizations were being duplicated) naptime = 1 time.sleep(naptime) -def add_groups_and_permissions(creator): +def add_groups_and_permissions(): perms = ['add', 'change', 'delete', 'view'] for groupname in settings.AUTH_SAML_GROUPS.keys(): @@ -204,7 +204,7 @@ def add_groups_and_permissions(creator): group.save() now = datetime.datetime.utcnow() - msg = str(now) + ":GroupobjectAddedPerms:" + groupname + ":" + creator + msg = str(now) + ":GroupobjectAddedPerms:" + groupname logger.info(msg) def hash_to_fingerprint(data): @@ -734,7 +734,7 @@ def graph_node_id(self): def initstate(self): need_to_save = False - if 'setme' in self.name: + if 'setme' in self.get_fingerprint() or 'showme' in str(self.clearallattrs()): utcnow = datetime.datetime.utcnow() yydoy = utcnow.strftime('%y') + utcnow.strftime('%j') userstoday = 1 @@ -747,9 +747,7 @@ def initstate(self): gn = GraphNode(name=self.name, nodetype=nt) gn.save() self.graphnode = gn - need_to_save = True - if 'setme' in self.get_fingerprint() or 'showme' in str(self.clearallattrs()): da = {} uu = {} if self.nameattrsgroup is not None: @@ -1168,8 +1166,7 @@ def is_user_a_sysad(**kwargs): oukeylist.sort() for k in oukeylist: orglist.append(kwargs['request'].session['samlUserdata'][str(k)][0]) - creator = "is_user_a_sysad" - get_or_add_sysadmin(user, creator, homeorg, orglist) + get_or_add_sysadmin(user, homeorg, orglist) class Sysadmin(models.Model): """ @@ -1180,9 +1177,6 @@ class Sysadmin(models.Model): organizations = models.ManyToManyField('Organization', verbose_name='Organizations') organization = models.ForeignKey('Organization', default=1, related_name='sysadmin_organization', verbose_name='Primary Organization', on_delete=models.CASCADE) - #creator = models.CharField(default='unknown', max_length=200) - #updater = models.CharField(default='None', max_length=200) - #updated = models.TimeField(auto_now_add=True) class Meta: unique_together = ['username', 'organization'] diff --git a/sites/saml/.settings.json.swp b/sites/saml/.settings.json.swp new file mode 100755 index 0000000000000000000000000000000000000000..52e58143c427068006a76a6229fac6b34193ae5e GIT binary patch literal 16384 zcmeI2ORwWd6~{fpus}UCpkd8S6EtEG`r2{cS3;=#h~vcN*s&eQS>ab4=h|`Na^g6x z77}aNu$eEwk`-dXo+Vo(#8==0AjATwr0>0byVdh(X=r9qmj1F+E}uH*S5Z^A{|zA!dyk@i{B2w~ z{{R1O{{QdqQqiV!ea)j}Iv7w^+Zz%CY8HI+lR- zDb{;fzk8peevV~fwXpv7h@yUt^-HXC`5$3@g7xv)7jh5+ga9G%)(JemJ!;1`)Az%? zs9isgY3wkz=(^~83!B_ zBr_9EqjC^A!c5o4V%eW53EazKa0t>_<)w|p+vrC@0ORM+AQLdt!&DF<1epXHmdGEW zV2Q;DPOVZbFLng6Jc=fxM^?j+bVe-HH7JKGUxjPAR0X*K*YKnYuwh@)ESv@^Xr9yb zw!P+9sH2kCFSaDH9L=ng=s?bSUfv37Gox)PF*o#@i^Nac#lmhgP%lgVc^ryZs-nld z;&+2n3{zAgKzDwNQ!z1hQ;Z=GE@|Kh7k*PcC~5oP*y4V{_E}}FZWnBO>!p4H*VxZ9 zYeOyt-5HIug}gfWD!_a>9SBh*YCypE^^C{Y92lG3dg2egvdvHU%2*Z5TJk_)< zbvJQySD&h0pKUIB{LLzh45pp-4JqvJdW&k>u{z1r;Lw^DjMb?zk)rv$(_>BBklI0e zHS;?m-_k(5Y$XUpizT}lrJ7yLHg2vQTT|cXq~&@)a?+md=f*@H&Ig^nTS#7o>JV=8 zQLgss;xLyRd84Xswoymnqw(f}YK$}POu{4~-*SfJ(>cOx-bUL$25DqspB@?QR zgv`DxjXKrI5If>fsj}5U<6F}%+b#Lrtn+3+jxDk6Smh4Toxxyi89@s8{<5=!+%J@QdP*`lI z2_D)hg>$=}G8)i_GcKDr*A9E~Ckc+-X5(HJc%}NuQRkux$$NSlVcDV}e&H9=Pn@1(zC2Dx%wKvNKXwHuj;^k%MWSg0~o3)UCY8{qRX9vLOupG;Rfo#L- z=di)qTia=u(LR9scy>=H$eOmRCZen&@eQDD7{3`95)hXXC>7~I-Q@Eg0 zc9aeTudxkgwylmP^+}6avZq-U?9H1r>CD@UZEUb1Yor?N9+qA~vl2gUNcA$&&~!bR zdeW#G=JqP)CP{WvL_e)jcb}GLKe@j=C)K=o6X1=p=daH`-&|)diqZAPO+$2D_}2!2 z$~Ak%T;FCx*F)3Po=n3a&O^U=VfJEcpC@NKtD@MVYx=wg_kMTob*t6H8*@W!nU)33 zNU}Q{bQ%^eNMaY!zU!a$Bo4N<7jD)N_Ad#QEXwwU5$1>34{c$BOf;>d%fyD=o{;%8ImuwQh>PX)FDmABJ?5)=@A@x!?;?Z;ka4!*vkls(Vg9A9>aL4^#RAV=G;j-- zzOB?6deI7NLFnzz?~fwihtFGA4HbEe-wt|4*#*{QvI%{eRu2{r)>| zeE?1hBm@WnLVyq;1PB2_fDm|zz_ZKr>KR2=AIa(?S$!m{k7V_ctUkW^>f_y4/', ldg, name='ldg'),