Skip to content

Commit 524c833

Browse files
committed
未病データベース-カタログ登録機能追加
1 parent ed85d93 commit 524c833

File tree

17 files changed

+1966
-670
lines changed

17 files changed

+1966
-670
lines changed

addons/metadata/apps.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ class AddonAppConfig(BaseAddonAppConfig):
3737

3838
node_settings_template = os.path.join(TEMPLATE_PATH, 'metadata_node_settings.mako')
3939

40-
excel_maximun_file_size = 10485760
41-
text_maximun_file_size = 10485760
42-
image_maximun_file_size = 10485760
43-
other_maximun_file_size = 10485760
40+
excel_file_maximum_size = 10485760
41+
text_file_maximum_size = 10485760
42+
image_file_maximum_size = 10485760
43+
any_file_maximum_size = 10485760
4444

4545
text_file_extension = ['txt', 'csv', 'tsv']
4646
excel_file_extension = ['xlsx', 'xls']

addons/metadata/models.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -284,14 +284,13 @@ def get_project_metadata(self):
284284
def get_report_formats_for(self, schemas):
285285
formats = []
286286
for schema in schemas:
287-
for format in RegistrationReportFormat.objects \
288-
.filter(registration_schema_id=schema._id) \
289-
.order_by('order'):
287+
for format in RegistrationReportFormat.objects.order_by('order'):
290288
formats.append({
291289
'id': f'format-{format.id}',
292290
'schema_id': schema._id,
293291
'name': format.name,
294292
})
293+
295294
destinations = []
296295
for addon in self.owner.get_addons():
297296
if not hasattr(addon, 'has_metadata') or not addon.has_metadata:
@@ -648,8 +647,7 @@ def node(self):
648647

649648
class ImportedAddonSettings(BaseModel):
650649
node_settings = models.ForeignKey(NodeSettings, related_name='imported_addon_settings',
651-
db_index=True, null=True, blank=True,
652-
on_delete=models.CASCADE)
650+
db_index=True, null=True, blank=True, on_delete=models.CASCADE)
653651

654652
name = models.TextField(blank=True, null=True)
655653

addons/metadata/static/files.js

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -474,30 +474,6 @@ function MetadataButtons() {
474474
* Start editing metadata.
475475
*/
476476
self.editMetadata = function(context, filepath, item) {
477-
window.context = context;
478-
window.item = item;
479-
480-
var file_total_size = 0;
481-
var file_total_number_of_files = 0;
482-
var file_total_number_of_folders = 0;
483-
var file_maximum_number_of_layers = 0;
484-
var root = '';
485-
getFile(filepath);
486-
487-
function getFile(filepath) {
488-
context.wbcache.searchFile(filepath, function (file) {
489-
if (file.hasOwnProperty('links')) {
490-
window.filepath = file.links.download;
491-
root = file.attributes.materialized;
492-
window.filesize = file.attributes.size;
493-
}
494-
else {
495-
window.filepath = '';
496-
root = '/'+ file.data.provider;
497-
}
498-
});
499-
}
500-
501477
var dialog = null;
502478
const extraMetadata = self.getExtraMetadata(item);
503479
if ((context.projectMetadata || {}).editable && !extraMetadata) {

addons/metadata/static/metadata-fields.js

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ const sizeofFormat = require("./util").sizeofFormat;
2626
const getLocalizedText = util.getLocalizedText;
2727
const normalizeText = util.normalizeText;
2828

29-
const logPrefix = '[metadata] ';
3029
var filteredPages = [];
3130

31+
const logPrefix = '[metadata] ';
32+
3233
const QuestionPage = oop.defclass({
3334
constructor: function(schema, fileItem, options) {
3435
const self = this;
@@ -54,7 +55,7 @@ const QuestionPage = oop.defclass({
5455
filteredPages = [];
5556
filteredPages = (self.schema.pages || []).filter(function(page) {
5657
return (page.questions || []).some(function(question){
57-
return question.hide === true;
58+
return question.concealment_page === "buttonHide";
5859
})
5960
}).map(function(page){
6061
return page;
@@ -190,6 +191,7 @@ const QuestionField = oop.extend(Emitter, {
190191

191192
create: function() {
192193
const self = this;
194+
self.element = $('<div></div>').addClass('form-group');
193195
if(filteredPages.length > 0 && filteredPages.length != 1){
194196
const currentPage = filteredPages.filter(function(page) {
195197
return (page.questions || []).some(function (question) {
@@ -199,26 +201,26 @@ const QuestionField = oop.extend(Emitter, {
199201

200202
const filteredPageIds = currentPage.flatMap(function(page) {
201203
return (page.questions || []).filter(function (question) {
202-
return question.hide === true;
204+
return question.concealment_page === "buttonHide";
203205
})
204206
.map(function (question) {
205207
return question.qid.split(':')[1];
206208
});
207209
});
208210

209-
const isHide = currentPage.some(function(page) {
211+
const isConcealmentPage = currentPage.some(function(page) {
210212
return (page.questions || []).some(function (question) {
211213
return question.qid === self.question.qid && self.question.qid.split(':')[1] != filteredPageIds && self.question.required != true;
212214
})
213215
});
214216

215-
if (isHide && filteredPageIds.length == 1) {
216-
self.element = $('<div></div>').addClass('form-group-'+filteredPageIds).css('height','0').css('overflow', 'hidden').css('margin','0px');
217+
if (isConcealmentPage && filteredPageIds.length == 1) {
218+
self.element = $('<div></div>').addClass('concealment-page-'+filteredPageIds).css('height','0').css('overflow', 'scroll');
217219
}else{
218-
self.element = $('<div></div>').addClass('form-group').css('margin','0px');
220+
self.element = $('<div></div>').addClass('form-group');
219221
}
220222
}else{
221-
self.element = $('<div></div>').addClass('form-group').css('margin','0px');
223+
self.element = $('<div></div>').addClass('form-group');
222224
}
223225

224226
// construct header
@@ -228,10 +230,6 @@ const QuestionField = oop.extend(Emitter, {
228230
// construct label
229231
const label = $('<label></label>')
230232
.text(self.question.title ? getLocalizedText(self.question.title) : self.question.label);
231-
232-
if(self.question.auto_value){
233-
label.append($(' <span>&nbsp; &#10227</span> '));
234-
}
235233
if (self.question.required) {
236234
label.append($('<span></span>')
237235
.css('color', 'red')
@@ -240,18 +238,18 @@ const QuestionField = oop.extend(Emitter, {
240238
}
241239
header.append(label);
242240

243-
if(self.question.hasOwnProperty('hide') && self.question.hide){
241+
if(self.question.hasOwnProperty('concealment_page') && self.question.concealment_page == "buttonHide"){
244242
const p = $('<p></p>');
245243
const a = $('<a></a>').text('▼ '+_('Show Items'));
246244
p.on('click', function(){
247-
$('.form-group-'+self.question.qid.split(':')[1]).each(function() {
245+
$('.concealment-page-'+self.question.qid.split(':')[1]).each(function() {
248246
if($(this).height() === 0){
249247
$(this).animate({height: $(this).get(0).scrollHeight}, 'fast', function() {
250-
$(this).css('height', '');
248+
$(this).css('height', '').addClass('form-group');
251249
});
252250
a.text('▲ '+_('Hide Items'));
253251
}else {
254-
$(this).animate({height: 0}, 'fast');
252+
$(this).animate({height: 0}, 'fast').removeClass('form-group');
255253
a.text('▼ '+_('Show Items'));
256254
}
257255
});
@@ -384,7 +382,7 @@ function createFormField(question, options, value) {
384382
formField = new TextFormField(question, options);
385383
}
386384
formField.create();
387-
if (value != null && value !== '') {
385+
if (value != null && value !== '' || (question.hasOwnProperty('initial_row_addition') && question.initial_row_addition)) {
388386
try {
389387
formField.setValue(value);
390388
} catch (error) {
@@ -729,11 +727,7 @@ const ArrayFormField = oop.extend(FormFieldInterface, {
729727
const headRow = $('<tr>');
730728
const thead = $('<thead>').append(headRow);
731729
self.question.properties.forEach(function(prop) {
732-
if(prop.auto_value){
733-
headRow.append($('<th>' + getLocalizedText(prop.title) + '<span>&nbsp; &#10227</span></th>'));
734-
}else{
735-
headRow.append($('<th>' + getLocalizedText(prop.title) + '</th>'));
736-
}
730+
headRow.append($('<th>' + getLocalizedText(prop.title) + '</th>'));
737731
});
738732
headRow.append($('<th>')); // remove button header
739733

@@ -846,6 +840,11 @@ const ArrayFormField = oop.extend(FormFieldInterface, {
846840
} else {
847841
rows = value || [];
848842
}
843+
844+
if(self.question.hasOwnProperty('initial_row_addition') && self.question.initial_row_addition ){
845+
self.addRow();
846+
}
847+
849848
rows.forEach(function(row) {
850849
self.addRow(row);
851850
});
@@ -1145,8 +1144,8 @@ function createSuggestionButton(container, question, buttonSuggestions, options,
11451144
.then(function (value) {
11461145
if(value == 'error'){
11471146
return;
1148-
}else if( value == 'auto-value-filesize-over-error'){
1149-
var name = question.qid.split(':')[1];
1147+
}else if( value == 'get-filesize-over-error'){
1148+
var name = question.qid.split(':')[1].replace('/', '-');
11501149
$('.'+name).remove();
11511150
container.after(
11521151
'<div class="'+name+'" style="color: red;">'+ _("File size exceeds the maximum allowed size.")+'</div>'

0 commit comments

Comments
 (0)