Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
midterm_robo_mommy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Raul Jarod Conanan
midterm_robo_mommy
Commits
a359ad04
Commit
a359ad04
authored
Mar 05, 2023
by
RJC
Browse files
Options
Browse Files
Download
Plain Diff
pull from dev
parents
bfae439d
39cda890
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
296 additions
and
14 deletions
+296
-14
misc.xml
.idea/misc.xml
+4
-0
README.txt
README.txt
+5
-5
.env
widget_robo_mommy/.env
+0
-2
__init__.py
widget_robo_mommy/Assignments/__init__.py
+0
-0
admin.py
widget_robo_mommy/Assignments/admin.py
+11
-0
apps.py
widget_robo_mommy/Assignments/apps.py
+6
-0
0001_initial.py
widget_robo_mommy/Assignments/migrations/0001_initial.py
+34
-0
0002_alter_assignment_course.py
...my/Assignments/migrations/0002_alter_assignment_course.py
+19
-0
__init__.py
widget_robo_mommy/Assignments/migrations/__init__.py
+0
-0
models.py
widget_robo_mommy/Assignments/models.py
+17
-0
tests.py
widget_robo_mommy/Assignments/tests.py
+3
-0
urls.py
widget_robo_mommy/Assignments/urls.py
+8
-0
views.py
widget_robo_mommy/Assignments/views.py
+20
-0
db.sqlite3
widget_robo_mommy/db.sqlite3
+0
-0
__init__.py
widget_robo_mommy/forum/__init__.py
+0
-0
admin.py
widget_robo_mommy/forum/admin.py
+7
-0
apps.py
widget_robo_mommy/forum/apps.py
+6
-0
0001_initial.py
widget_robo_mommy/forum/migrations/0001_initial.py
+56
-0
0002_auto_20230304_2337.py
...et_robo_mommy/forum/migrations/0002_auto_20230304_2337.py
+29
-0
__init__.py
widget_robo_mommy/forum/migrations/__init__.py
+0
-0
models.py
widget_robo_mommy/forum/models.py
+17
-0
tests.py
widget_robo_mommy/forum/tests.py
+3
-0
urls.py
widget_robo_mommy/forum/urls.py
+6
-0
views.py
widget_robo_mommy/forum/views.py
+36
-0
settings.py
widget_robo_mommy/widget_robo_mommy/settings.py
+6
-5
urls.py
widget_robo_mommy/widget_robo_mommy/urls.py
+3
-2
No files found.
.idea/misc.xml
0 → 100644
View file @
a359ad04
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"ProjectRootManager"
version=
"2"
project-jdk-name=
"Python 3.9 (midterm_robo_mommy)"
project-jdk-type=
"Python SDK"
/>
</project>
\ No newline at end of file
README.txt
View file @
a359ad04
...
@@ -11,11 +11,11 @@ CSCI 40 Midterms
...
@@ -11,11 +11,11 @@ CSCI 40 Midterms
widget_robo_mommy
widget_robo_mommy
APP_ASSIGNMENTS:
APP_ASSIGNMENTS:
Dashboard -
TB
A
Dashboard -
CHESK
A
Announcement Board -
TBA
Announcement Board -
JIUVI
Forum -
TBA
Forum -
RJ
Assignments -
TBA
Assignments -
LANCE
Calendar -
TBA
Calendar -
AL
DATE_OF_SUBMISSION: **/**/**
DATE_OF_SUBMISSION: **/**/**
...
...
widget_robo_mommy/.env
deleted
100644 → 0
View file @
bfae439d
SECRET_KEY='django-insecure-t*s#_++5=ze%3#*ns6vcmt8a5bw6249en-!ek7*#3=p-dkhl_f'
STATIC_ROOT='midterm_robo_mommy\widget_robo_mommy\widget_robo_mommy\settings.py'
\ No newline at end of file
widget_robo_mommy/Assignments/__init__.py
0 → 100644
View file @
a359ad04
widget_robo_mommy/Assignments/admin.py
0 → 100644
View file @
a359ad04
from
django.contrib
import
admin
from
.models
import
Assignment
,
Course
class
AssignmentAdmin
(
admin
.
ModelAdmin
):
model
=
Assignment
class
CourseAdmin
(
admin
.
ModelAdmin
):
model
=
Course
admin
.
site
.
register
(
Assignment
,
AssignmentAdmin
)
admin
.
site
.
register
(
Course
,
CourseAdmin
)
\ No newline at end of file
widget_robo_mommy/Assignments/apps.py
0 → 100644
View file @
a359ad04
from
django.apps
import
AppConfig
class
AssignmentsConfig
(
AppConfig
):
default_auto_field
=
'django.db.models.BigAutoField'
name
=
'Assignments'
widget_robo_mommy/Assignments/migrations/0001_initial.py
0 → 100644
View file @
a359ad04
# Generated by Django 4.1.7 on 2023-03-04 17:11
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
initial
=
True
dependencies
=
[
]
operations
=
[
migrations
.
CreateModel
(
name
=
'Assignment'
,
fields
=
[
(
'id'
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'name'
,
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
)),
(
'description'
,
models
.
TextField
(
blank
=
True
,
null
=
True
)),
(
'course'
,
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
)),
(
'perfect_score'
,
models
.
IntegerField
(
blank
=
True
,
null
=
True
)),
(
'passing_score'
,
models
.
IntegerField
(
blank
=
True
,
null
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'Course'
,
fields
=
[
(
'id'
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'code'
,
models
.
CharField
(
blank
=
True
,
max_length
=
10
,
null
=
True
)),
(
'title'
,
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
)),
(
'section'
,
models
.
CharField
(
blank
=
True
,
max_length
=
3
,
null
=
True
)),
],
),
]
widget_robo_mommy/Assignments/migrations/0002_alter_assignment_course.py
0 → 100644
View file @
a359ad04
# Generated by Django 4.1.7 on 2023-03-04 17:27
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'Assignments'
,
'0001_initial'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'assignment'
,
name
=
'course'
,
field
=
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
to
=
'Assignments.course'
),
),
]
widget_robo_mommy/Assignments/migrations/__init__.py
0 → 100644
View file @
a359ad04
widget_robo_mommy/Assignments/models.py
0 → 100644
View file @
a359ad04
from
django.db
import
models
class
Course
(
models
.
Model
):
code
=
models
.
CharField
(
max_length
=
10
,
blank
=
True
,
null
=
True
)
title
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
section
=
models
.
CharField
(
max_length
=
3
,
blank
=
True
,
null
=
True
)
class
Assignment
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
description
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
course
=
models
.
ForeignKey
(
Course
,
on_delete
=
models
.
CASCADE
,
null
=
True
)
perfect_score
=
models
.
IntegerField
(
blank
=
True
,
null
=
True
)
passing_score
=
models
.
IntegerField
(
blank
=
True
,
null
=
True
)
def
save
(
self
,
*
args
,
**
kwargs
):
self
.
passing_score
=
int
(
self
.
perfect_score
*
0.60
)
super
(
Assignment
,
self
)
.
save
(
*
args
,
**
kwargs
)
widget_robo_mommy/Assignments/tests.py
0 → 100644
View file @
a359ad04
from
django.test
import
TestCase
# Create your tests here.
widget_robo_mommy/Assignments/urls.py
0 → 100644
View file @
a359ad04
from
django.urls
import
path
from
.views
import
index
urlpatterns
=
[
path
(
''
,
index
,
name
=
'index'
),
]
app_name
=
"Assignments"
widget_robo_mommy/Assignments/views.py
0 → 100644
View file @
a359ad04
from
django.shortcuts
import
render
from
django.http
import
HttpResponse
from
.models
import
Assignment
,
Course
import
os
def
index
(
request
):
output
=
f
"Widget's Assignments Page<br><br>"
count
=
Assignment
.
objects
.
all
()
.
count
()
for
i
in
range
(
1
,
count
+
1
):
assignments
=
Assignment
.
objects
.
get
(
id
=
i
)
output
+=
f
"""Assignment Name: {assignments.name}<br>
Description: {assignments.description}<br>
Perfect Score: {assignments.perfect_score}<br>
Passing Score: {assignments.passing_score}<br>
Course/Section: {assignments.course.code} {assignments.course.title}-{assignments.course.section}<br>
<br>"""
return
HttpResponse
(
output
)
widget_robo_mommy/db.sqlite3
View file @
a359ad04
No preview for this file type
widget_robo_mommy/forum/__init__.py
0 → 100644
View file @
a359ad04
widget_robo_mommy/forum/admin.py
0 → 100644
View file @
a359ad04
from
django.contrib
import
admin
from
.models
import
ForumPost
,
Reply
,
WidgetUser
# Register your models here.
admin
.
site
.
register
(
ForumPost
)
admin
.
site
.
register
(
Reply
)
admin
.
site
.
register
(
WidgetUser
)
widget_robo_mommy/forum/apps.py
0 → 100644
View file @
a359ad04
from
django.apps
import
AppConfig
class
ForumConfig
(
AppConfig
):
default_auto_field
=
'django.db.models.BigAutoField'
name
=
'forum'
widget_robo_mommy/forum/migrations/0001_initial.py
0 → 100644
View file @
a359ad04
# Generated by Django 3.2 on 2023-03-04 13:35
import
django.contrib.auth.models
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
initial
=
True
dependencies
=
[
(
'auth'
,
'0012_alter_user_first_name_max_length'
),
]
operations
=
[
migrations
.
CreateModel
(
name
=
'ForumPost'
,
fields
=
[
(
'id'
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'title'
,
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
)),
(
'body'
,
models
.
TextField
(
blank
=
True
,
null
=
True
)),
(
'pub_datetime'
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'WidgetUser'
,
fields
=
[
(
'user_ptr'
,
models
.
OneToOneField
(
auto_created
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
parent_link
=
True
,
primary_key
=
True
,
serialize
=
False
,
to
=
'auth.user'
)),
],
options
=
{
'verbose_name'
:
'user'
,
'verbose_name_plural'
:
'users'
,
'abstract'
:
False
,
},
bases
=
(
'auth.user'
,),
managers
=
[
(
'objects'
,
django
.
contrib
.
auth
.
models
.
UserManager
()),
],
),
migrations
.
CreateModel
(
name
=
'Reply'
,
fields
=
[
(
'id'
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'body'
,
models
.
TextField
(
blank
=
True
,
null
=
True
)),
(
'pub_datetime'
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
(
'author'
,
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
to
=
'forum.widgetuser'
)),
(
'forumpost'
,
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
'reply'
,
to
=
'forum.forumpost'
)),
],
),
migrations
.
AddField
(
model_name
=
'forumpost'
,
name
=
'author'
,
field
=
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
'forumpost'
,
to
=
'forum.widgetuser'
),
),
]
widget_robo_mommy/forum/migrations/0002_auto_20230304_2337.py
0 → 100644
View file @
a359ad04
# Generated by Django 3.2 on 2023-03-04 15:37
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'Dashboard'
,
'0002_widgetuser'
),
(
'admin'
,
'0003_logentry_add_action_flag_choices'
),
(
'forum'
,
'0001_initial'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'forumpost'
,
name
=
'author'
,
field
=
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
'forumpost'
,
to
=
'Dashboard.widgetuser'
),
),
migrations
.
AlterField
(
model_name
=
'reply'
,
name
=
'author'
,
field
=
models
.
ForeignKey
(
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
to
=
'Dashboard.widgetuser'
),
),
migrations
.
DeleteModel
(
name
=
'WidgetUser'
,
),
]
widget_robo_mommy/forum/migrations/__init__.py
0 → 100644
View file @
a359ad04
widget_robo_mommy/forum/models.py
0 → 100644
View file @
a359ad04
from
django.db
import
models
from
Dashboard.models
import
WidgetUser
# Create your models here.
class
ForumPost
(
models
.
Model
):
title
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
body
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
author
=
models
.
ForeignKey
(
WidgetUser
,
related_name
=
'forumpost'
,
on_delete
=
models
.
CASCADE
,
null
=
True
)
pub_datetime
=
models
.
DateTimeField
(
auto_now_add
=
True
)
class
Reply
(
models
.
Model
):
forumpost
=
models
.
ForeignKey
(
ForumPost
,
related_name
=
'reply'
,
on_delete
=
models
.
CASCADE
,
null
=
True
)
body
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
author
=
models
.
ForeignKey
(
WidgetUser
,
on_delete
=
models
.
CASCADE
,
null
=
True
)
pub_datetime
=
models
.
DateTimeField
(
auto_now_add
=
True
)
widget_robo_mommy/forum/tests.py
0 → 100644
View file @
a359ad04
from
django.test
import
TestCase
# Create your tests here.
widget_robo_mommy/forum/urls.py
0 → 100644
View file @
a359ad04
from
django.urls
import
path
from
.views
import
*
urlpatterns
=
[
path
(
'forum/'
,
forum_post_list_view
,
name
=
'forum_post_list_view'
)
]
widget_robo_mommy/forum/views.py
0 → 100644
View file @
a359ad04
from
django.shortcuts
import
render
from
django.http
import
HttpResponse
from
.models
import
ForumPost
import
pytz
from
django.utils
import
timezone
# helper function to convert utc datetime object to local time
def
convert_utc_to_local
(
utctime
):
datetime_format
=
'
%
d/
%
m/
%
Y
%
H:
%
M'
utc
=
utctime
.
replace
(
tzinfo
=
pytz
.
UTC
)
localtz
=
utc
.
astimezone
(
timezone
.
get_current_timezone
())
return
localtz
.
strftime
(
datetime_format
)
def
forum_post_list_view
(
request
):
html_string_1
=
'<html lang="en"><head><meta charset="UTF-8"><title>Forum Post List</title>'
\
'<h1>Forum Post List</h1></head><ul>'
html_string_2
=
''
for
fp
in
ForumPost
.
objects
.
all
():
html_string_2
+=
'<li><b style="font-size: 30px">{}</b>'
\
' by <b style="font-size: large">{} {}</b>'
\
' posted <b>{}</b><p>{}</p><ul>'
.
format
(
fp
.
title
,
fp
.
author
.
first_name
,
fp
.
author
.
last_name
,
convert_utc_to_local
(
fp
.
pub_datetime
),
fp
.
body
)
for
replies
in
fp
.
reply
.
all
():
html_string_2
+=
'<li> Reply by <b>{} {}</b> '
\
'posted <b>{}</b><p>{}</p></li>'
.
format
(
replies
.
author
.
first_name
,
replies
.
author
.
last_name
,
convert_utc_to_local
(
replies
.
pub_datetime
),
replies
.
body
)
html_string_2
+=
'</ul></li>'
html_string_final
=
html_string_1
+
html_string_2
+
'</ul></html>'
return
HttpResponse
(
html_string_final
)
widget_robo_mommy/widget_robo_mommy/settings.py
View file @
a359ad04
...
@@ -25,6 +25,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
...
@@ -25,6 +25,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
# SECURITY WARNING: keep the secret key used in production secret!
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY
=
'django-insecure-t*s#_++5=ze
%3
#*ns6vcmt8a5bw6249en-!ek7*#3=p-dkhl_f'
SECRET_KEY
=
'django-insecure-t*s#_++5=ze
%3
#*ns6vcmt8a5bw6249en-!ek7*#3=p-dkhl_f'
# SECURITY WARNING: don't run with debug turned on in production!
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG
=
True
DEBUG
=
True
...
@@ -34,13 +35,16 @@ ALLOWED_HOSTS = []
...
@@ -34,13 +35,16 @@ ALLOWED_HOSTS = []
# Application definition
# Application definition
INSTALLED_APPS
=
[
INSTALLED_APPS
=
[
'Assignments'
,
'forum.apps.ForumConfig'
,
'Dashboard.apps.DashboardConfig'
,
'django.contrib.admin'
,
'django.contrib.admin'
,
'django.contrib.auth'
,
'django.contrib.auth'
,
'django.contrib.contenttypes'
,
'django.contrib.contenttypes'
,
'django.contrib.sessions'
,
'django.contrib.sessions'
,
'django.contrib.messages'
,
'django.contrib.messages'
,
'django.contrib.staticfiles'
,
'django.contrib.staticfiles'
,
'
Dashboard.apps.DashboardConfig'
'
tz_detect'
,
]
]
MIDDLEWARE
=
[
MIDDLEWARE
=
[
...
@@ -109,7 +113,7 @@ AUTH_PASSWORD_VALIDATORS = [
...
@@ -109,7 +113,7 @@ AUTH_PASSWORD_VALIDATORS = [
LANGUAGE_CODE
=
'en-us'
LANGUAGE_CODE
=
'en-us'
TIME_ZONE
=
'
UTC
'
TIME_ZONE
=
'
Asia/Hong_Kong
'
USE_I18N
=
True
USE_I18N
=
True
...
@@ -127,6 +131,3 @@ STATIC_URL = '/static/'
...
@@ -127,6 +131,3 @@ STATIC_URL = '/static/'
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD
=
'django.db.models.BigAutoField'
DEFAULT_AUTO_FIELD
=
'django.db.models.BigAutoField'
#blank =true and null=true
\ No newline at end of file
widget_robo_mommy/widget_robo_mommy/urls.py
View file @
a359ad04
...
@@ -17,7 +17,8 @@ from django.contrib import admin
...
@@ -17,7 +17,8 @@ from django.contrib import admin
from
django.urls
import
path
,
include
from
django.urls
import
path
,
include
urlpatterns
=
[
urlpatterns
=
[
path
(
'Dashboard/'
,
include
(
'Dashboard.urls'
,
namespace
=
"Dashboard"
)),
path
(
'admin/'
,
admin
.
site
.
urls
),
path
(
'admin/'
,
admin
.
site
.
urls
),
path
(
'Assignments/'
,
include
(
'Assignments.urls'
,
namespace
=
"Assignments"
)),
path
(
''
,
include
((
'forum.urls'
,
'forum'
),
namespace
=
'forum'
)),
path
(
'Dashboard/'
,
include
(
'Dashboard.urls'
,
namespace
=
"Dashboard"
)),
]
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment