mirror of
https://github.com/haiwen/seahub.git
synced 2025-05-10 08:55:02 +00:00
fix notifications url (#2755)
This commit is contained in:
parent
855f026596
commit
db2d0e01e7
@ -19,11 +19,7 @@ DAILY_ADMIN = 'daily_admin'
|
||||
AUDIT_ADMIN = 'audit_admin'
|
||||
|
||||
HASH_URLS = {
|
||||
'VIEW_COMMON_LIB_DIR': settings.SITE_ROOT + '#common/lib/%(repo_id)s/%(path)s',
|
||||
'GROUP_INFO': settings.SITE_ROOT + '#group/%(group_id)s/',
|
||||
'GROUP_MEMBERS': settings.SITE_ROOT + '#group/%(group_id)s/members/',
|
||||
'GROUP_DISCUSS': settings.SITE_ROOT + '#group/%(group_id)s/discussions/',
|
||||
'GROUP_LIST': settings.SITE_ROOT + '#groups/',
|
||||
'SYS_REPO_ADMIN': settings.SITE_ROOT + 'sysadmin/#all-libs/',
|
||||
|
||||
}
|
||||
|
@ -40,7 +40,6 @@ from seahub.views import is_registered_user, check_folder_permission
|
||||
from seahub.views.modules import get_enabled_mods_by_group, \
|
||||
get_available_mods_by_group
|
||||
from seahub.share.models import ExtraGroupsSharePermission
|
||||
from seahub.constants import HASH_URLS
|
||||
|
||||
from seahub.forms import SharedRepoCreateForm
|
||||
|
||||
@ -96,7 +95,8 @@ def group_check(func):
|
||||
group_id_int = int(group_id) # Checked by URL Conf
|
||||
group = get_group(group_id_int)
|
||||
if not group:
|
||||
return HttpResponseRedirect(HASH_URLS['GROUP_LIST'])
|
||||
group_list_url = reverse('groups')
|
||||
return HttpResponseRedirect(group_list_url)
|
||||
group.is_staff = False
|
||||
if PublicGroup.objects.filter(group_id=group.id):
|
||||
group.is_pub = True
|
||||
|
@ -35,18 +35,18 @@ def td(con):
|
||||
def a_tag(con, href='#', style=''):
|
||||
return '<a href="%s" style="%s">%s</a>' % (href, style, e(con))
|
||||
|
||||
def repo_url(repo_id):
|
||||
p = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
def repo_url(repo_id, repo_name):
|
||||
p = reverse('lib_view', args=[repo_id, repo_name, ''])
|
||||
|
||||
return get_site_scheme_and_netloc() + p
|
||||
|
||||
def file_url(repo_id, file_path):
|
||||
p = reverse('view_lib_file', args=[repo_id, file_path])
|
||||
return get_site_scheme_and_netloc() + p
|
||||
|
||||
def dir_url(repo_id, dir_path):
|
||||
p = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {
|
||||
'repo_id': repo_id, 'path': dir_path.strip('/')
|
||||
}
|
||||
def dir_url(repo_id, repo_name, dir_path):
|
||||
p = reverse('lib_view', args=[repo_id, repo_name, dir_path.strip('/')])
|
||||
|
||||
return get_site_scheme_and_netloc() + p
|
||||
|
||||
def user_info_url(username):
|
||||
@ -100,8 +100,8 @@ class Command(BaseCommand):
|
||||
return Profile.objects.get_user_language(username)
|
||||
|
||||
def format_file_operation(self, ev):
|
||||
lib_link = a_tag(ev.repo_name, repo_url(ev.repo_id))
|
||||
small_lib_link = a_tag(ev.repo_name, repo_url(ev.repo_id), 'color:#868e96;font-size:87.5%;')
|
||||
lib_link = a_tag(ev.repo_name, repo_url(ev.repo_id, ev.repo_name))
|
||||
small_lib_link = a_tag(ev.repo_name, repo_url(ev.repo_id, ev.repo_name), 'color:#868e96;font-size:87.5%;')
|
||||
if ev.obj_type == 'repo':
|
||||
if ev.op_type == 'create':
|
||||
op = _('Created library')
|
||||
@ -153,7 +153,7 @@ class Command(BaseCommand):
|
||||
|
||||
else: # dir
|
||||
dir_name = os.path.basename(ev.path)
|
||||
dir_link = a_tag(dir_name, dir_url(ev.repo_id, ev.path))
|
||||
dir_link = a_tag(dir_name, dir_url(ev.repo_id, ev.repo_name, ev.path))
|
||||
if ev.op_type == 'create':
|
||||
op = _('Created folder')
|
||||
details = td('%s<br />%s' % (dir_link, small_lib_link))
|
||||
|
@ -98,7 +98,8 @@ class Command(BaseCommand):
|
||||
owner = seafile_api.get_repo_owner(repo_id)
|
||||
repo = seafile_api.get_virtual_repo(repo_id, path, owner)
|
||||
|
||||
notice.repo_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
repo_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
notice.repo_url = repo_url
|
||||
notice.notice_from = escape(email2nickname(d['share_from']))
|
||||
notice.repo_name = repo.name
|
||||
notice.avatar_src = self.get_avatar_src(d['share_from'])
|
||||
@ -128,11 +129,12 @@ class Command(BaseCommand):
|
||||
owner = seafile_api.get_repo_owner(repo_id)
|
||||
repo = seafile_api.get_virtual_repo(repo_id, path, owner)
|
||||
|
||||
notice.repo_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
repo_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
notice.repo_url = repo_url
|
||||
notice.notice_from = escape(email2nickname(d['share_from']))
|
||||
notice.repo_name = repo.name
|
||||
notice.avatar_src = self.get_avatar_src(d['share_from'])
|
||||
notice.group_url = HASH_URLS['GROUP_INFO'] % {'group_id': group.id}
|
||||
notice.group_url = reverse('group', args=[group.id])
|
||||
notice.group_name = group.group_name
|
||||
notice.shared_type = shared_type
|
||||
|
||||
@ -143,10 +145,12 @@ class Command(BaseCommand):
|
||||
|
||||
file_name = d['file_name']
|
||||
repo_id = d['repo_id']
|
||||
repo = seafile_api.get_repo(repo_id)
|
||||
uploaded_to = d['uploaded_to'].rstrip('/')
|
||||
file_path = uploaded_to + '/' + file_name
|
||||
file_link = reverse('view_lib_file', args=[repo_id, file_path])
|
||||
folder_link = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': uploaded_to.strip('/')}
|
||||
|
||||
folder_link = reverse('lib_view', args=[repo_id, repo.name, uploaded_to.strip('/')])
|
||||
folder_name = os.path.basename(uploaded_to)
|
||||
|
||||
notice.file_link = file_link
|
||||
@ -184,7 +188,7 @@ class Command(BaseCommand):
|
||||
notice.avatar_src = self.get_avatar_src(group_staff)
|
||||
notice.group_staff_profile_url = reverse('user_profile',
|
||||
args=[group_staff])
|
||||
notice.group_url = HASH_URLS['GROUP_INFO'] % {'group_id': group_id}
|
||||
notice.group_url = reverse('group', args=[group.id])
|
||||
notice.group_name = group.group_name
|
||||
return notice
|
||||
|
||||
|
@ -5,6 +5,7 @@ import os
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.forms import ModelForm, Textarea
|
||||
@ -505,15 +506,13 @@ class UserNotification(models.Model):
|
||||
if d['uploaded_to'] == '/':
|
||||
# current upload path is '/'
|
||||
file_path = '/' + filename
|
||||
link = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
link = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
name = repo.name
|
||||
else:
|
||||
uploaded_to = d['uploaded_to'].rstrip('/')
|
||||
file_path = uploaded_to + '/' + filename
|
||||
link = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id,
|
||||
'path': uploaded_to.lstrip('/')}
|
||||
link = reverse('lib_view', args=[repo_id, repo.name, uploaded_to.lstrip('/')])
|
||||
name = os.path.basename(uploaded_to)
|
||||
|
||||
file_link = reverse('view_lib_file', args=[repo_id, file_path])
|
||||
|
||||
msg = _(u"A file named <a href='%(file_link)s'>%(file_name)s</a> is uploaded to <a href='%(link)s'>%(name)s</a>") % {
|
||||
@ -571,12 +570,10 @@ class UserNotification(models.Model):
|
||||
else:
|
||||
tmpl = 'notifications/notice_msg/folder_share_msg.html'
|
||||
|
||||
lib_url = reverse('lib_view', args=[repo.id, repo.name, ''])
|
||||
msg = render_to_string(tmpl, {
|
||||
'user': share_from,
|
||||
'lib_url': HASH_URLS["VIEW_COMMON_LIB_DIR"] % {
|
||||
'repo_id': repo.id,
|
||||
'path': ''
|
||||
},
|
||||
'lib_url': lib_url,
|
||||
'lib_name': repo.name,
|
||||
})
|
||||
|
||||
@ -626,14 +623,13 @@ class UserNotification(models.Model):
|
||||
else:
|
||||
tmpl = 'notifications/notice_msg/folder_share_to_group_msg.html'
|
||||
|
||||
lib_url = reverse('lib_view', args=[repo.id, repo.name, ''])
|
||||
group_url = reverse('group', args=[group.id])
|
||||
msg = render_to_string(tmpl, {
|
||||
'user': share_from,
|
||||
'lib_url': HASH_URLS["VIEW_COMMON_LIB_DIR"] % {
|
||||
'repo_id': repo.id,
|
||||
'path': ''
|
||||
},
|
||||
'lib_url': lib_url,
|
||||
'lib_name': repo.name,
|
||||
'group_url': HASH_URLS['GROUP_INFO'] % {'group_id': group.id},
|
||||
'group_url': group_url,
|
||||
'group_name': group.group_name,
|
||||
})
|
||||
|
||||
@ -742,7 +738,7 @@ class UserNotification(models.Model):
|
||||
msg = _(u"User <a href='%(user_profile)s'>%(group_staff)s</a> has added you to group <a href='%(href)s'>%(group_name)s</a>") % {
|
||||
'user_profile': reverse('user_profile', args=[group_staff]),
|
||||
'group_staff': escape(email2nickname(group_staff)),
|
||||
'href': HASH_URLS['GROUP_INFO'] % {'group_id': group_id},
|
||||
'href': reverse('group', args=[group_id]),
|
||||
'group_name': escape(group.group_name)}
|
||||
return msg
|
||||
|
||||
@ -858,7 +854,6 @@ class UserNotification(models.Model):
|
||||
|
||||
|
||||
########## handle signals
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.dispatch import receiver
|
||||
|
||||
from seahub.signals import upload_file_successful, comment_file_successful
|
||||
|
@ -204,8 +204,8 @@ urlpatterns = [
|
||||
url(r'^shared-libs/$', react_fake_view, name="shared_libs"),
|
||||
url(r'^my-libs/$', react_fake_view, name="my_libs"),
|
||||
url(r'^groups/$', react_fake_view, name="groups"),
|
||||
url(r'^group/.*$', react_fake_view, name="group"),
|
||||
url(r'^library/.*$', react_fake_view, name="lib_view"),
|
||||
url(r'^group/(?P<group_id>\d+)/$', react_fake_view, name="group"),
|
||||
url(r'^library/(?P<repo_id>[-0-9a-f]{36})/(?P<repo_name>[^/]+)/(?P<path>.*)$', react_fake_view, name="lib_view"),
|
||||
url(r'^my-libs/deleted/$', react_fake_view, name="my_libs_deleted"),
|
||||
url(r'^org/$', react_fake_view, name="org"),
|
||||
|
||||
|
@ -180,8 +180,7 @@ def get_repo_dirents(request, repo, commit, path, offset=-1, limit=-1):
|
||||
fileshares = FileShare.objects.filter(repo_id=repo.id).filter(username=username)
|
||||
uploadlinks = UploadLinkShare.objects.filter(repo_id=repo.id).filter(username=username)
|
||||
|
||||
|
||||
view_dir_base = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo.id, 'path': ''}
|
||||
view_dir_base = reverse('lib_view', args=[repo.id, repo.name, ''])
|
||||
dl_dir_base = reverse('repo_download_dir', args=[repo.id])
|
||||
file_history_base = reverse('file_revisions', args=[repo.id])
|
||||
for dirent in dirs:
|
||||
@ -466,7 +465,7 @@ def repo_history(request, repo_id):
|
||||
return render_error(request, e.msg)
|
||||
|
||||
if not password_set:
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
|
||||
try:
|
||||
@ -551,7 +550,7 @@ def repo_revert_history(request, repo_id):
|
||||
return render_error(request, e.msg)
|
||||
|
||||
if not password_set:
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
|
||||
commit_id = request.GET.get('commit_id', '')
|
||||
@ -576,8 +575,8 @@ def repo_revert_history(request, repo_id):
|
||||
def fpath_to_link(repo_id, path, is_dir=False):
|
||||
"""Translate file path of a repo to its view link"""
|
||||
if is_dir:
|
||||
href = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': path.strip('/')}
|
||||
href = urlquote(href, safe='/#')
|
||||
repo = seafile_api.get_repo(repo_id)
|
||||
href = reverse('lib_view', args=[repo_id, repo.name, path.strip('/')])
|
||||
else:
|
||||
if not path.startswith('/'):
|
||||
p = '/' + path
|
||||
@ -754,7 +753,8 @@ def libraries(request):
|
||||
def repo_set_access_property(request, repo_id):
|
||||
ap = request.GET.get('ap', '')
|
||||
seafserv_threaded_rpc.repo_set_access_property(repo_id, ap)
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
repo = seafile_api.get_repo(repo_id)
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
|
||||
@ -1051,13 +1051,13 @@ def convert_cmmt_desc_link(request):
|
||||
elif d.status == 'mov': # Move or Rename non-empty file/folder
|
||||
if '/' in d.new_name:
|
||||
new_dir_name = d.new_name.split('/')[0]
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': new_dir_name}
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, new_dir_name])
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
else:
|
||||
return HttpResponseRedirect(
|
||||
reverse('view_lib_file', args=[repo_id, '/' + d.new_name]))
|
||||
elif d.status == 'newdir':
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': d.name.strip('/')},
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, d.name.strip('/')])
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
else:
|
||||
continue
|
||||
@ -1214,7 +1214,7 @@ def choose_register(request):
|
||||
})
|
||||
|
||||
@login_required
|
||||
def react_fake_view(request):
|
||||
def react_fake_view(request, **kwargs):
|
||||
|
||||
return render(request, "react_app.html", {
|
||||
'seafile_collab_server': SEAFILE_COLLAB_SERVER,
|
||||
|
@ -817,8 +817,8 @@ def mv_dirents(request, src_repo_id, src_path, dst_repo_id, dst_path,
|
||||
success.append(obj_name)
|
||||
|
||||
if len(success) > 0:
|
||||
url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': dst_repo_id, 'path': dst_path.strip('/')},
|
||||
|
||||
dst_repo = seafile_api.get_repo(dst_repo_id)
|
||||
url = reverse('lib_view', args=[dst_repo_id, dst_repo.name, dst_path.strip('/')])
|
||||
result = {'success': success, 'failed': failed, 'url': url}
|
||||
return HttpResponse(json.dumps(result), content_type=content_type)
|
||||
|
||||
@ -890,8 +890,8 @@ def cp_dirents(request, src_repo_id, src_path, dst_repo_id, dst_path, obj_file_n
|
||||
success.append(obj_name)
|
||||
|
||||
if len(success) > 0:
|
||||
url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': dst_repo_id, 'path': dst_path.strip('/')},
|
||||
|
||||
dst_repo = seafile_api.get_repo(dst_repo_id)
|
||||
url = reverse('lib_view', args=[dst_repo_id, dst_repo.name, dst_path.strip('/')])
|
||||
result = {'success': success, 'failed': failed, 'url': url}
|
||||
return HttpResponse(json.dumps(result), content_type=content_type)
|
||||
|
||||
|
@ -1676,7 +1676,7 @@ def download_file(request, repo_id, obj_id):
|
||||
raise Http404
|
||||
|
||||
if repo.encrypted and not seafile_api.is_password_set(repo_id, username):
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
return HttpResponseRedirect(reverse_url)
|
||||
|
||||
# only check the permissions at the repo level
|
||||
|
@ -4,6 +4,7 @@ import os
|
||||
import posixpath
|
||||
import logging
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db.models import F
|
||||
from django.http import Http404, HttpResponseRedirect
|
||||
from django.shortcuts import render
|
||||
@ -115,7 +116,7 @@ def repo_history_view(request, repo_id):
|
||||
# Assume server_crypto is ``False`` if this option is not set.
|
||||
server_crypto = False
|
||||
|
||||
reverse_url = HASH_URLS["VIEW_COMMON_LIB_DIR"] % {'repo_id': repo_id, 'path': ''}
|
||||
reverse_url = reverse('lib_view', args=[repo_id, repo.name, ''])
|
||||
if repo.encrypted and \
|
||||
(repo.enc_version == 1 or (repo.enc_version == 2 and server_crypto)) \
|
||||
and not is_password_set(repo.id, username):
|
||||
|
@ -127,8 +127,8 @@ class CommandTest(BaseTestCase):
|
||||
notice = UserNotification.objects.add_repo_share_msg('to@to.com', detail)
|
||||
resp = Command().format_repo_share_msg(notice)
|
||||
|
||||
assert resp.repo_url == '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'path': ''}
|
||||
assert resp.repo_url == '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.repo.id, 'repo_name': self.repo.name, 'path': ''}
|
||||
|
||||
def test_format_group_message(self):
|
||||
detail = group_msg_to_json(self.group.id, 'from@email.com', 'message')
|
||||
@ -144,9 +144,9 @@ class CommandTest(BaseTestCase):
|
||||
notice = UserNotification.objects.add_repo_share_to_group_msg('group@share.com', detail)
|
||||
resp = Command().format_repo_share_to_group_msg(notice)
|
||||
|
||||
assert resp.repo_url == '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'path': ''}
|
||||
assert resp.group_url == '/#group/%(group_id)s/' % {'group_id': self.group.id}
|
||||
assert resp.repo_url == '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.repo.id, 'repo_name': self.repo.name, 'path': ''}
|
||||
assert resp.group_url == '/group/%(group_id)s/' % {'group_id': self.group.id}
|
||||
|
||||
def test_format_file_uploaded_msg(self):
|
||||
upload_to = '/'
|
||||
@ -154,8 +154,8 @@ class CommandTest(BaseTestCase):
|
||||
notice = UserNotification.objects.add_file_uploaded_msg('file@upload.com', detail)
|
||||
resp = Command().format_file_uploaded_msg(notice)
|
||||
|
||||
assert resp.folder_link == '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'path': upload_to.strip('/')}
|
||||
assert resp.folder_link == '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.repo.id, 'repo_name': self.repo.name, 'path': upload_to.strip('/')}
|
||||
|
||||
def test_format_group_join_request(self):
|
||||
detail = group_join_request_to_json('group_join', self.group.id, 'join_request_msg')
|
||||
@ -171,4 +171,4 @@ class CommandTest(BaseTestCase):
|
||||
detail=detail)
|
||||
resp = Command().format_add_user_to_group(notice)
|
||||
|
||||
assert resp.group_url == '/#group/%(group_id)s/' % {'group_id': self.group.id}
|
||||
assert resp.group_url == '/group/%(group_id)s/' % {'group_id': self.group.id}
|
||||
|
@ -25,7 +25,8 @@ class UserNotificationTest(BaseTestCase):
|
||||
notice = UserNotification.objects.add_file_uploaded_msg('file@upload.com', detail)
|
||||
|
||||
msg = notice.format_file_uploaded_msg()
|
||||
assert '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
assert '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'repo_name': self.repo.name,
|
||||
'path': upload_to.strip('/')} in msg
|
||||
|
||||
def test_format_group_message_title(self):
|
||||
@ -46,7 +47,7 @@ class UserNotificationTest(BaseTestCase):
|
||||
notice = UserNotification.objects.set_add_user_to_group_notice(self.user.username,
|
||||
detail=detail)
|
||||
msg = notice.format_add_user_to_group()
|
||||
assert '/#group/%(group_id)s/' % {'group_id': self.group.id} in msg
|
||||
assert '/group/%(group_id)s/' % {'group_id': self.group.id} in msg
|
||||
|
||||
def test_format_repo_share_msg(self):
|
||||
notice = UserNotification.objects.add_repo_share_msg(
|
||||
@ -56,8 +57,10 @@ class UserNotificationTest(BaseTestCase):
|
||||
msg = notice.format_repo_share_msg()
|
||||
assert msg is not None
|
||||
assert 'bar has shared a library named' in msg
|
||||
assert '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'path': ''} in msg
|
||||
assert '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.repo.id,
|
||||
'repo_name': self.repo.name,
|
||||
'path': ''} in msg
|
||||
|
||||
def test_format_repo_share_msg_with_folder(self):
|
||||
folder_path = self.folder
|
||||
@ -79,7 +82,7 @@ class UserNotificationTest(BaseTestCase):
|
||||
msg = notice.format_repo_share_to_group_msg()
|
||||
assert msg is not None
|
||||
assert 'bar has shared a library named' in msg
|
||||
assert '/#group/%(group_id)s/' % {'group_id': self.group.id} in msg
|
||||
assert '/group/%(group_id)s/' % {'group_id': self.group.id} in msg
|
||||
|
||||
def test_format_repo_share_to_group_msg_with_folder(self):
|
||||
folder_path = self.folder
|
||||
|
@ -8,7 +8,8 @@ class FpathToLinkTest(BaseTestCase):
|
||||
def test_fpath_to_link(self):
|
||||
path = '/海文/'.decode('utf-8')
|
||||
resp = fpath_to_link(self.repo.id, path, is_dir=True)
|
||||
url = '/#common/lib/%(repo_id)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
url = '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {'repo_id': self.repo.id,
|
||||
'repo_name': self.repo.name,
|
||||
'path': path.strip('/')}
|
||||
|
||||
assert urlquote(url, safe='/#') in resp
|
||||
assert urlquote(url) in resp
|
||||
|
@ -17,5 +17,5 @@ class RepoHistoryTest(BaseTestCase):
|
||||
resp = self.client.get(reverse('repo_history', args=[self.enc_repo.id]))
|
||||
|
||||
self.assertEqual(302, resp.status_code)
|
||||
assert '/#common/lib/%(repo_id)s/%(path)s' % {
|
||||
'repo_id': self.enc_repo.id, 'path': ''} in resp.url
|
||||
assert '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.enc_repo.id, 'repo_name': self.enc_repo.name, 'path': ''} in resp.url
|
||||
|
@ -17,5 +17,5 @@ class RepoRevertHistoryTest(BaseTestCase):
|
||||
resp = self.client.post(reverse('repo_revert_history', args=[self.enc_repo.id]) + '?commit_id=xxx', {})
|
||||
|
||||
self.assertEqual(302, resp.status_code)
|
||||
assert '/#common/lib/%(repo_id)s/%(path)s' % {
|
||||
'repo_id': self.enc_repo.id, 'path': ''} in resp.url
|
||||
assert '/library/%(repo_id)s/%(repo_name)s/%(path)s' % {
|
||||
'repo_id': self.enc_repo.id, 'repo_name': self.enc_repo.name, 'path': ''} in resp.url
|
||||
|
Loading…
Reference in New Issue
Block a user