1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 23:48:47 +00:00

Update wiki (#2313)

* [wiki] show all files

* [wiki]update choose repo as wiki
This commit is contained in:
C_Q
2018-08-30 11:35:56 +08:00
committed by Daniel Pan
parent d1ec9da6b6
commit 1faa061321
4 changed files with 24 additions and 8 deletions

View File

@@ -100,8 +100,6 @@ class TreeNodeView extends React.Component {
paddingLeft: this.props.paddingLeft paddingLeft: this.props.paddingLeft
}; };
var l = node.children.sort(sortByType); var l = node.children.sort(sortByType);
l = l.filter((node) => { return node.type == "dir" || node.isMarkdown(); })
/* /*
the `key` property is needed. Otherwise there is a warning in the console the `key` property is needed. Otherwise there is a warning in the console
*/ */

View File

@@ -122,6 +122,10 @@ class Wiki extends Component {
onFileClick = (e, node) => { onFileClick = (e, node) => {
if (node.isMarkdown()) { if (node.isMarkdown()) {
this.loadFile(node.path); this.loadFile(node.path);
} else {
const w=window.open('about:blank');
const url = serviceUrl + '/lib/' + repoID + '/file' + node.path;
w.location.href = url;
} }
} }

View File

@@ -22,6 +22,7 @@ from seahub.wiki.models import Wiki, DuplicateWikiNameError
from seahub.wiki.utils import is_valid_wiki_name, slugfy_wiki_name from seahub.wiki.utils import is_valid_wiki_name, slugfy_wiki_name
from seahub.utils import is_org_context, get_user_repos from seahub.utils import is_org_context, get_user_repos
from seahub.views import check_folder_permission from seahub.views import check_folder_permission
from seahub.share.utils import is_repo_admin
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -126,10 +127,18 @@ class WikisView(APIView):
return api_error(status.HTTP_400_BAD_REQUEST, msg) return api_error(status.HTTP_400_BAD_REQUEST, msg)
repo = seafile_api.get_repo(repo_id) repo = seafile_api.get_repo(repo_id)
if not repo:
error_msg = 'Library %s not found.' % repo_id
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
if check_folder_permission(request, repo_id, '/') != 'rw': is_owner = seafile_api.is_repo_owner(username, repo_id)
is_admin = is_repo_admin(username, repo_id)
if not is_owner:
if not is_admin:
error_msg = _('Permission denied.') error_msg = _('Permission denied.')
return api_error(status.HTTP_403_FORBIDDEN, error_msg) return api_error(status.HTTP_403_FORBIDDEN, error_msg)
try: try:
wiki = Wiki.objects.add(wiki_name=repo.repo_name, username=username, wiki = Wiki.objects.add(wiki_name=repo.repo_name, username=username,
repo_id=repo.repo_id, org_id=org_id) repo_id=repo.repo_id, org_id=org_id)

View File

@@ -464,12 +464,17 @@ var NewWikiController = {
clickToNewWikiByOwnlib: function(event) { clickToNewWikiByOwnlib: function(event) {
var _this = this; var _this = this;
$.ajax({ $.ajax({
url: "{{SITE_ROOT}}api2/repos/?type=mine", url: "{{SITE_ROOT}}api2/repos/",
cache: false, cache: false,
dataType: 'json', dataType: 'json',
success: function(data) { success: function(data) {
if (data && data.length) { var repos = data.filter(function(i) {
_this.chooseEl.append($(_this.chooseWikiTmpl(data))); return i['encrypted'] !== true;
}
)
if (repos && repos.length) {
_this.chooseEl.append($(_this.chooseWikiTmpl(repos)));
$('#new-wiki-by-existing-form').modal(); $('#new-wiki-by-existing-form').modal();
$('#simplemodal-container').css({'width':'auto', 'height':'auto'}) $('#simplemodal-container').css({'width':'auto', 'height':'auto'})
} }