mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-16 07:08:55 +00:00
Refactor private share, and fixed a few bugs
This commit is contained in:
@@ -43,7 +43,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<td>--</td>
|
<td>--</td>
|
||||||
<td>{{e.from_user|email2nickname}}</td>
|
<td>{{e.from_user|email2nickname}}</td>
|
||||||
<td><a href="{% url 'rm_private_file_share' e.repo_id %}?from={{e.from_user|urlencode}}&to={{e.to_user|urlencode}}&p={{e.path|urlencode}}" class="op">Unshare</a></td>
|
<td><a href="{% url 'rm_private_file_share' e.token %}" class="op">Unshare</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<td><a href="{% url 'repo' e.repo_id %}">{{e.repo.name}}</a></td>
|
<td><a href="{% url 'repo' e.repo_id %}">{{e.repo.name}}</a></td>
|
||||||
<td>{{e.to_user|email2nickname}}</td>
|
<td>{{e.to_user|email2nickname}}</td>
|
||||||
<td><a href="{% url 'rm_private_file_share' e.repo_id %}?from={{e.from_user|urlencode}}&to={{e.to_user|urlencode}}&p={{e.path|urlencode}}" class="op">Unshare</a></td>
|
<td><a href="{% url 'rm_private_file_share' e.token %}" class="op">Unshare</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@@ -32,6 +32,7 @@ from seahub.auth.decorators import login_required
|
|||||||
from seahub.base.accounts import User
|
from seahub.base.accounts import User
|
||||||
from seahub.contacts.models import Contact
|
from seahub.contacts.models import Contact
|
||||||
from seahub.contacts.signals import mail_sended
|
from seahub.contacts.signals import mail_sended
|
||||||
|
from seahub.signals import share_file_to_user_successful
|
||||||
from seahub.views import validate_owner, is_registered_user
|
from seahub.views import validate_owner, is_registered_user
|
||||||
from seahub.utils import render_permission_error, string2list, render_error, \
|
from seahub.utils import render_permission_error, string2list, render_error, \
|
||||||
gen_token, gen_shared_link, gen_dir_share_link, gen_file_share_link, \
|
gen_token, gen_shared_link, gen_dir_share_link, gen_file_share_link, \
|
||||||
@@ -527,6 +528,7 @@ def share_permission_admin(request):
|
|||||||
|
|
||||||
# return HttpResponseRedirect(next)
|
# return HttpResponseRedirect(next)
|
||||||
|
|
||||||
|
########## share link
|
||||||
@login_required
|
@login_required
|
||||||
def get_shared_link(request):
|
def get_shared_link(request):
|
||||||
"""
|
"""
|
||||||
@@ -625,7 +627,6 @@ def send_shared_link(request):
|
|||||||
if not request.is_ajax() and not request.method == 'POST':
|
if not request.is_ajax() and not request.method == 'POST':
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
result = {}
|
|
||||||
content_type = 'application/json; charset=utf-8'
|
content_type = 'application/json; charset=utf-8'
|
||||||
|
|
||||||
if not IS_EMAIL_CONFIGURED:
|
if not IS_EMAIL_CONFIGURED:
|
||||||
@@ -672,16 +673,15 @@ def send_shared_link(request):
|
|||||||
def save_shared_link(request):
|
def save_shared_link(request):
|
||||||
"""Save public share link to one's library.
|
"""Save public share link to one's library.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
username = request.user.username
|
username = request.user.username
|
||||||
token = request.POST.get('s_token', '')
|
token = request.GET.get('t', '')
|
||||||
dst_repo_id = request.POST.get('dst_repo')
|
dst_repo_id = request.POST.get('dst_repo')
|
||||||
dst_path = request.POST.get('dst_path')
|
dst_path = request.POST.get('dst_path')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fs = FileShare.objects.get(token=token)
|
fs = FileShare.objects.get(token=token)
|
||||||
except FileShare.DoesNotExist:
|
except FileShare.DoesNotExist:
|
||||||
assert False # todo
|
raise Http404
|
||||||
|
|
||||||
src_repo_id = fs.repo_id
|
src_repo_id = fs.repo_id
|
||||||
src_path = os.path.dirname(fs.path)
|
src_path = os.path.dirname(fs.path)
|
||||||
@@ -696,9 +696,106 @@ def save_shared_link(request):
|
|||||||
|
|
||||||
next = request.META.get('HTTP_REFERER', None)
|
next = request.META.get('HTTP_REFERER', None)
|
||||||
if not next:
|
if not next:
|
||||||
next = settings.SITE_ROOT
|
next = SITE_ROOT
|
||||||
|
return HttpResponseRedirect(next)
|
||||||
|
|
||||||
|
########## private share
|
||||||
|
@require_POST
|
||||||
|
def gen_private_file_share(request, repo_id):
|
||||||
|
emails = request.POST.getlist('emails', '')
|
||||||
|
s_type = request.POST.get('s_type', '')
|
||||||
|
path = request.POST.get('path', '')
|
||||||
|
perm = request.POST.get('perm', 'r')
|
||||||
|
file_or_dir = os.path.basename(path.rstrip('/'))
|
||||||
|
username = request.user.username
|
||||||
|
|
||||||
|
for email in [e.strip() for e in emails if e.strip()]:
|
||||||
|
if not is_registered_user(email):
|
||||||
|
messages.error(request, _('Failed to share to "%s", user not found.') % email)
|
||||||
|
continue
|
||||||
|
|
||||||
|
if s_type == 'f':
|
||||||
|
pfds = PrivateFileDirShare.objects.add_read_only_priv_file_share(
|
||||||
|
username, email, repo_id, path)
|
||||||
|
elif s_type == 'd':
|
||||||
|
pfds = PrivateFileDirShare.objects.add_private_dir_share(
|
||||||
|
username, email, repo_id, path, perm)
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# send a signal when sharing file successful
|
||||||
|
share_file_to_user_successful.send(sender=None, priv_share_obj=pfds)
|
||||||
|
messages.success(request, _('Successfully shared %s.') % file_or_dir)
|
||||||
|
|
||||||
|
next = request.META.get('HTTP_REFERER', None)
|
||||||
|
if not next:
|
||||||
|
next = SITE_ROOT
|
||||||
|
return HttpResponseRedirect(next)
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def rm_private_file_share(request, token):
|
||||||
|
"""Remove private file shares.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
pfs = PrivateFileDirShare.objects.get_priv_file_dir_share_by_token(token)
|
||||||
|
except PrivateFileDirShare.DoesNotExist:
|
||||||
|
raise Http404
|
||||||
|
|
||||||
|
|
||||||
|
from_user = pfs.from_user
|
||||||
|
to_user = pfs.to_user
|
||||||
|
repo_id = pfs.repo_id
|
||||||
|
path = pfs.path
|
||||||
|
file_or_dir = os.path.basename(path.rstrip('/'))
|
||||||
|
username = request.user.username
|
||||||
|
|
||||||
|
if username == from_user or username == to_user:
|
||||||
|
pfs.delete()
|
||||||
|
messages.success(request, _('Successfully unshared "%s".') % file_or_dir)
|
||||||
|
else:
|
||||||
|
messages.error(request, _("You don't have permission to unshared %s.") % file_or_dir)
|
||||||
|
|
||||||
|
next = request.META.get('HTTP_REFERER', None)
|
||||||
|
if not next:
|
||||||
|
next = SITE_ROOT
|
||||||
return HttpResponseRedirect(next)
|
return HttpResponseRedirect(next)
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def save_private_file_share(request, token):
|
||||||
|
"""
|
||||||
|
Save private share file to someone's library.
|
||||||
|
"""
|
||||||
|
username = request.user.username
|
||||||
|
try:
|
||||||
|
pfs = PrivateFileDirShare.objects.get_priv_file_dir_share_by_token(token)
|
||||||
|
except PrivateFileDirShare.DoesNotExist:
|
||||||
|
raise Http404
|
||||||
|
|
||||||
|
from_user = pfs.from_user
|
||||||
|
to_user = pfs.to_user
|
||||||
|
repo_id = pfs.repo_id
|
||||||
|
path = pfs.path
|
||||||
|
src_path = os.path.dirname(path)
|
||||||
|
obj_name = os.path.basename(path.rstrip('/'))
|
||||||
|
|
||||||
|
if username == from_user or username == to_user:
|
||||||
|
dst_repo_id = request.POST.get('dst_repo')
|
||||||
|
dst_path = request.POST.get('dst_path')
|
||||||
|
|
||||||
|
new_obj_name = check_filename_with_rename(dst_repo_id, dst_path, obj_name)
|
||||||
|
seafile_api.copy_file(repo_id, src_path, obj_name,
|
||||||
|
dst_repo_id, dst_path, new_obj_name, username)
|
||||||
|
|
||||||
|
messages.success(request, _(u'Successfully saved.'))
|
||||||
|
|
||||||
|
else:
|
||||||
|
messages.error(request, _("You don't have permission to save %s.") % obj_name)
|
||||||
|
|
||||||
|
next = request.META.get('HTTP_REFERER', None)
|
||||||
|
if not next:
|
||||||
|
next = SITE_ROOT
|
||||||
|
return HttpResponseRedirect(next)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def user_share_list(request, id_or_email):
|
def user_share_list(request, id_or_email):
|
||||||
"""List sharing repos with ``to_email``.
|
"""List sharing repos with ``to_email``.
|
||||||
|
@@ -28,7 +28,9 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
{% if request.user.is_authenticated and request.user.username != shared_by %}
|
{% if request.user.is_authenticated and request.user.username != shared_by %}
|
||||||
<button data="{{save_to_link}}" id="save">{% trans "Save to..."%}</button>
|
{% if save_to_link %}
|
||||||
|
<button data="{{save_to_link}}" id="save">{% trans "Save to..."%}</button>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name|urlencode }}&op=download&t={{ shared_token }}&p={{path|urlencode}}" id="download">{% trans "Download" %}</button>
|
<button data="{{ SITE_ROOT }}repo/{{ repo.id }}/{{ obj_id }}/?file_name={{ file_name|urlencode }}&op=download&t={{ shared_token }}&p={{path|urlencode}}" id="download">{% trans "Download" %}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div id="private-share">
|
<div id="private-share">
|
||||||
<form id="private-share-form" method="post" action="{% url 'private_file_share' repo.id %}">{% csrf_token %}
|
<form id="private-share-form" method="post" action="{% url 'gen_private_file_share' repo.id %}">{% csrf_token %}
|
||||||
<select name="emails" class="w100" multiple="multiple"></select>
|
<select name="emails" class="w100" multiple="multiple"></select>
|
||||||
<input type="hidden" name="repo_id" value="" />
|
<input type="hidden" name="repo_id" value="" />
|
||||||
<input type="hidden" name="s_type" value="" />
|
<input type="hidden" name="s_type" value="" />
|
||||||
|
@@ -5,13 +5,13 @@ from django.conf import settings
|
|||||||
from seahub.views import *
|
from seahub.views import *
|
||||||
from seahub.views.file import view_file, view_history_file, view_trash_file,\
|
from seahub.views.file import view_file, view_history_file, view_trash_file,\
|
||||||
view_snapshot_file, file_edit, view_shared_file, view_file_via_shared_dir,\
|
view_snapshot_file, file_edit, view_shared_file, view_file_via_shared_dir,\
|
||||||
text_diff, private_file_share, rm_private_file_share, \
|
text_diff, view_priv_shared_file
|
||||||
save_private_file_share, view_priv_shared_file
|
|
||||||
from seahub.views.repo import repo, repo_history_view
|
from seahub.views.repo import repo, repo_history_view
|
||||||
from notifications.views import notification_list
|
from notifications.views import notification_list
|
||||||
from group.views import group_list
|
from group.views import group_list
|
||||||
from message.views import user_msg_list
|
from message.views import user_msg_list
|
||||||
from share.views import user_share_list
|
from share.views import user_share_list, gen_private_file_share, \
|
||||||
|
rm_private_file_share, save_private_file_share
|
||||||
from seahub.views.wiki import personal_wiki, personal_wiki_pages, \
|
from seahub.views.wiki import personal_wiki, personal_wiki_pages, \
|
||||||
personal_wiki_create, personal_wiki_page_new, personal_wiki_page_edit, \
|
personal_wiki_create, personal_wiki_page_new, personal_wiki_page_edit, \
|
||||||
personal_wiki_page_delete
|
personal_wiki_page_delete
|
||||||
@@ -78,15 +78,15 @@ urlpatterns = patterns('',
|
|||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/trash/files/$', view_trash_file, name="view_trash_file"),
|
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/trash/files/$', view_trash_file, name="view_trash_file"),
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/snapshot/files/$', view_snapshot_file, name="view_snapshot_file"),
|
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/snapshot/files/$', view_snapshot_file, name="view_snapshot_file"),
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/file/edit/$', file_edit, name='file_edit'),
|
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/file/edit/$', file_edit, name='file_edit'),
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/privshare/$', private_file_share, name='private_file_share'),
|
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/privshare/$', gen_private_file_share, name='gen_private_file_share'),
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/privshare/remove/$', rm_private_file_share, name='rm_private_file_share'),
|
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/privshare/save/$', save_private_file_share, name='save_private_file_share'),
|
|
||||||
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/(?P<obj_id>[0-9a-f]{40})/$', repo_access_file, name='repo_access_file'),
|
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/(?P<obj_id>[0-9a-f]{40})/$', repo_access_file, name='repo_access_file'),
|
||||||
(r'^repo/save_settings$', repo_save_settings),
|
(r'^repo/save_settings$', repo_save_settings),
|
||||||
url(r'^repo/create_sub_repo/$', create_sub_repo, name='create_sub_repo'),
|
url(r'^repo/create_sub_repo/$', create_sub_repo, name='create_sub_repo'),
|
||||||
|
|
||||||
### share file/dir ###
|
### share file/dir ###
|
||||||
url(r'^s/f/(?P<token>[a-f0-9]{10})/$', view_priv_shared_file, name="view_priv_shared_file"),
|
url(r'^s/f/(?P<token>[a-f0-9]{10})/$', view_priv_shared_file, name="view_priv_shared_file"),
|
||||||
|
url(r'^s/f/(?P<token>[a-f0-9]{10})/rm/$', rm_private_file_share, name="rm_private_file_share"),
|
||||||
|
url(r'^s/f/(?P<token>[a-f0-9]{10})/save/$', save_private_file_share, name='save_private_file_share'),
|
||||||
url(r'^f/(?P<token>[a-f0-9]{10})/$', view_shared_file, name='view_shared_file'),
|
url(r'^f/(?P<token>[a-f0-9]{10})/$', view_shared_file, name='view_shared_file'),
|
||||||
url(r'^d/(?P<token>[a-f0-9]{10})/$', view_shared_dir, name='view_shared_dir'),
|
url(r'^d/(?P<token>[a-f0-9]{10})/$', view_shared_dir, name='view_shared_dir'),
|
||||||
url(r'^d/(?P<token>[a-f0-9]{10})/files/$', view_file_via_shared_dir, name='view_file_via_shared_dir'),
|
url(r'^d/(?P<token>[a-f0-9]{10})/files/$', view_file_via_shared_dir, name='view_file_via_shared_dir'),
|
||||||
|
@@ -35,7 +35,6 @@ from pysearpc import SearpcError
|
|||||||
from seahub.auth.decorators import login_required
|
from seahub.auth.decorators import login_required
|
||||||
from seahub.base.decorators import repo_passwd_set_required
|
from seahub.base.decorators import repo_passwd_set_required
|
||||||
from seahub.contacts.models import Contact
|
from seahub.contacts.models import Contact
|
||||||
from seahub.signals import share_file_to_user_successful
|
|
||||||
from seahub.share.models import FileShare, PrivateFileDirShare
|
from seahub.share.models import FileShare, PrivateFileDirShare
|
||||||
from seahub.wiki.utils import get_wiki_dirent
|
from seahub.wiki.utils import get_wiki_dirent
|
||||||
from seahub.wiki.models import WikiDoesNotExist, WikiPageMissing
|
from seahub.wiki.models import WikiDoesNotExist, WikiPageMissing
|
||||||
@@ -628,7 +627,10 @@ def view_shared_file(request, token):
|
|||||||
(repo.id, shared_by, obj_id, obj_size))
|
(repo.id, shared_by, obj_id, obj_size))
|
||||||
except SearpcError, e:
|
except SearpcError, e:
|
||||||
logger.error('Error when sending file-view message: %s' % str(e))
|
logger.error('Error when sending file-view message: %s' % str(e))
|
||||||
|
|
||||||
|
accessible_repos = get_unencry_rw_repos_by_user(request.user.username)
|
||||||
|
save_to_link = reverse('save_shared_link') + '?t=' + token
|
||||||
|
|
||||||
return render_to_response('shared_file_view.html', {
|
return render_to_response('shared_file_view.html', {
|
||||||
'repo': repo,
|
'repo': repo,
|
||||||
'obj_id': obj_id,
|
'obj_id': obj_id,
|
||||||
@@ -647,6 +649,8 @@ def view_shared_file(request, token):
|
|||||||
'html_detail': ret_dict.get('html_detail', {}),
|
'html_detail': ret_dict.get('html_detail', {}),
|
||||||
'filetype': ret_dict['filetype'],
|
'filetype': ret_dict['filetype'],
|
||||||
'use_pdfjs':USE_PDFJS,
|
'use_pdfjs':USE_PDFJS,
|
||||||
|
'accessible_repos': accessible_repos,
|
||||||
|
'save_to_link': save_to_link,
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
def view_file_via_shared_dir(request, token):
|
def view_file_via_shared_dir(request, token):
|
||||||
@@ -1042,93 +1046,6 @@ def office_convert_query_page_num(request):
|
|||||||
return HttpResponse(json.dumps(ret), content_type=content_type)
|
return HttpResponse(json.dumps(ret), content_type=content_type)
|
||||||
|
|
||||||
###### private file/dir shares
|
###### private file/dir shares
|
||||||
@require_POST
|
|
||||||
def private_file_share(request, repo_id):
|
|
||||||
emails = request.POST.getlist('emails', '')
|
|
||||||
s_type = request.POST.get('s_type', '')
|
|
||||||
path = request.POST.get('path', '')
|
|
||||||
perm = request.POST.get('perm', 'r')
|
|
||||||
file_or_dir = os.path.basename(path.rstrip('/'))
|
|
||||||
username = request.user.username
|
|
||||||
|
|
||||||
for email in [e.strip() for e in emails if e.strip()]:
|
|
||||||
if not is_registered_user(email):
|
|
||||||
messages.error(request, _('Failed to share to "%s", user not found.') % email)
|
|
||||||
continue
|
|
||||||
|
|
||||||
if s_type == 'f':
|
|
||||||
pfds = PrivateFileDirShare.objects.add_read_only_priv_file_share(
|
|
||||||
username, email, repo_id, path)
|
|
||||||
elif s_type == 'd':
|
|
||||||
pfds = PrivateFileDirShare.objects.add_private_dir_share(
|
|
||||||
username, email, repo_id, path, perm)
|
|
||||||
else:
|
|
||||||
continue
|
|
||||||
|
|
||||||
# send a signal when sharing file successful
|
|
||||||
share_file_to_user_successful.send(sender=None, priv_share_obj=pfds)
|
|
||||||
messages.success(request, _('Successfully shared %s.') % file_or_dir)
|
|
||||||
|
|
||||||
next = request.META.get('HTTP_REFERER', None)
|
|
||||||
if not next:
|
|
||||||
next = SITE_ROOT
|
|
||||||
return HttpResponseRedirect(next)
|
|
||||||
|
|
||||||
@login_required
|
|
||||||
def rm_private_file_share(request, repo_id):
|
|
||||||
"""Remove private file shares.
|
|
||||||
"""
|
|
||||||
from_user = request.GET.get('from', '')
|
|
||||||
to_user = request.GET.get('to', '')
|
|
||||||
path = request.GET.get('p')
|
|
||||||
file_or_dir = os.path.basename(path.rstrip('/'))
|
|
||||||
username = request.user.username
|
|
||||||
|
|
||||||
if username == from_user or username == to_user:
|
|
||||||
|
|
||||||
PrivateFileDirShare.objects.delete_private_file_dir_share(
|
|
||||||
from_user, to_user, repo_id, path)
|
|
||||||
messages.success(request, _('Successfully unshared "%s".') % file_or_dir)
|
|
||||||
else:
|
|
||||||
messages.error(request, _("You don't have permission to unshared %s.") % file_or_dir)
|
|
||||||
|
|
||||||
next = request.META.get('HTTP_REFERER', None)
|
|
||||||
if not next:
|
|
||||||
next = SITE_ROOT
|
|
||||||
return HttpResponseRedirect(next)
|
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
|
||||||
def save_private_file_share(request, repo_id):
|
|
||||||
"""
|
|
||||||
Save private share file to someone's library.
|
|
||||||
"""
|
|
||||||
|
|
||||||
username = request.user.username
|
|
||||||
from_user = request.GET.get('from', '')
|
|
||||||
to_user = request.GET.get('to', '')
|
|
||||||
path = request.GET.get('p', '')
|
|
||||||
src_path = os.path.dirname(path)
|
|
||||||
obj_name = os.path.basename(path.rstrip('/'))
|
|
||||||
|
|
||||||
if username == from_user or username == to_user:
|
|
||||||
dst_repo_id = request.POST.get('dst_repo')
|
|
||||||
dst_path = request.POST.get('dst_path')
|
|
||||||
|
|
||||||
new_obj_name = check_filename_with_rename(dst_repo_id, dst_path, obj_name)
|
|
||||||
seafile_api.copy_file(repo_id, src_path, obj_name,
|
|
||||||
dst_repo_id, dst_path, new_obj_name, username)
|
|
||||||
|
|
||||||
messages.success(request, _(u'Successfully saved.'))
|
|
||||||
|
|
||||||
else:
|
|
||||||
messages.error(request, _("You don't have permission to save %s.") % obj_name)
|
|
||||||
|
|
||||||
next = request.META.get('HTTP_REFERER', None)
|
|
||||||
if not next:
|
|
||||||
next = SITE_ROOT
|
|
||||||
return HttpResponseRedirect(next)
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def view_priv_shared_file(request, token):
|
def view_priv_shared_file(request, token):
|
||||||
"""View private shared file.
|
"""View private shared file.
|
||||||
@@ -1179,8 +1096,7 @@ def view_priv_shared_file(request, token):
|
|||||||
handle_pdf(inner_path, obj_id, fileext, ret_dict)
|
handle_pdf(inner_path, obj_id, fileext, ret_dict)
|
||||||
|
|
||||||
accessible_repos = get_unencry_rw_repos_by_user(username)
|
accessible_repos = get_unencry_rw_repos_by_user(username)
|
||||||
save_to_link = reverse('save_private_file_share', args=[repo.id]) + \
|
save_to_link = reverse('save_private_file_share', args=[pfs.token])
|
||||||
'?from=' + pfs.from_user + '&to=' + pfs.to_user + '&p=' + pfs.path
|
|
||||||
|
|
||||||
return render_to_response('shared_file_view.html', {
|
return render_to_response('shared_file_view.html', {
|
||||||
'repo': repo,
|
'repo': repo,
|
||||||
|
Reference in New Issue
Block a user