From 23189ba5368530ec70f517eff51b226c351d474b Mon Sep 17 00:00:00 2001 From: Isabel Zhang Date: Fri, 11 Nov 2016 17:45:19 -0800 Subject: [PATCH 1/6] Added officerhours boolean flag in UserProfile --- users/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/users/models.py b/users/models.py index 760380b..6dbeaf6 100644 --- a/users/models.py +++ b/users/models.py @@ -37,6 +37,7 @@ class UserProfile(models.Model): approved = models.BooleanField(default=False) candidate_profile = models.ForeignKey('CandidateProfile', blank=True, null=True) officer_profile = models.ForeignKey('OfficerProfile', blank=True, null=True) + can_give_office_hours = models.BooleanField(initial=False) def __str__(self): From e30fbb5433e1b4618e8ac051e7174a96a6afd152 Mon Sep 17 00:00:00 2001 From: Isabel Zhang Date: Fri, 11 Nov 2016 17:46:51 -0800 Subject: [PATCH 2/6] edited models.py boolean --- users/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/users/models.py b/users/models.py index 6dbeaf6..719d652 100644 --- a/users/models.py +++ b/users/models.py @@ -38,6 +38,7 @@ class UserProfile(models.Model): candidate_profile = models.ForeignKey('CandidateProfile', blank=True, null=True) officer_profile = models.ForeignKey('OfficerProfile', blank=True, null=True) can_give_office_hours = models.BooleanField(initial=False) + def __str__(self): From 9a9fb707f13d0f6a8c1b8a330a23693713bd3042 Mon Sep 17 00:00:00 2001 From: Isabel Zhang Date: Fri, 11 Nov 2016 17:48:44 -0800 Subject: [PATCH 3/6] boolean field --- users/models.py | 1 - 1 file changed, 1 deletion(-) diff --git a/users/models.py b/users/models.py index 719d652..6dbeaf6 100644 --- a/users/models.py +++ b/users/models.py @@ -38,7 +38,6 @@ class UserProfile(models.Model): candidate_profile = models.ForeignKey('CandidateProfile', blank=True, null=True) officer_profile = models.ForeignKey('OfficerProfile', blank=True, null=True) can_give_office_hours = models.BooleanField(initial=False) - def __str__(self): From dc53cd1d3a395cdc3396599204179a709b46587f Mon Sep 17 00:00:00 2001 From: raymondnumbergenerator Date: Fri, 11 Nov 2016 17:50:11 -0800 Subject: [PATCH 4/6] added office hours --- upe/settings.py.template | 109 --------------------------------------- users/models.py | 5 +- 2 files changed, 3 insertions(+), 111 deletions(-) delete mode 100644 upe/settings.py.template diff --git a/upe/settings.py.template b/upe/settings.py.template deleted file mode 100644 index 5cdab44..0000000 --- a/upe/settings.py.template +++ /dev/null @@ -1,109 +0,0 @@ -""" -Django settings for upe project. - -For more information on this file, see -https://docs.djangoproject.com/en/1.6/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/1.6/ref/settings/ -""" - -# Build paths inside the project like this: os.path.join(BASE_DIR, ...) -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - -# Address for Docker setups -MYSQL_IP = os.getenv('MYSQL_PORT_3306_TCP_ADDR', '127.0.0.1') - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = '9+!w(w9&qra8zp)k(^xq%i!3flgnipy4m_84&o8bf7#&&4nvl!' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True -TEMPLATE_DEBUG = False - - - -LOGIN_URL = '/login/' - -# Application definition - -INSTALLED_APPS = ( - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'website', - 'upe_calendar', - 'users' -) - -MIDDLEWARE_CLASSES = ( - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'upe.urls' - -WSGI_APPLICATION = 'upe.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/1.6/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'NAME': 'upe', - 'USER': 'admin', - 'PASSWORD': 'littlewhale', - 'HOST': MYSQL_IP, - 'PORT': '3306', - } -} - -# Static files (CSS, JavaScript) -# https://docs.djangoproject.com/en/1.6/howto/static-files/ -STATIC_ROOT = os.path.join(BASE_DIR, 'static') -STATIC_URL = '/static/' - -# Media files (Images, Downloads, Files) -MEDIA_ROOT = os.path.join(BASE_DIR, 'media') -MEDIA_URL = '/media/' - -# Internationalization -# https://docs.djangoproject.com/en/1.6/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'America/Los_Angeles' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - -AUTHENTICATION_BACKENDS = ('users.backends.CustomBackend',) - -from django.conf import global_settings -TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + ("website.processor.populate_footer",) - -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' -EMAIL_HOST = 'localhost' -EMAIL_HOST_PASSWORD = '' -EMAIL_HOST_USER = '' -EMAIL_PORT = 25 -EMAIL_USE_TLS = False -DEFAULT_FROM_EMAIL = 'Do-Not-Reply ' - - diff --git a/users/models.py b/users/models.py index 6dbeaf6..5cae3cf 100644 --- a/users/models.py +++ b/users/models.py @@ -37,8 +37,9 @@ class UserProfile(models.Model): approved = models.BooleanField(default=False) candidate_profile = models.ForeignKey('CandidateProfile', blank=True, null=True) officer_profile = models.ForeignKey('OfficerProfile', blank=True, null=True) - can_give_office_hours = models.BooleanField(initial=False) - + can_give_office_hours = models.BooleanField(default=False) + office_hours = models.ManyToManyField('OfficeHour', blank=True) + classes_taken = models.ManyToManyField('BerkeleyClass', through='OfficerClass') def __str__(self): return self.user.first_name + " " + self.user.last_name From 8f09fcecc155b62800715ff7455e85b9fd882981 Mon Sep 17 00:00:00 2001 From: raymondnumbergenerator Date: Fri, 11 Nov 2016 18:46:25 -0800 Subject: [PATCH 5/6] oh models --- users/admin.py | 1 + users/models.py | 9 +++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/users/admin.py b/users/admin.py index 3909ac4..d3f1065 100644 --- a/users/admin.py +++ b/users/admin.py @@ -12,3 +12,4 @@ class OfficerAdmin(admin.ModelAdmin): admin.site.register(UserProfile) admin.site.register(OfficerProfile, OfficerAdmin) +admin.site.register(OfficeHour) \ No newline at end of file diff --git a/users/models.py b/users/models.py index 5cae3cf..2ea7644 100644 --- a/users/models.py +++ b/users/models.py @@ -37,9 +37,7 @@ class UserProfile(models.Model): approved = models.BooleanField(default=False) candidate_profile = models.ForeignKey('CandidateProfile', blank=True, null=True) officer_profile = models.ForeignKey('OfficerProfile', blank=True, null=True) - can_give_office_hours = models.BooleanField(default=False) - office_hours = models.ManyToManyField('OfficeHour', blank=True) - classes_taken = models.ManyToManyField('BerkeleyClass', through='OfficerClass') + gives_office_hours = models.BooleanField(default=False) def __str__(self): return self.user.first_name + " " + self.user.last_name @@ -132,11 +130,10 @@ class OfficeHour(models.Model): day_of_week = models.IntegerField(max_length=1, choices=DAY_OF_WEEK_CHOICES, default=1) hour = models.IntegerField(max_length=2, choices=TIME_OF_DAY_CHOICES, default=11) - officer_username = models.CharField(max_length=30, - help_text='Please enter a valid officer username as this is used for website queries.') + user = models.ForeignKey('UserProfile', blank=True, null=True) def __str__(self): - return self.name() + " " + self.officer_username + return self.name() + " " + self.user.user.first_name + " " + self.user.user.last_name def name(self): return self.day_dict[self.day_of_week] + " " + self.time_dict[self.hour] From b335830883c5d027d26d7373b970aaa84608de50 Mon Sep 17 00:00:00 2001 From: raymondnumbergenerator Date: Tue, 29 Nov 2016 12:29:50 -0800 Subject: [PATCH 6/6] uhhh classes model --- users/admin.py | 3 ++- users/models.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/users/admin.py b/users/admin.py index d3f1065..6644fea 100644 --- a/users/admin.py +++ b/users/admin.py @@ -12,4 +12,5 @@ class OfficerAdmin(admin.ModelAdmin): admin.site.register(UserProfile) admin.site.register(OfficerProfile, OfficerAdmin) -admin.site.register(OfficeHour) \ No newline at end of file +admin.site.register(OfficeHour) +admin.site.register(BerkeleyClass) \ No newline at end of file diff --git a/users/models.py b/users/models.py index 2ea7644..4968c22 100644 --- a/users/models.py +++ b/users/models.py @@ -133,7 +133,7 @@ class OfficeHour(models.Model): user = models.ForeignKey('UserProfile', blank=True, null=True) def __str__(self): - return self.name() + " " + self.user.user.first_name + " " + self.user.user.last_name + return self.user.user.first_name + " " + self.user.user.last_name + " : " + self.name() def name(self): return self.day_dict[self.day_of_week] + " " + self.time_dict[self.hour] @@ -212,10 +212,10 @@ class BerkeleyClass(models.Model): class_dict = dict(CLASS_CHOICES) class_name = models.IntegerField(max_length=5, choices=CLASS_CHOICES) - officers = models.ManyToManyField('OfficerProfile', through='OfficerClass') + user = models.ForeignKey('UserProfile', blank=True, null=True) def __str__(self): - return self.class_dict[self.class_name] + return self.user.user.first_name + " " + self.user.user.last_name + " : " + self.name() def name(self): return self.class_dict[self.class_name]