Skip to content

Commit 4cbb879

Browse files
add edit folder name and delete folder
1 parent efcd809 commit 4cbb879

File tree

8 files changed

+52
-5
lines changed

8 files changed

+52
-5
lines changed
24 Bytes
Binary file not shown.
96 Bytes
Binary file not shown.
808 Bytes
Binary file not shown.

gallery/loadFiles.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ def getFirstFile(self, files, first_file = True, search = None):
2626
continue
2727
files_in_dir = file_first
2828
break
29-
print(files_in_dir)
29+
if (type(files_in_dir) == list):
30+
files_in_dir = files_in_dir[0]
3031
files_content.append({
3132
'dir_name': file,
3233
'dir_name_encoded': file,

gallery/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@
99
url(r'^search/(?P<search>.+)$', views.search, name='search_main'),
1010
path('view/<folder_name>', views.view, name='view_main'),
1111
url(r'^view/(?P<folder_name>.+)/(?P<last_item>\d+)$', views.view, name='view_main'),
12+
path('rename', views.renameDir, name='rename_main'),
13+
path('delete', views.removeDir, name='delete_main'),
1214
]

gallery/views.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from django.shortcuts import render
22
from gallery.loadFiles import LoadFiles
33
from gallery.pagination import Pagination
4-
import random
4+
from django.http import HttpResponse
5+
from shutil import rmtree
6+
import random, os, ast
57

68
def index(request, last_item = None):
79
s = LoadFiles()
@@ -36,3 +38,20 @@ def search(request, search = None):
3638
'next': None,
3739
'prev': None
3840
})
41+
42+
def renameDir(request):
43+
requestPost = request.body.decode('utf-8')
44+
requestPost = ast.literal_eval(requestPost) if requestPost and type(requestPost) == str else requestPost
45+
if ("oldDirName" in requestPost and "newDirName" in requestPost):
46+
oldPath = LoadFiles.PATH + '/'+ requestPost["oldDirName"]
47+
newPath = LoadFiles.PATH + '/'+ requestPost["newDirName"]
48+
if (requestPost["oldDirName"] and requestPost["newDirName"]):
49+
os.rename(oldPath, newPath)
50+
return HttpResponse("Done", content_type='text/plain')
51+
52+
def removeDir(request):
53+
requestPost = request.body.decode('utf-8')
54+
requestPost = ast.literal_eval(requestPost) if requestPost and type(requestPost) == str else requestPost
55+
if ("oldDirName" in requestPost):
56+
rmtree(LoadFiles.PATH + '/'+ requestPost["oldDirName"])
57+
return HttpResponse("Done", content_type='text/plain')

templates/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<div class="ex3">
3636
<!-- <input v-model="checkedDirName"> -->
3737
<!-- <input v-bind:value="checkedDirName" v-on:input="checkedDirName = $event.target.value"> -->
38-
<input type="button" v-bind:value="checkedDirName" v-on:click="(checkedDirName = '{{ file.dir_name }}'), (show_modal_1=true)" value="Edit">
38+
<input type="button" v-bind:value="checkedDirName" v-on:click='(checkedDirName = "{{ file.dir_name }}"), (show_modal_1=true)' value="Edit">
3939
{{ file.dir_name }}
4040
</div>
4141
</div>

templates/vue_modal.html

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<form novalidate>
33
<div class="form-group">
44
<label for="folderName">Rename Folder Name</label>
5-
<input v-model="checkedDirName" type="text" class="form-control" id="folderName" placeholder="Folder Name">
5+
<input :value="checkedDirName" type="text" @input="newCheckedDirName=$event.target.value" class="form-control" id="folderName" placeholder="Folder Name">
66
</div>
77
<div class="form-group">
88
<div class="form-check">
@@ -17,7 +17,7 @@
1717
<div class="row">
1818
<div class="col-sm-12">
1919
<div class="float-right">
20-
<button class="btn btn-primary" type="button" @click="show_modal_1=false">Ok</button>
20+
<button class="btn btn-primary" type="button" @click="renameDir(), (show_modal_1=false)">Ok</button>
2121
<button class="btn btn-secondary ml-2" type="button" @click="show_modal_1=false">Cancel</button>
2222
</div>
2323
</div>
@@ -33,6 +33,7 @@
3333
data: {
3434
show_modal_1: false,
3535
checkedDirName: '',
36+
newCheckedDirName: '',
3637
checkedDeleteValidation: false
3738
},
3839
methods: {
@@ -42,6 +43,30 @@
4243
} else {
4344
this.checkedDeleteValidation = false;
4445
}
46+
},
47+
renameDir () {
48+
urlRequest = "{% url 'rename_main' %}";
49+
if (this.checkedDeleteValidation == true){
50+
urlRequest = "{% url 'delete_main' %}";
51+
}
52+
console.log(urlRequest);
53+
axios({
54+
method: 'post',
55+
url: urlRequest,
56+
data: {
57+
oldDirName: this.checkedDirName ,
58+
newDirName: this.newCheckedDirName
59+
},
60+
headers: {
61+
"X-CSRFToken": '{{ csrf_token }}',
62+
"content-type": "application/x-www-form-urlencoded"
63+
}
64+
}).then(function (response) {
65+
console.log(response)
66+
window.location.reload(true)
67+
}).catch(function (error) {
68+
console.log(error)
69+
})
4570
}
4671

4772
}

0 commit comments

Comments
 (0)