Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SRCT
go
Commits
07aca330
Unverified
Commit
07aca330
authored
Mar 28, 2017
by
David Haynes
Browse files
Initial layout of /edit/[short]
- a new URL (and test) - a new view (and test)
parent
ef18dac9
Pipeline
#1166
failed with stage
in 1 minute and 4 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
go/go/test_views.py
View file @
07aca330
...
...
@@ -104,6 +104,18 @@ class ViewTest(TestCase):
response
=
self
.
client
.
get
(
'/view/test'
)
self
.
assertEqual
(
response
.
status_code
,
200
)
class
EditTest
(
TestCase
):
"""
Test cases for the edit view
"""
def
test_django_test
(
self
):
"""
Default test case, does not actually test anything
"""
self
.
assertEqual
(
"Hello World!"
,
"Hello World!"
)
class
DeleteTest
(
TestCase
):
"""
Test cases for the delete view
...
...
go/go/views.py
View file @
07aca330
...
...
@@ -193,6 +193,31 @@ def view(request, short):
'domain'
:
domain
,
})
@
login_required
def
edit
(
request
,
short
):
"""
This view allows a logged in user to edit the details of a Go link that they
own. They can modify any value that they wish. If `short` is modified then
we will need to create a new link and copy over stats from the previous.
"""
# Do not allow unapproved users to edit links
if
not
request
.
user
.
registereduser
.
approved
:
return
render
(
request
,
'not_registered.html'
)
# Get the URL that is going to be edited
url
=
get_object_or_404
(
URL
,
short__iexact
=
short
)
# If the RegisteredUser is the owner of the URL
if
url
.
owner
==
request
.
user
.
registereduser
:
# render the edit URL form
# TODO
# redirect to my_links
return
redirect
(
'my_links'
)
else
:
# do not allow them to edit
raise
PermissionDenied
()
@
login_required
def
delete
(
request
,
short
):
"""
...
...
@@ -211,7 +236,7 @@ def delete(request, short):
if
url
.
owner
==
request
.
user
.
registereduser
:
# remove the URL
url
.
delete
()
# rediret to my_links
# redire
c
t to my_links
return
redirect
(
'my_links'
)
else
:
# do not allow them to delete
...
...
go/settings/test_urls.py
View file @
07aca330
...
...
@@ -82,6 +82,39 @@ class UrlsTest(TestCase):
url
=
reverse
(
'my_links'
)
self
.
assertEqual
(
url
,
'/myLinks'
)
def
test_edit_reverse_chars
(
self
):
"""
/edit/<short> - Delete a link, no content display.
"""
url
=
reverse
(
'edit'
,
args
=
[
'dhaynes'
])
self
.
assertEqual
(
url
,
'/delete/dhaynes'
)
def
test_edit_reverse_ints
(
self
):
"""
/edit/<short> - Delete a link, no content display.
"""
url
=
reverse
(
'edit'
,
args
=
[
'123456789'
])
self
.
assertEqual
(
url
,
'/delete/123456789'
)
def
test_edit_reverse_chars_ints
(
self
):
"""
/edit/<short> - Delete a link, no content display.
"""
url
=
reverse
(
'edit'
,
args
=
[
'dhaynes123'
])
self
.
assertEqual
(
url
,
'/delete/dhaynes123'
)
def
test_edit_reverse_full_slug
(
self
):
"""
/edit/<short> - Delete a link, no content display.
"""
url
=
reverse
(
'edit'
,
args
=
[
'dhaynes123_-'
])
self
.
assertEqual
(
url
,
'/delete/dhaynes123_-'
)
def
test_delete_reverse_chars
(
self
):
"""
/delete/<short> - Delete a link, no content display.
...
...
go/settings/urls.py
View file @
07aca330
...
...
@@ -42,6 +42,9 @@ urlpatterns = [
# /myLinks - My-Links page, view and review links.
url
(
r
'^myLinks/?$'
,
go
.
views
.
my_links
,
name
=
'my_links'
),
# /edit/<short> - Edit link form
url
(
r
'^edit/(?P<short>[-\w]+)$'
,
go
.
views
.
edit
,
name
=
'edit'
),
# /delete/<short> - Delete a link, no content display.
url
(
r
'^delete/(?P<short>[-\w]+)$'
,
go
.
views
.
delete
,
name
=
'delete'
),
...
...
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