Privacy settings for profile pages

This commit is contained in:
Inga Kirschnick
2022-12-13 15:01:04 +01:00
parent 7856e97402
commit 61a6ddd4be
22 changed files with 476 additions and 786 deletions

View File

@ -34,9 +34,9 @@ class SpaCyNLPPipelineModelList extends RessourceList {
<div class="switch action-switch center-align" data-action="share-request">
<span class="share"></span>
<label>
<input type="checkbox" class="shared">
<input type="checkbox" class="is_public">
<span class="lever"></span>
shared
public
</label>
</div>
</td>
@ -59,7 +59,7 @@ class SpaCyNLPPipelineModelList extends RessourceList {
'title': spaCyNLPPipelineModel.title,
'title-2': spaCyNLPPipelineModel.title,
'version': spaCyNLPPipelineModel.version,
'shared': spaCyNLPPipelineModel.shared ? 'True' : 'False'
'is_public': spaCyNLPPipelineModel.is_public ? 'True' : 'False'
};
},
sortArgs: ['creation-date', {order: 'desc'}],
@ -75,7 +75,7 @@ class SpaCyNLPPipelineModelList extends RessourceList {
'title',
'title-2',
'version',
{name: 'shared', attr: 'data-checked'}
{name: 'is_public', attr: 'data-checked'}
]
};
@ -87,7 +87,7 @@ class SpaCyNLPPipelineModelList extends RessourceList {
init(user) {
this._init(user.spacy_nlp_pipeline_models);
if (user.role.name !== ('Administrator' || 'Contributor')) {
for (let switchElement of this.listjs.list.querySelectorAll('.shared')) {
for (let switchElement of this.listjs.list.querySelectorAll('.is_public')) {
switchElement.setAttribute('disabled', '');
}
}
@ -134,8 +134,8 @@ class SpaCyNLPPipelineModelList extends RessourceList {
let spaCyNLPPipelineModelId = spaCyNLPPipelineModelElement.dataset.id;
switch (action) {
case 'share-request': {
let shared = actionSwitchElement.querySelector('input').checked;
Utils.shareSpaCyNLPPipelineModelRequest(this.userId, spaCyNLPPipelineModelId, shared);
let is_public = actionSwitchElement.querySelector('input').checked;
Utils.shareSpaCyNLPPipelineModelRequest(this.userId, spaCyNLPPipelineModelId, is_public);
break;
}
default: {

View File

@ -34,9 +34,9 @@ class TesseractOCRPipelineModelList extends RessourceList {
<div class="switch action-switch center-align" data-action="share-request">
<span class="share"></span>
<label>
<input type="checkbox" class="shared">
<input type="checkbox" class="is_public">
<span class="lever"></span>
shared
public
</label>
</div>
</td>
@ -59,7 +59,7 @@ class TesseractOCRPipelineModelList extends RessourceList {
'title': tesseractOCRPipelineModel.title,
'title-2': tesseractOCRPipelineModel.title,
'version': tesseractOCRPipelineModel.version,
'shared': tesseractOCRPipelineModel.shared ? 'True' : 'False'
'is_public': tesseractOCRPipelineModel.is_public ? 'True' : 'False'
};
},
sortArgs: ['creation-date', {order: 'desc'}],
@ -75,7 +75,7 @@ class TesseractOCRPipelineModelList extends RessourceList {
'title',
'title-2',
'version',
{name: 'shared', attr: 'data-checked'}
{name: 'is_public', attr: 'data-checked'}
]
};
@ -87,7 +87,7 @@ class TesseractOCRPipelineModelList extends RessourceList {
init (user) {
this._init(user.tesseract_ocr_pipeline_models);
if (user.role.name !== ('Administrator' || 'Contributor')) {
for (let switchElement of this.listjs.list.querySelectorAll('.shared')) {
for (let switchElement of this.listjs.list.querySelectorAll('.is_public')) {
switchElement.setAttribute('disabled', '');
}
}
@ -134,8 +134,8 @@ class TesseractOCRPipelineModelList extends RessourceList {
let tesseractOCRPipelineModelId = tesseractOCRPipelineModelElement.dataset.id;
switch (action) {
case 'share-request': {
let shared = actionSwitchElement.querySelector('input').checked;
Utils.shareTesseractOCRPipelineModelRequest(this.userId, tesseractOCRPipelineModelId, shared);
let is_public = actionSwitchElement.querySelector('input').checked;
Utils.shareTesseractOCRPipelineModelRequest(this.userId, tesseractOCRPipelineModelId, is_public);
break;
}
default: {

View File

@ -429,11 +429,11 @@ class Utils {
});
}
static shareTesseractOCRPipelineModelRequest(userId, tesseractOCRPipelineModelId, shared) {
static shareTesseractOCRPipelineModelRequest(userId, tesseractOCRPipelineModelId, is_public) {
return new Promise((resolve, reject) => {
let tesseractOCRPipelineModel = app.data.users[userId].tesseract_ocr_pipeline_models[tesseractOCRPipelineModelId];
let msg = '';
if (shared) {
if (is_public) {
msg = `Model "${tesseractOCRPipelineModel.title}" is now public`;
} else {
msg = `Model "${tesseractOCRPipelineModel.title}" is now private`;
@ -453,11 +453,11 @@ class Utils {
});
}
static shareSpaCyNLPPipelineModelRequest(userId, spaCyNLPPipelineModelId, shared) {
static shareSpaCyNLPPipelineModelRequest(userId, spaCyNLPPipelineModelId, is_public) {
return new Promise((resolve, reject) => {
let spaCyNLPPipelineModel = app.data.users[userId].spacy_nlp_pipeline_models[spaCyNLPPipelineModelId];
let msg = '';
if (shared) {
if (is_public) {
msg = `Model "${spaCyNLPPipelineModel.title}" is now public`;
} else {
msg = `Model "${spaCyNLPPipelineModel.title}" is now private`;