コード例 #1
0
    def get(self):
        """ post handler - wants an ak """

        the_assoc_keyurl = self.request.get('ak', '0')

        if the_assoc_keyurl == '0':
            return  # todo figure out what to do

        the_assoc_key = assoc.assoc_key_from_urlsafe(the_assoc_keyurl)
        the_assoc = the_assoc_key.get()

        # make sure we're a band admin or a superuser
        if not (self.user.is_superuser
                or assoc.get_admin_status_for_member_for_band_key(
                    self.user, the_assoc.band)):
            return self.redirect('/')

        the_band_key = the_assoc.band

        the_member_key = the_assoc.member
        assoc.delete_association_from_key(the_assoc_key)

        invites = assoc.get_inviting_assoc_keys_from_member_key(the_member_key)
        if invites is None or (len(invites) == 1
                               and invites[0] == the_assoc_key):
            logging.error('removed last invite from member; deleteing')
            member.forget_member_from_key(the_member_key)

        return self.redirect('/band_info.html?bk={0}'.format(
            the_band_key.urlsafe()))
コード例 #2
0
ファイル: member_handlers.py プロジェクト: SecondLiners/GO2
    def get(self):
        """ post handler - wants an ak """

        the_assoc_keyurl=self.request.get('ak','0')

        if the_assoc_keyurl=='0':
            return # todo figure out what to do

        the_assoc_key = assoc.assoc_key_from_urlsafe(the_assoc_keyurl)
        the_assoc = the_assoc_key.get()
        
        # make sure we're a band admin or a superuser
        if not (self.user.is_superuser or assoc.get_admin_status_for_member_for_band_key(self.user, the_assoc.band)):
            return self.redirect('/')

        the_band_key = the_assoc.band

        the_member_key = the_assoc.member
        assoc.delete_association_from_key(the_assoc_key) 

        invites = assoc.get_inviting_assoc_keys_from_member_key(the_member_key)
        if invites is None or (len(invites)==1 and invites[0]==the_assoc_key):
            logging.error('removed last invite from member; deleteing')
            forget_member_from_key(the_member_key)            
                    
        return self.redirect('/band_info.html?bk={0}'.format(the_band_key.urlsafe()))
コード例 #3
0
ファイル: member_handlers.py プロジェクト: SecondLiners/GO2
    def get(self):    
        """ deletes an assoc for a member """

        the_assoc_keyurl=self.request.get('ak','0')

        if the_assoc_keyurl == '0':
            return # todo figure out what to do
        
        the_assoc = assoc.assoc_key_from_urlsafe(the_assoc_keyurl).get()
        
        the_member_key=the_assoc.member
        the_band_key=the_assoc.band

        assoc.delete_association_from_key(the_assoc.key)
        plan.delete_plans_for_member_key_for_band_key(the_member_key, the_band_key)
        gig.reset_gigs_for_contact_key(the_member_key, the_band_key)

        # since our bands are changing, invalidate the band list in our session
        self.user.invalidate_member_bandlists(self, the_member_key)
        
        return self.redirect('/member_info.html?mk={0}'.format(the_member_key.urlsafe()))
コード例 #4
0
    def get(self):    
        """ deletes an assoc for a member """

        the_assoc_keyurl=self.request.get('ak','0')

        if the_assoc_keyurl=='0':
            return # todo figure out what to do
        
        the_assoc=ndb.Key(urlsafe=the_assoc_keyurl).get()
        
        the_member_key=the_assoc.member
        the_band_key=the_assoc.band

        assoc.delete_association_from_key(the_assoc.key)
        plan.delete_plans_for_member_key_for_band_key(the_member_key, the_band_key)
        gig.reset_gigs_for_contact_key(the_member_key, the_band_key)

        # since our bands are changing, invalidate the band list in our session
        self.user.invalidate_member_bandlists(self, the_member_key)
        
        return self.redirect('/member_info.html?mk={0}'.format(the_member_key.urlsafe()))
コード例 #5
0
ファイル: band_handlers.py プロジェクト: SecondLiners/GO2
    def get(self):
        """ post handler - wants an ak """
        
        the_user = self.user

        the_member_keyurl=self.request.get('mk','0')
        the_band_keyurl=self.request.get('bk','0')

        if the_member_keyurl=='0' or the_band_keyurl=='0':
            return # todo figure out what to do

        the_member_key = member.member_key_from_urlsafe(the_member_keyurl)
        the_band_key = band.band_key_from_urlsafe(the_band_keyurl)
        
        if not is_authorized_to_edit_band(the_band_key,the_user):
            return                
        
        # find the association between band and member
        the_assoc=assoc.get_assoc_for_band_key_and_member_key(the_member_key, the_band_key)
        assoc.delete_association_from_key(the_assoc.key)
        gig.reset_gigs_for_contact_key(the_member_key, the_band_key)

        return self.redirect('/band_info.html?bk={0}'.format(the_band_keyurl))
コード例 #6
0
ファイル: band_handlers.py プロジェクト: SecondLiners/GO2
    def get(self):
        """ post handler - wants an ak """

        the_user = self.user

        the_member_keyurl = self.request.get('mk', '0')
        the_band_keyurl = self.request.get('bk', '0')

        if the_member_keyurl == '0' or the_band_keyurl == '0':
            return  # todo figure out what to do

        the_member_key = member.member_key_from_urlsafe(the_member_keyurl)
        the_band_key = band.band_key_from_urlsafe(the_band_keyurl)

        if not is_authorized_to_edit_band(the_band_key, the_user):
            return

        # find the association between band and member
        the_assoc = assoc.get_assoc_for_band_key_and_member_key(
            the_member_key, the_band_key)
        assoc.delete_association_from_key(the_assoc.key)
        gig.reset_gigs_for_contact_key(the_member_key, the_band_key)

        return self.redirect('/band_info.html?bk={0}'.format(the_band_keyurl))