Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
94
Merge Requests
10
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
b66c1174
authored
Jul 10, 2014
by
Kálmán Viktor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dashboard: create store for users on first login
parent
514bb4c6
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
10 deletions
+34
-10
circle/dashboard/models.py
+9
-0
circle/dashboard/views.py
+25
-10
No files found.
circle/dashboard/models.py
View file @
b66c1174
...
...
@@ -43,6 +43,8 @@ from acl.models import AclBase
from
vm.tasks.agent_tasks
import
add_keys
,
del_keys
from
dashboard
import
store_api
logger
=
getLogger
(
__name__
)
pwgen
=
User
.
objects
.
make_random_password
...
...
@@ -193,6 +195,13 @@ def create_profile(sender, user, request, **kwargs):
if
not
user
.
pk
:
return
False
profile
,
created
=
Profile
.
objects
.
get_or_create
(
user
=
user
)
if
created
:
user_home
=
"u-
%
d"
%
user
.
pk
if
not
store_api
.
userexist
(
user_home
):
store_api
.
createuser
(
user_home
,
profile
.
smb_password
,
None
,
profile
.
disk_quota
)
return
created
user_logged_in
.
connect
(
create_profile
)
...
...
circle/dashboard/views.py
View file @
b66c1174
...
...
@@ -208,11 +208,15 @@ class IndexView(LoginRequiredMixin, TemplateView):
'operator'
,
user
)
.
all
()[:
5
]
# toplist
user_home
=
"u-
%
d"
%
user
.
pk
cache
=
get_cache
(
"default"
)
toplist
=
cache
.
get
(
"toplist-
test"
)
toplist
=
cache
.
get
(
"toplist-
%
s"
%
user_home
)
if
not
toplist
:
toplist
=
store_api
.
process_list
(
store_api
.
toplist
(
"test"
))
cache
.
set
(
"toplist-test"
,
toplist
,
300
)
try
:
toplist
=
store_api
.
process_list
(
store_api
.
toplist
(
user_home
))
except
Http404
:
toplist
=
[]
cache
.
set
(
"toplist-
%
s"
%
user_home
,
toplist
,
300
)
context
[
'toplist'
]
=
toplist
...
...
@@ -3075,7 +3079,8 @@ class StoreList(LoginRequiredMixin, TemplateView):
directory
=
self
.
request
.
GET
.
get
(
"directory"
,
"/"
)
directory
=
"/"
if
not
len
(
directory
)
else
directory
content
=
store_api
.
listfolder
(
"test"
,
directory
)
user_home
=
"u-
%
d"
%
self
.
request
.
user
.
pk
content
=
store_api
.
listfolder
(
user_home
,
directory
)
context
[
'root'
]
=
store_api
.
process_list
(
content
)
context
[
'up_url'
]
=
self
.
create_up_directory
(
directory
)
context
[
'current'
]
=
directory
...
...
@@ -3102,16 +3107,18 @@ class StoreList(LoginRequiredMixin, TemplateView):
@require_GET
@login_required
def
store_download
(
request
):
user_home
=
"u-
%
d"
%
request
.
user
.
pk
path
=
request
.
GET
.
get
(
"path"
)
url
=
store_api
.
requestdownload
(
"test"
,
path
)
url
=
store_api
.
requestdownload
(
user_home
,
path
)
return
redirect
(
url
)
@require_GET
@login_required
def
store_upload
(
request
):
user_home
=
"u-
%
d"
%
request
.
user
.
pk
directory
=
request
.
GET
.
get
(
"directory"
,
"/"
)
action
=
store_api
.
requestupload
(
"test"
,
directory
)
action
=
store_api
.
requestupload
(
user_home
,
directory
)
next_url
=
"
%
s
%
s?directory=
%
s"
%
(
settings
.
DJANGO_URL
[:
-
1
],
reverse
(
"dashboard.views.store-list"
),
directory
)
...
...
@@ -3124,8 +3131,9 @@ def store_upload(request):
@require_GET
@login_required
def
store_get_upload_url
(
request
):
user_home
=
"u-
%
d"
%
request
.
user
.
pk
current_dir
=
request
.
GET
.
get
(
"current_dir"
)
url
=
store_api
.
requestupload
(
"test"
,
current_dir
)
url
=
store_api
.
requestupload
(
user_home
,
current_dir
)
return
HttpResponse
(
json
.
dumps
({
'url'
:
url
}),
content_type
=
"application/json"
)
...
...
@@ -3150,8 +3158,9 @@ class StoreRemove(LoginRequiredMixin, TemplateView):
return
context
def
post
(
self
,
*
args
,
**
kwargs
):
user_home
=
"u-
%
d"
%
self
.
request
.
user
.
pk
path
=
self
.
request
.
POST
.
get
(
"path"
)
store_api
.
requestremove
(
"test"
,
path
)
store_api
.
requestremove
(
user_home
,
path
)
if
path
.
endswith
(
"/"
):
return
redirect
(
"
%
s?directory=
%
s"
%
(
...
...
@@ -3168,10 +3177,11 @@ class StoreRemove(LoginRequiredMixin, TemplateView):
@require_POST
@login_required
def
store_new_directory
(
request
):
user_home
=
"u-
%
d"
%
request
.
user
.
pk
path
=
request
.
POST
.
get
(
"path"
)
name
=
request
.
POST
.
get
(
"name"
)
store_api
.
requestnewfolder
(
"test"
,
path
+
name
)
store_api
.
requestnewfolder
(
user_home
,
path
+
name
)
return
redirect
(
"
%
s?directory=
%
s"
%
(
reverse
(
"dashboard.views.store-list"
),
path
))
...
...
@@ -3179,8 +3189,13 @@ def store_new_directory(request):
@require_POST
@login_required
def
store_refresh_toplist
(
request
):
user_home
=
"u-
%
d"
%
request
.
user
.
pk
cache
=
get_cache
(
"default"
)
toplist
=
store_api
.
process_list
(
store_api
.
toplist
(
"test"
))
try
:
toplist
=
store_api
.
process_list
(
store_api
.
toplist
(
user_home
))
except
Http404
:
toplist
=
[]
cache
.
set
(
"toplist-test"
,
toplist
,
300
)
user_home
=
"u-
%
d"
%
request
.
user
.
pk
return
redirect
(
reverse
(
"dashboard.index"
))
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