Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
widget_Alipins
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Angelico Ruiz T. Teaño
widget_Alipins
Commits
a7bcd91c
Commit
a7bcd91c
authored
May 21, 2022
by
Carlo Joseph Echon
🐟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://gitlab.discs.ateneo.edu/Gico/widget_alipins
parents
12c7835a
3a2ec184
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
252 additions
and
55 deletions
+252
-55
README.md
README.md
+2
-1
forms.py
widget_alipins/forum/forms.py
+15
-0
0005_alter_post_pub_date.py
widget_alipins/forum/migrations/0005_alter_post_pub_date.py
+18
-0
models.py
widget_alipins/forum/models.py
+1
-1
add.html
widget_alipins/forum/templates/forum/add.html
+24
-0
index.html
widget_alipins/forum/templates/forum/index.html
+10
-9
urls.py
widget_alipins/forum/urls.py
+2
-1
views.py
widget_alipins/forum/views.py
+22
-17
forms.py
widget_alipins/homepage/forms.py
+9
-0
models.py
widget_alipins/homepage/models.py
+4
-1
index.html
widget_alipins/homepage/templates/homepage/index.html
+7
-7
widgetuser_detail.html
...lipins/homepage/templates/homepage/widgetuser_detail.html
+8
-8
widgetuser_form.html
..._alipins/homepage/templates/homepage/widgetuser_form.html
+24
-0
urls.py
widget_alipins/homepage/urls.py
+2
-1
views.py
widget_alipins/homepage/views.py
+8
-7
base.css
widget_alipins/static/base.css
+15
-0
style.css
widget_alipins/static/homepage/style.css
+72
-2
base.html
widget_alipins/templates/base.html
+9
-0
No files found.
README.md
View file @
a7bcd91c
...
@@ -12,3 +12,4 @@ Irish Danielle Morales | Homepage
...
@@ -12,3 +12,4 @@ Irish Danielle Morales | Homepage
--- | ---
--- | ---
Lab 1 |
[
Starting Your First App
](
https://drive.google.com/file/d/1Ef09a_Yzx-rJeYul250BJrHNmJPSmncB/view?usp=sharing
)
Lab 1 |
[
Starting Your First App
](
https://drive.google.com/file/d/1Ef09a_Yzx-rJeYul250BJrHNmJPSmncB/view?usp=sharing
)
Lab 2 |
[
Working With Models
](
https://drive.google.com/file/d/1-cmuwu9HcJ3OLpQLqap9kKYfmdP6q0iF/view?usp=sharing
)
Lab 2 |
[
Working With Models
](
https://drive.google.com/file/d/1-cmuwu9HcJ3OLpQLqap9kKYfmdP6q0iF/view?usp=sharing
)
Lab 3 |
[
Templates and Static Files
](
https://drive.google.com/file/d/1MdThjDK1DIFeUcuRiOJbUiugxb8lEfCo/view?usp=sharing
)
\ No newline at end of file
widget_alipins/forum/forms.py
0 → 100644
View file @
a7bcd91c
from
django
import
forms
from
homepage.models
import
WidgetUser
from
.models
import
Post
class
AddForm
(
forms
.
ModelForm
):
class
Meta
:
model
=
Post
fields
=
"__all__"
# post_title = forms.CharField(label='Title', max_length=50)
# post_body = forms.CharField(label='Body', max_length=1500, widget=forms.Textarea)
# # pub_date = models.DateTimeField("date published")
# author = forms.ModelChoiceField(label='Author', queryset=WidgetUser.objects.all())
# post_image = forms.ImageField(required=False)
\ No newline at end of file
widget_alipins/forum/migrations/0005_alter_post_pub_date.py
0 → 100644
View file @
a7bcd91c
# Generated by Django 3.2.12 on 2022-05-21 10:03
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'forum'
,
'0004_post_post_image'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'post'
,
name
=
'pub_date'
,
field
=
models
.
DateTimeField
(
auto_now_add
=
True
,
verbose_name
=
'date published'
),
),
]
widget_alipins/forum/models.py
View file @
a7bcd91c
...
@@ -5,7 +5,7 @@ from homepage.models import WidgetUser
...
@@ -5,7 +5,7 @@ from homepage.models import WidgetUser
class
Post
(
models
.
Model
):
class
Post
(
models
.
Model
):
post_title
=
models
.
CharField
(
max_length
=
50
)
post_title
=
models
.
CharField
(
max_length
=
50
)
post_body
=
models
.
TextField
(
max_length
=
1500
)
post_body
=
models
.
TextField
(
max_length
=
1500
)
pub_date
=
models
.
DateTimeField
(
"date published"
)
pub_date
=
models
.
DateTimeField
(
"date published"
,
auto_now_add
=
True
)
author
=
models
.
ForeignKey
(
WidgetUser
,
on_delete
=
models
.
CASCADE
)
author
=
models
.
ForeignKey
(
WidgetUser
,
on_delete
=
models
.
CASCADE
)
post_image
=
models
.
ImageField
(
null
=
True
,
blank
=
True
,
upload_to
=
"forum/"
)
post_image
=
models
.
ImageField
(
null
=
True
,
blank
=
True
,
upload_to
=
"forum/"
)
...
...
widget_alipins/forum/templates/forum/add.html
0 → 100644
View file @
a7bcd91c
{% extends 'base.html' %}
{% load static %}
{% block styles %}
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static 'forum/style.css' %}"
>
{% endblock %}
{% block title %}New Forum Post{% endblock %}
{% block content %}
<h1>
New Forum Post
</h1>
<div>
<form
action=
"add"
method=
"post"
>
{% csrf_token %}
<ul>
<li>
Title: {{ form.post_title }}
</li>
<li>
Body: {{ form.post_body }}
</li>
<li>
Author: {{ form.author }}
</li>
<li>
Image: {{ form.post_image }}
</li>
</ul>
<input
type=
"submit"
value=
"Save Post"
style=
"float:right;font-size:100%"
>
</form>
</div>
{% endblock %}
\ No newline at end of file
widget_alipins/forum/templates/forum/index.html
View file @
a7bcd91c
...
@@ -10,14 +10,15 @@
...
@@ -10,14 +10,15 @@
<h1>
Forum
</h1>
<h1>
Forum
</h1>
<div>
<div>
<h2>
Forum posts:
</h2>
<h2>
Forum posts:
</h2>
{% if posts %}
<ul>
<ul>
{% if posts %}
{% for post in posts %}
{% for post in posts %}
<li><a
href=
"{% url 'forum:details' post.id%}"
>
{{post.post_title}}
</a>
by {{post.author.first_name}} {{post.author.last_name}} dated {{post.pub_date|date:"d/m/Y"}}
</li>
<li><a
href=
"{% url 'forum:details' post.id%}"
>
{{post.post_title}}
</a>
by {{post.author.first_name}} {{post.author.last_name}} dated {{post.pub_date|date:"d/m/Y"}}
</li>
{% endfor %}
{% endfor %}
</ul>
{% else %}
{% else %}
<p>
There is no post.
</p>
<p>
There is no post.
</p>
{% endif %}
{% endif %}
<li><a
href=
"/forum/add"
>
Write a new forum post...
</a></li>
</ul>
</div>
</div>
{% endblock %}
{% endblock %}
\ No newline at end of file
widget_alipins/forum/urls.py
View file @
a7bcd91c
...
@@ -4,5 +4,6 @@ from . import views
...
@@ -4,5 +4,6 @@ from . import views
app_name
=
"forum"
app_name
=
"forum"
urlpatterns
=
[
urlpatterns
=
[
path
(
''
,
views
.
index
,
name
=
"indexForum"
),
path
(
''
,
views
.
index
,
name
=
"indexForum"
),
path
(
'<int:post_id>/details'
,
views
.
details
,
name
=
"details"
)
path
(
'<int:post_id>/details'
,
views
.
details
,
name
=
"details"
),
path
(
'add'
,
views
.
AddView
.
as_view
(),
name
=
"add"
)
]
]
widget_alipins/forum/views.py
View file @
a7bcd91c
from
django.http
import
Http404
from
.models
import
Post
,
Reply
from
.models
import
Post
,
Reply
from
.forms
import
AddForm
from
django.http
import
Http404
from
django.shortcuts
import
render
from
django.shortcuts
import
render
from
django.views
import
View
# Create your views here.
def
index
(
request
):
def
index
(
request
):
posts
=
Post
.
objects
.
order_by
(
"-pub_date"
)
posts
=
Post
.
objects
.
order_by
(
"-pub_date"
)
context
=
{
context
=
{
...
@@ -10,20 +11,6 @@ def index(request):
...
@@ -10,20 +11,6 @@ def index(request):
}
}
return
render
(
request
,
"forum/index.html"
,
context
)
return
render
(
request
,
"forum/index.html"
,
context
)
# display_output = "<u><b>FORUM POSTS</u></b>:<br>"
# for post in Post.objects.all():
# display_output += f"<b>{post.post_title} by {post.author.first_name} {post.author.last_name}</b> dated {str(post.pub_date)}:\
# <br>{post.post_body}"
# replies = Reply.objects.filter(post=post)
# for reply in replies:
# display_output += f"<br><b>Reply by {reply.author.first_name} {reply.author.last_name}</b> dated {reply.pub_date}:\
# <br>{reply.reply_body}"
# display_output += "<br><br>"
# return HttpResponse(display_output)
def
details
(
request
,
post_id
):
def
details
(
request
,
post_id
):
try
:
try
:
post
=
Post
.
objects
.
get
(
pk
=
post_id
)
post
=
Post
.
objects
.
get
(
pk
=
post_id
)
...
@@ -36,3 +23,21 @@ def details(request, post_id):
...
@@ -36,3 +23,21 @@ def details(request, post_id):
}
}
return
render
(
request
,
"forum/detail.html"
,
context
)
return
render
(
request
,
"forum/detail.html"
,
context
)
class
AddView
(
View
):
def
get
(
self
,
request
):
form
=
AddForm
()
context
=
{
'form'
:
form
}
return
render
(
request
,
'forum/add.html'
,
context
)
def
post
(
self
,
request
):
form
=
AddForm
(
request
.
POST
)
if
form
.
is_valid
():
print
(
form
.
cleaned_data
[
'post_title'
])
form
.
save
()
context
=
{
'form'
:
form
}
return
render
(
request
,
'forum/add.html'
,
context
)
widget_alipins/homepage/forms.py
0 → 100644
View file @
a7bcd91c
from
statistics
import
mode
from
django
import
forms
from
.models
import
WidgetUser
class
WidgetUserForm
(
forms
.
ModelForm
):
class
Meta
:
model
=
WidgetUser
fields
=
[
'last_name'
,
'first_name'
,
'middle_name'
,
'id_num'
,
'email'
,
'department'
,
'image'
]
\ No newline at end of file
widget_alipins/homepage/models.py
View file @
a7bcd91c
...
@@ -23,3 +23,6 @@ class WidgetUser(models.Model):
...
@@ -23,3 +23,6 @@ class WidgetUser(models.Model):
def
__str__
(
self
):
def
__str__
(
self
):
full_name
=
self
.
first_name
+
" "
+
self
.
middle_name
+
" "
+
self
.
last_name
full_name
=
self
.
first_name
+
" "
+
self
.
middle_name
+
" "
+
self
.
last_name
return
full_name
return
full_name
def
get_absolute_url
(
self
):
return
u'
%
d/details'
%
self
.
pk
\ No newline at end of file
widget_alipins/homepage/templates/homepage/index.html
View file @
a7bcd91c
...
@@ -7,12 +7,6 @@
...
@@ -7,12 +7,6 @@
{% block title %}Homepage{% endblock %}
{% block title %}Homepage{% endblock %}
{% block content %}
{% block content %}
<nav
class=
"topnav"
>
<a
href=
"{% url 'homepage:indexHomepage' %}"
>
Homepage
</a>
<a
href=
"{% url 'announcements:indexAnnouncements' %}"
>
Announcements
</a>
<a
href=
"{% url 'forum:indexForum' %}"
>
Forum
</a>
<a
href=
"{% url 'assignments:indexAssignments' %}"
>
Assignments
</a>
</nav>
<h1
class=
"welcome"
>
Welcome to Widget!
</h1>
<h1
class=
"welcome"
>
Welcome to Widget!
</h1>
<div
class=
"users"
>
<div
class=
"users"
>
...
@@ -20,11 +14,17 @@
...
@@ -20,11 +14,17 @@
{% if user_list %}
{% if user_list %}
<ol>
<ol>
{% for user in user_list %}
{% for user in user_list %}
<li><a
href=
"{% url 'homepage:
d
etails' user.id%}"
>
{{user.last_name}}, {{user.first_name}} {{user.middle_name}}
</a></li>
<li><a
href=
"{% url 'homepage:
userD
etails' user.id%}"
>
{{user.last_name}}, {{user.first_name}} {{user.middle_name}}
</a></li>
{% endfor %}
{% endfor %}
</ol>
</ol>
{% else %}
{% else %}
<p>
There are no existing users.
</p>
<p>
There are no existing users.
</p>
{% endif %}
{% endif %}
</div>
</div>
<div
class=
"add-button"
>
<a
href=
"{% url 'homepage:userCreate' %}"
>
<button
type=
"button"
>
Add Widget User
</button>
</a>
</div>
{% endblock %}
{% endblock %}
\ No newline at end of file
widget_alipins/homepage/templates/homepage/detail.html
→
widget_alipins/homepage/templates/homepage/
widgetuser_
detail.html
View file @
a7bcd91c
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static 'homepage/style.css' %}"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static 'homepage/style.css' %}"
>
{% endblock %}
{% endblock %}
{% block title %}{{
user.user_id
}}{% endblock %}
{% block title %}{{
object.pk
}}{% endblock %}
{% block content %}
{% block content %}
<nav
class=
"topnav"
>
<nav
class=
"topnav"
>
<a
href=
"{% url 'homepage:indexHomepage' %}"
>
Homepage
</a>
<a
href=
"{% url 'homepage:indexHomepage' %}"
>
Homepage
</a>
...
@@ -16,16 +16,16 @@
...
@@ -16,16 +16,16 @@
<div
class=
"flex-container"
>
<div
class=
"flex-container"
>
<div
class=
"user-card"
>
<div
class=
"user-card"
>
<h1>
{{
user.last_name}}, {{user.first_name}} {{user
.middle_name}}
</h1>
<h1>
{{
object.last_name}}, {{object.first_name}} {{object
.middle_name}}
</h1>
<div>
<div>
{% if
user
.image %}
{% if
object
.image %}
<img
class=
"user-image flex-item"
src =
"{{
user
.image.url }}"
>
<img
class=
"user-image flex-item"
src =
"{{
object
.image.url }}"
>
{% endif %}
{% endif %}
<ul
class=
"flex-item"
>
<ul
class=
"flex-item"
>
<li>
ID Number: {{
user
.id_num}}
</li>
<li>
ID Number: {{
object
.id_num}}
</li>
<li>
Email Address: {{
user
.email}}
</li>
<li>
Email Address: {{
object
.email}}
</li>
<li>
Department: {{
user
.department.dept_name}}
</li>
<li>
Department: {{
object
.department.dept_name}}
</li>
<li>
Home Unit: {{
user
.department.home_unit}}
</li>
<li>
Home Unit: {{
object
.department.home_unit}}
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
...
...
widget_alipins/homepage/templates/homepage/widgetuser_form.html
0 → 100644
View file @
a7bcd91c
{% extends 'base.html' %}
{% load static %}
{% block styles %}
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static 'homepage/style.css' %}"
>
{% endblock %}
{% block title %}{{object.pk}}{% endblock %}
{% block content %}
<nav
class=
"topnav"
>
<a
href=
"{% url 'homepage:indexHomepage' %}"
>
Homepage
</a>
<a
href=
"{% url 'announcements:indexAnnouncements' %}"
>
Announcements
</a>
<a
href=
"{% url 'forum:indexForum' %}"
>
Forum
</a>
<a
href=
"{% url 'assignments:indexAssignments' %}"
>
Assignments
</a>
</nav>
<div
class=
"flex-container"
>
<form
method=
"POST"
enctype=
"multipart/form-data"
>
{% csrf_token %}
{{ form.as_p }}
<input
type=
"submit"
value=
"Submit"
>
</form>
</div>
{% endblock %}
\ No newline at end of file
widget_alipins/homepage/urls.py
View file @
a7bcd91c
...
@@ -4,5 +4,6 @@ from . import views
...
@@ -4,5 +4,6 @@ from . import views
app_name
=
"homepage"
app_name
=
"homepage"
urlpatterns
=
[
urlpatterns
=
[
path
(
''
,
views
.
index
,
name
=
"indexHomepage"
),
path
(
''
,
views
.
index
,
name
=
"indexHomepage"
),
path
(
'<int:user_id>/details'
,
views
.
details
,
name
=
"details"
)
path
(
'users/<int:pk>/details'
,
views
.
UserDetailView
.
as_view
(),
name
=
"userDetails"
),
path
(
'users/add'
,
views
.
UserCreateView
.
as_view
(),
name
=
"userCreate"
)
]
]
\ No newline at end of file
widget_alipins/homepage/views.py
View file @
a7bcd91c
from
django.http
import
Http404
from
multiprocessing
import
context
from
django.shortcuts
import
render
from
django.shortcuts
import
render
from
django.views.generic.detail
import
DetailView
from
django.views.generic.edit
import
CreateView
from
.models
import
WidgetUser
from
.models
import
WidgetUser
def
index
(
request
):
def
index
(
request
):
...
@@ -10,10 +12,9 @@ def index(request):
...
@@ -10,10 +12,9 @@ def index(request):
return
render
(
request
,
"homepage/index.html"
,
context
)
return
render
(
request
,
"homepage/index.html"
,
context
)
def
details
(
request
,
user_id
):
class
UserDetailView
(
DetailView
):
try
:
model
=
WidgetUser
user
=
WidgetUser
.
objects
.
get
(
pk
=
user_id
)
except
WidgetUser
.
DoesNotExist
:
raise
Http404
(
"User does not exist!"
)
return
render
(
request
,
"homepage/detail.html"
,
{
"user"
:
user
})
class
UserCreateView
(
CreateView
):
\ No newline at end of file
model
=
WidgetUser
fields
=
[
'last_name'
,
'first_name'
,
'middle_name'
,
'id_num'
,
'email'
,
'department'
,
'image'
]
\ No newline at end of file
widget_alipins/static/base.css
0 → 100644
View file @
a7bcd91c
.topnav
{
padding
:
30px
30px
;
}
.topnav
a
{
display
:
inline-block
;
padding
:
8px
;
color
:
#131111
;
text-align
:
center
;
text-decoration
:
none
;
}
.topnav
a
:hover
{
text-decoration
:
underline
;
}
\ No newline at end of file
widget_alipins/static/homepage/style.css
View file @
a7bcd91c
...
@@ -52,7 +52,6 @@ body::-webkit-scrollbar {
...
@@ -52,7 +52,6 @@ body::-webkit-scrollbar {
margin
:
auto
;
margin
:
auto
;
width
:
20%
;
width
:
20%
;
padding
:
30px
70px
;
padding
:
30px
70px
;
margin-bottom
:
100px
;
color
:
white
;
color
:
white
;
border-top
:
1px
solid
white
;
border-top
:
1px
solid
white
;
border-bottom
:
1px
solid
white
;
border-bottom
:
1px
solid
white
;
...
@@ -180,9 +179,80 @@ a:hover {
...
@@ -180,9 +179,80 @@ a:hover {
h1
.welcome
{
h1
.welcome
{
font-size
:
7vw
;
font-size
:
7vw
;
margin
:
14vh
0
9vh
0
;
margin
:
9vh
0
;
padding
:
1vh
0
1vh
0
;
padding
:
1vh
0
1vh
0
;
color
:
white
;
color
:
white
;
font-family
:
"Inter"
;
font-family
:
"Inter"
;
background-color
:
#121212
;
background-color
:
#121212
;
}
}
.add-button
{
text-align
:
center
;
}
.add-button
>
a
{
display
:
inline-block
;
margin
:
20px
auto
;
}
button
{
background-color
:
#121212
;
color
:
white
;
border
:
0px
;
border-radius
:
10px
;
padding
:
10px
20px
;
font
:
15px
'Inter'
;
}
button
:hover
{
color
:
#e1bb54
;
cursor
:
pointer
;
}
form
{
display
:
flex
;
flex-flow
:
nowrap
column
;
justify-content
:
center
;
padding
:
30px
50px
;
color
:
white
;
background-color
:
#121212
;
border-radius
:
25px
;
border-top
:
1px
solid
white
;
border-bottom
:
1px
solid
white
;
}
form
>
p
{
margin
:
7px
0
;
}
input
,
select
{
display
:
inline-block
;
border-radius
:
5px
;
padding
:
7px
;
border
:
0
;
font-family
:
'Inter'
;
}
label
{
float
:
left
;
clear
:
left
;
width
:
100px
;
text-align
:
right
;
margin-right
:
15px
;
}
input
[
type
=
"file"
]
{
padding
:
0
;
border-radius
:
0
;
}
input
[
type
=
"Submit"
]
{
width
:
100px
;
background-color
:
#e1bb54
;
margin
:
30px
auto
0
auto
;
}
input
[
type
=
"Submit"
]
:hover
{
background-color
:
#d38a2a
;
cursor
:
pointer
;
}
\ No newline at end of file
widget_alipins/templates/base.html
View file @
a7bcd91c
...
@@ -6,11 +6,20 @@
...
@@ -6,11 +6,20 @@
<meta
charset=
"UTF-8"
>
<meta
charset=
"UTF-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{% static 'base.css' %}"
>
{% block styles %}
{% block styles %}
{% endblock %}
{% endblock %}
<title>
{% block title %} Alipins {% endblock %}
</title>
<title>
{% block title %} Alipins {% endblock %}
</title>
</head>
</head>
<body>
<body>
<nav
class=
"topnav"
>
<a
href=
"{% url 'homepage:indexHomepage' %}"
>
Homepage
</a>
<a
href=
"{% url 'announcements:indexAnnouncements' %}"
>
Announcements
</a>
<a
href=
"{% url 'forum:indexForum' %}"
>
Forum
</a>
<a
href=
"{% url 'assignments:indexAssignments' %}"
>
Assignments
</a>
</nav>
{% block content %}
{% block content %}
{% endblock %}
{% endblock %}
</body>
</body>
...
...
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