def get_shared_schedules(self): sharedToMe = [] records = ShareRecord.all() records.filter('sharedToUser ='******'name'] = cgi.escape(record.schedule.name) schedule['nameB64'] = base64.b64encode(record.schedule.name) schedule['owner'] = cgi.escape(record.schedule.owner.nickname()) schedule['courseCount'] = record.schedule.course_set.count() schedule['term'] = record.schedule.term schedule['year'] = record.schedule.year schedule['shareKey'] = str(record.key()) sharedToMe.append(schedule) return sharedToMe
def safely_delete(self, schedule): profile = profiles.get_user_profile_from_ds() # Simply comparing the two schedules themselves doesn't work # so we compare their keys if profile.currentSchedule.key() == schedule.key(): logging.info('Deleted current schedule "' + schedule.name + '"') profile.currentSchedule = None profile.put() # Delete all courses in this schedule courses = Course.all().ancestor(schedule) for course in courses: course.delete() # Unshare this schedule from everyone records = ShareRecord.all().ancestor(schedule) for sharing in records: sharing.delete() schedule.delete()
def is_already_shared(self, schedule, userToShareTo): records = ShareRecord.all() records.filter('owner =', users.get_current_user()) records.filter('schedule =', schedule) records.filter('sharedToUser =', userToShareTo) return records.count() > 0