Skip to content

Commit 72ccd9c

Browse files
committed
ref: 2.3.グループ管理連携機能開発: Fix IT bug
1 parent 4bb6ee1 commit 72ccd9c

15 files changed

Lines changed: 32 additions & 26 deletions

File tree

api/base/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
url(r'^view_only_links/', include('api.view_only_links.urls', namespace='view-only-links')),
7474
url(r'^wikis/', include('api.wikis.urls', namespace='wikis')),
7575
url(r'^_waffle/', include(('api.waffle.urls', 'waffle'), namespace='waffle')),
76-
url(r'^mapcore/', include('api.mapcore.urls', namespace='mapcore')),
76+
url(r'^map_core/', include('api.mapcore.urls', namespace='mapcore')),
7777
],
7878
),
7979
),

api/mapcore/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class MapCoreGroupList(JSONAPIBaseView, generics.ListAPIView):
1414
List of MapCoreGroups
1515
"""
1616
permission_classes = (
17-
drf_permissions.IsAuthenticatedOrReadOnly,
17+
drf_permissions.IsAuthenticated,
1818
base_permissions.TokenHasScope,
1919
)
2020
required_read_scopes = [CoreScopes.NODE_CONTRIBUTORS_READ]
@@ -32,7 +32,7 @@ def get_queryset(self):
3232
if not auth or not auth.user or not auth.user.is_authenticated:
3333
return self.model_class.objects.none()
3434

35-
qs = self.model_class.objects.filter(mapcore_user_groups__user=auth.user)
35+
qs = self.model_class.objects.filter(mapcore_user_groups__user=auth.user, is_deleted=False)
3636
q = self.request.GET.get('search') or self.request.query_params.get('search')
3737
if q:
3838
q = q.strip()

api/nodes/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2254,7 +2254,7 @@ def create(self, validated_data):
22542254
'attributes': {
22552255
'node_group_id': mapcore_node_group.id,
22562256
'creator_id': mapcore_node_group.creator.id,
2257-
'creator': mapcore_node_group.creator.username,
2257+
'creator': mapcore_node_group.creator.fullname,
22582258
'permission': permission_dict.get(mapcore_node_group.mapcore_group_id),
22592259
'mapcore_group_id': mapcore_node_group.mapcore_group_id,
22602260
'name': getattr(
@@ -2340,7 +2340,7 @@ def create(self, validated_data):
23402340
'attributes': {
23412341
'node_group_id': updated_mapcore_node_group.id,
23422342
'creator_id': updated_mapcore_node_group.creator.id,
2343-
'creator': updated_mapcore_node_group.creator.username,
2343+
'creator': updated_mapcore_node_group.creator.fullname,
23442344
'permission': permission_dict.get(updated_mapcore_node_group.id),
23452345
'mapcore_group_id': updated_mapcore_node_group.mapcore_group_id,
23462346
'name': getattr(

api_tests/nodes/serializers/test_mapcore_group_serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def test_basic_serialization(self, mapcore_node_group, node):
7070
attrs = data['attributes']
7171
assert attrs['node_group_id'] == mapcore_node_group.id
7272
assert attrs['creator_id'] == mapcore_node_group.creator.id
73-
assert attrs['creator'] == mapcore_node_group.creator.username
73+
assert attrs['creator'] == mapcore_node_group.creator.fullname
7474
assert attrs['permission'] == 'admin'
7575
assert attrs['mapcore_group_id'] == mapcore_node_group.mapcore_group.id
7676
assert attrs['name'] == mapcore_node_group.mapcore_group._id

osf/models/mixins.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,10 @@ def has_permission(self, user, permission, check_parent=True):
19531953
NodeGroupPermModel = apps.get_model('osf', 'NodeGroupObjectPermission')
19541954
for gid in auth_group_ids:
19551955
perms_qs = NodeGroupPermModel.objects.filter(group_id=gid, content_object_id=self.id)
1956-
group_perm = list(perms_qs.values_list('permission__codename', flat=True))
1956+
for perm in list(perms_qs.values_list('permission__codename', flat=True)):
1957+
if perm not in group_perm:
1958+
group_perm.append(perm)
1959+
19571960
if not user or user.is_anonymous:
19581961
return False
19591962
perm = '{}_{}'.format(permission, object_type)
@@ -2005,7 +2008,9 @@ def get_permissions(self, user):
20052008
NodeGroupPermModel = apps.get_model('osf', 'NodeGroupObjectPermission')
20062009
for gid in auth_group_ids:
20072010
perms_qs = NodeGroupPermModel.objects.filter(group_id=gid, content_object_id=self.id)
2008-
group_perms = list(perms_qs.values_list('permission__codename', flat=True))
2011+
for perm in list(perms_qs.values_list('permission__codename', flat=True)):
2012+
if perm not in group_perms:
2013+
group_perms.append(perm)
20092014

20102015
# If base_perms not on model, will error
20112016
perms = self.base_perms

website/profile/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ def serialize_mapcore_node_groups(node):
257257
'id': mapcore_node_group.mapcore_group.id,
258258
'name': mapcore_node_group.mapcore_group._id,
259259
},
260-
'creator': mapcore_node_group.creator.username,
260+
'creator': mapcore_node_group.creator.fullname,
261261
'is_deleted': mapcore_node_group.is_deleted,
262262
'permission': mapcore_node_group.get_permission,
263263
'url': mapcore_node_group.mapcore_group.absolute_url,
@@ -275,7 +275,7 @@ def serialize_parent_admin_groups(node, current_group):
275275
'id': mapcore_node_group.mapcore_group.id,
276276
'name': mapcore_node_group.mapcore_group._id,
277277
},
278-
'creator': mapcore_node_group.creator.username,
278+
'creator': mapcore_node_group.creator.fullname,
279279
'is_deleted': mapcore_node_group.is_deleted,
280280
'permission': 'read',
281281
'url': mapcore_node_group.mapcore_group.absolute_url,

website/settings/defaults.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2053,7 +2053,7 @@ class CeleryConfig:
20532053
MAPCORE_AUTHCODE_MAGIC = 'GRDM_mAP_AuthCode'
20542054
MAPCORE_CLIENTID = None
20552055
MAPCORE_SECRET = None
2056-
MAPCORE_GROUP_HOSTNAME = 'https://cg.gakunin.jp'
2056+
MAPCORE_GROUP_HOSTNAME = 'https://sptest.cg.gakunin.jp'
20572057
MAPCORE_GROUP_API_PATH = '/map/rd/'
20582058

20592059
# allow logged-in-user to search private projects
@@ -2097,4 +2097,4 @@ class CeleryConfig:
20972097
BABEL_DEFAULT_LOCALE = 'ja'
20982098

20992099
# Prefix of isMemberOf attribute for groups.
2100-
MAP_GATEWAY_ISMEMBEROF_PREFIX = 'https://cg.gakunin.jp/gr/'
2100+
MAP_GATEWAY_ISMEMBEROF_PREFIX = 'https://sptest.cg.gakunin.jp/gr/'

website/static/js/groupsAdder.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,17 @@ AddGroupViewModel = oop.extend(Paginator, {
8888
self.parentImport = ko.observable(false);
8989
self.totalPages = ko.observable(0);
9090
self.childrenToChange = ko.observableArray();
91+
self.hasSearch = ko.observable(false);
9192
self.foundResults = ko.pureComputed(function () {
9293
return self.query() && self.results().length && !self.parentImport();
9394
});
9495

9596
self.noResults = ko.pureComputed(function () {
96-
return self.query() && !self.results().length && self.doneSearching();
97+
return self.query() && !self.results().length && self.doneSearching() && self.hasSearch();
9798
});
9899

99100
self.showLoading = ko.pureComputed(function () {
100-
return !self.doneSearching() && !!self.query();
101+
return !self.doneSearching() && !!self.query() && self.hasSearch();
101102
});
102103

103104
self.addAllVisible = ko.pureComputed(function () {
@@ -174,6 +175,7 @@ AddGroupViewModel = oop.extend(Paginator, {
174175
*/
175176
startSearch: function () {
176177
this.parentImport(false);
178+
this.hasSearch(true);
177179
this.pageToGet(0);
178180
this.fetchResults();
179181
},
@@ -185,7 +187,7 @@ AddGroupViewModel = oop.extend(Paginator, {
185187
self.doneSearching(false);
186188
self.notification(false);
187189
if (self.query()) {
188-
var url = $osf.apiV2Url('mapcore/groups/');
190+
var url = $osf.apiV2Url('map_core/groups/');
189191
// url += '?search='+encodeURIComponent(self.query()) + '&page=' + self.pageToGet();
190192
return $.ajax({
191193
url: url,
@@ -434,6 +436,7 @@ AddGroupViewModel = oop.extend(Paginator, {
434436
self.selection([]);
435437
self.childrenToChange([]);
436438
self.notification(false);
439+
self.hasSearch(false);
437440
},
438441
hasChildren: function() {
439442
var self = this;

website/static/js/logActionsList.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"permissions_updated": "${user} changed permissions for ${node}",
3535
"mapcore_group_added": "${user} added group ${mapcore_groups} to ${node}",
3636
"mapcore_group_removed": "${user} removed group ${mapcore_groups} from ${node}",
37-
"mapcore_group_permission_updated": "${user} updated group permissions on on ${node}",
37+
"mapcore_group_permission_updated": "${user} updated group permissions on ${node}",
3838
"made_contributor_visible": "${user} made non-bibliographic contributor ${contributors} a bibliographic contributor on ${node}",
3939
"made_contributor_invisible": "${user} made bibliographic contributor ${contributors} a non-bibliographic contributor on ${node}",
4040
"wiki_updated": "${user} updated wiki page ${page} to version ${version} of ${node}",

website/static/js/logTextParser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ var getMapcoreGroupList = function (mapcoreGroups, maxShown){
154154
var justOneMore = numMapcoreGroupsShown === mapcoreGroups.length -1;
155155
for(var i = 0; i < mapcoreGroups.length; i++){
156156
var item = mapcoreGroups[i];
157-
var comma = ' ';
157+
var comma = '';
158158
if(i !== mapcoreGroups.length -1 && ((i !== maxShown -1) || justOneMore)){
159159
comma = ', ';
160160
}

0 commit comments

Comments
 (0)