mirror of
https://github.com/haiwen/seahub.git
synced 2025-05-13 18:35:20 +00:00
Merge branch 'master' into 12.0
This commit is contained in:
commit
e5b696b098
frontend
media/css
seahub
14
frontend/package-lock.json
generated
14
frontend/package-lock.json
generated
@ -16,7 +16,7 @@
|
||||
"@seafile/resumablejs": "1.1.16",
|
||||
"@seafile/sdoc-editor": "0.5.68",
|
||||
"@seafile/seafile-calendar": "0.0.12",
|
||||
"@seafile/seafile-editor": "1.0.82",
|
||||
"@seafile/seafile-editor": "1.0.99",
|
||||
"@uiw/codemirror-extensions-langs": "^4.19.4",
|
||||
"@uiw/react-codemirror": "^4.19.4",
|
||||
"chart.js": "2.9.4",
|
||||
@ -4821,9 +4821,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@seafile/seafile-editor": {
|
||||
"version": "1.0.82",
|
||||
"resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-1.0.82.tgz",
|
||||
"integrity": "sha512-DW/C6gM4W7I/O3Px9XywRWAjsqBwy8orv/Gi24mEJST6+bBY767lZVJq6IcMhx1ZaHsWHDckUz5ilydzTwNRzA==",
|
||||
"version": "1.0.99",
|
||||
"resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-1.0.99.tgz",
|
||||
"integrity": "sha512-jn37mHp5yvfmr8TVKjuT6jocoseN1oFcnA1HFqyBGIVaGmgTuibiEAFZhN9bXE8ne3b7jr1x68T/MlZi0LT9pA==",
|
||||
"dependencies": {
|
||||
"@seafile/react-image-lightbox": "2.0.5",
|
||||
"classnames": "2.3.2",
|
||||
@ -31451,9 +31451,9 @@
|
||||
}
|
||||
},
|
||||
"@seafile/seafile-editor": {
|
||||
"version": "1.0.82",
|
||||
"resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-1.0.82.tgz",
|
||||
"integrity": "sha512-DW/C6gM4W7I/O3Px9XywRWAjsqBwy8orv/Gi24mEJST6+bBY767lZVJq6IcMhx1ZaHsWHDckUz5ilydzTwNRzA==",
|
||||
"version": "1.0.99",
|
||||
"resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-1.0.99.tgz",
|
||||
"integrity": "sha512-jn37mHp5yvfmr8TVKjuT6jocoseN1oFcnA1HFqyBGIVaGmgTuibiEAFZhN9bXE8ne3b7jr1x68T/MlZi0LT9pA==",
|
||||
"requires": {
|
||||
"@seafile/react-image-lightbox": "2.0.5",
|
||||
"classnames": "2.3.2",
|
||||
|
@ -11,7 +11,7 @@
|
||||
"@seafile/resumablejs": "1.1.16",
|
||||
"@seafile/sdoc-editor": "0.5.68",
|
||||
"@seafile/seafile-calendar": "0.0.12",
|
||||
"@seafile/seafile-editor": "1.0.82",
|
||||
"@seafile/seafile-editor": "1.0.99",
|
||||
"@uiw/codemirror-extensions-langs": "^4.19.4",
|
||||
"@uiw/react-codemirror": "^4.19.4",
|
||||
"chart.js": "2.9.4",
|
||||
|
@ -1 +1,15 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1715912574269" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13472" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M643.2 467.2l-217.6-64c-25.6-6.4-41.6-32-41.6-57.6 0-32 25.6-57.6 57.6-57.6H576c25.6 0 48 6.4 67.2 22.4 12.8 9.6 28.8 6.4 38.4-3.2l70.4-67.2c16-16 12.8-38.4-3.2-51.2C700.8 150.4 640 128 576 128V32c0-19.2-16-32-32-32h-64c-19.2 0-32 12.8-32 32v96h-6.4c-128 0-230.4 108.8-217.6 240 9.6 92.8 80 166.4 166.4 192l204.8 60.8c25.6 6.4 41.6 32 41.6 57.6 0 32-25.6 57.6-57.6 57.6H448c-25.6 0-48-6.4-67.2-22.4-12.8-9.6-28.8-6.4-38.4 3.2l-70.4 67.2c-16 16-12.8 38.4 3.2 51.2C323.2 873.6 384 896 448 896v96c0 16 16 32 32 32h64c19.2 0 32-16 32-32v-96c92.8-3.2 179.2-57.6 211.2-144 44.8-124.8-28.8-252.8-144-284.8z" fill="#949494" p-id="13473"></path></svg>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#999999;}
|
||||
</style>
|
||||
<title>currency</title>
|
||||
<g id="currency">
|
||||
<path id="路径" class="st0" d="M24.4,20.4c0,3.3-2.3,6.1-6.5,6.8V30c0,0.6-0.4,1-1,1h-1.6c-0.6,0-1-0.4-1-1v-2.5l0,0
|
||||
c-2.5-0.1-4.9-0.8-6.2-1.6l1.1-4.3c1.5,0.8,3.7,1.6,6.1,1.6c2.1,0,3.6-0.8,3.6-2.3c0-1.4-1.2-2.3-3.9-3.2c-3.9-1.3-6.6-3.2-6.6-6.7
|
||||
c0-3.3,2.3-5.8,6.2-6.5V2c0-0.6,0.4-1,1-1H17c0.6,0,1,0.4,1,1v2.2l0,0c2.4,0.1,4.1,0.6,5.4,1.2l-1.1,4.2c-0.9-0.4-2.6-1.3-5.3-1.3
|
||||
c-2.4,0-3.2,1.1-3.2,2.1c0,1.2,1.3,2,4.4,3.1C22.7,15.1,24.4,17.1,24.4,20.4z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before (image error) Size: 976 B After (image error) Size: 908 B |
@ -484,7 +484,7 @@ class Subscription extends Component {
|
||||
<div id="product-price" className="subscription-info">
|
||||
<h3 className="subscription-info-heading">{'云服务付费方案'}</h3>
|
||||
<p className="mb-2">
|
||||
<a rel="noopener noreferrer" target="_blank" href="https://www.seafile.com/product/private_server/">{'查看详情'}</a>
|
||||
<a rel="noopener noreferrer" target="_blank" href="https://www.seafile.com/seafile-docs/home/">{'查看详情'}</a>
|
||||
</p>
|
||||
</div>
|
||||
{paymentTypeList.map((item, index) => {
|
||||
|
@ -688,6 +688,7 @@ a, a:hover { color: #ec8000; }
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.side-nav-con .active .seafile-multicolor-icon,
|
||||
.side-nav-con .active [class^="sf2-icon-"],
|
||||
.side-nav-con .active [class^="sf3-font-"],
|
||||
.side-nav-con .active .nav-icon,
|
||||
|
@ -194,6 +194,10 @@ class Saml2Backend(ModelBackend):
|
||||
if not seafile_groups:
|
||||
return
|
||||
|
||||
# support a list of comma-separated IDs as seafile_groups claim
|
||||
if len(seafile_groups) == 1 and ',' in seafile_groups[0]:
|
||||
seafile_groups = seafile_groups[0].split(',')
|
||||
|
||||
saml_group_ids = [int(group_id) for group_id in seafile_groups]
|
||||
|
||||
joined_groups = ccnet_api.get_groups(user.username)
|
||||
|
@ -783,7 +783,11 @@ class AdminUsers(APIView):
|
||||
info['last_access_time'] = get_user_last_access_time(user.email, '')
|
||||
|
||||
if getattr(settings, 'MULTI_INSTITUTION', False):
|
||||
info['institution'] = profile.institution if profile else ''
|
||||
if profile and profile.institution and \
|
||||
profile.institution.lower() != "null":
|
||||
info['institution'] = profile.institution
|
||||
else:
|
||||
info['institution'] = ''
|
||||
|
||||
data.append(info)
|
||||
|
||||
|
@ -1590,10 +1590,10 @@ class DownloadRepo(APIView):
|
||||
is_syncable = resp_json['is_syncable']
|
||||
forbidden_path = resp_json.get('forbidden_path', '')
|
||||
|
||||
if 'seadrive' in request.META.get('HTTP_USER_AGENT', '').lower() and \
|
||||
not is_syncable and forbidden_path == '/':
|
||||
error_msg = 'unsyncable share permission'
|
||||
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
||||
if 'seadrive' in request.META.get('HTTP_USER_AGENT', '').lower():
|
||||
if not is_syncable and forbidden_path == '/':
|
||||
error_msg = 'unsyncable share permission'
|
||||
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
||||
else:
|
||||
if not is_syncable:
|
||||
error_msg = 'unsyncable share permission'
|
||||
|
Loading…
Reference in New Issue
Block a user