fixed #12056: Adding a Thing always creates a table
This commit is contained in:
parent
0bcdd9cc86
commit
bc00c4b6e0
3 changed files with 22 additions and 14 deletions
|
|
@ -6,6 +6,7 @@
|
||||||
- fixed #12097: GroupManager pop-up not working
|
- fixed #12097: GroupManager pop-up not working
|
||||||
- fixed #12098: Missing template breaks WebGUI password recovery by email
|
- fixed #12098: Missing template breaks WebGUI password recovery by email
|
||||||
- remove extra Underground style templates that were part of the 7.10.13 upgrade.
|
- remove extra Underground style templates that were part of the 7.10.13 upgrade.
|
||||||
|
- fixed #12056: Adding a Thing always creates a table
|
||||||
|
|
||||||
7.10.13
|
7.10.13
|
||||||
- added #12079: Carousel Auto Play
|
- added #12079: Carousel Auto Play
|
||||||
|
|
|
||||||
|
|
@ -1794,7 +1794,7 @@ sub www_editThing {
|
||||||
exportMetaData=>undef,
|
exportMetaData=>undef,
|
||||||
maxEntriesPerUser=>undef,
|
maxEntriesPerUser=>undef,
|
||||||
);
|
);
|
||||||
$thingId = $self->addThing(\%properties,0);
|
$thingId = "new";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
%properties = %{$self->getThing($thingId)};
|
%properties = %{$self->getThing($thingId)};
|
||||||
|
|
@ -2211,9 +2211,13 @@ sub www_editThingSave {
|
||||||
my ($thingId, $fields);
|
my ($thingId, $fields);
|
||||||
$thingId = $self->session->form->process("thingId");
|
$thingId = $self->session->form->process("thingId");
|
||||||
|
|
||||||
$fields = $self->session->db->read('select * from Thingy_fields where assetId = '.$self->session->db->quote($self->get("assetId")).' and thingId = '.$self->session->db->quote($thingId).' order by sequenceNumber');
|
$fields = $self->session->db->read('select * from Thingy_fields where assetId = '.$self->session->db->quote($self->get("assetId")).' and thingId = '.$self->session->db->quote($thingId).' order by sequenceNumber');
|
||||||
|
|
||||||
|
|
||||||
|
if($fields->rows < 1){
|
||||||
|
$self->session->log->warn("Thing failed to create because it had no fields");
|
||||||
|
my $i18n = WebGUI::International->new($self->session, "Asset_Thingy");
|
||||||
|
return $self->www_editThing($i18n->get("thing must have fields"));
|
||||||
|
}
|
||||||
$self->setCollateral("Thingy_things","thingId",{
|
$self->setCollateral("Thingy_things","thingId",{
|
||||||
thingId=>$thingId,
|
thingId=>$thingId,
|
||||||
label=>$form->process("label"),
|
label=>$form->process("label"),
|
||||||
|
|
@ -2242,12 +2246,6 @@ sub www_editThingSave {
|
||||||
maxEntriesPerUser=>$form->process("maxEntriesPerUser") || '',
|
maxEntriesPerUser=>$form->process("maxEntriesPerUser") || '',
|
||||||
},0,1);
|
},0,1);
|
||||||
|
|
||||||
if($fields->rows < 1){
|
|
||||||
$self->session->log->warn("Thing failed to create because it had no fields");
|
|
||||||
my $i18n = WebGUI::International->new($self->session, "Asset_Thingy");
|
|
||||||
return $self->www_editThing($i18n->get("thing must have fields"));
|
|
||||||
}
|
|
||||||
|
|
||||||
while (my $field = $fields->hashRef) {
|
while (my $field = $fields->hashRef) {
|
||||||
my $display = $self->session->form->process("display_".$field->{fieldId}) || 0;
|
my $display = $self->session->form->process("display_".$field->{fieldId}) || 0;
|
||||||
my $viewScreenTitle = $self->session->form->process("viewScreenTitle_".$field->{fieldId}) || 0;
|
my $viewScreenTitle = $self->session->form->process("viewScreenTitle_".$field->{fieldId}) || 0;
|
||||||
|
|
@ -2274,6 +2272,7 @@ sub www_editField {
|
||||||
return $session->privilege->insufficient() unless $self->canEdit;
|
return $session->privilege->insufficient() unless $self->canEdit;
|
||||||
$fieldId = $session->form->process("fieldId");
|
$fieldId = $session->form->process("fieldId");
|
||||||
$thingId = $session->form->process("thingId");
|
$thingId = $session->form->process("thingId");
|
||||||
|
|
||||||
%properties = $session->db->quickHash("select * from Thingy_fields where thingId=? and fieldId=? and assetId=?",
|
%properties = $session->db->quickHash("select * from Thingy_fields where thingId=? and fieldId=? and assetId=?",
|
||||||
[$thingId,$fieldId,$self->get("assetId")]);
|
[$thingId,$fieldId,$self->get("assetId")]);
|
||||||
if($session->form->process("copy")){
|
if($session->form->process("copy")){
|
||||||
|
|
@ -2315,6 +2314,8 @@ sub www_editFieldSave {
|
||||||
$defaultValue = $session->form->process("defaultFieldInThing");
|
$defaultValue = $session->form->process("defaultFieldInThing");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$thingId = $self->addThing({ thingId => 'new' },0) if $thingId eq 'new';
|
||||||
|
|
||||||
$fieldId = $session->form->process("fieldId");
|
$fieldId = $session->form->process("fieldId");
|
||||||
%properties = (
|
%properties = (
|
||||||
fieldId => $fieldId,
|
fieldId => $fieldId,
|
||||||
|
|
@ -2378,7 +2379,7 @@ sub www_editFieldSave {
|
||||||
# Make sure we send debug information along with the field.
|
# Make sure we send debug information along with the field.
|
||||||
$log->preventDebugOutput;
|
$log->preventDebugOutput;
|
||||||
|
|
||||||
$session->output->print($newFieldId.$listItemHTML);
|
$session->output->print($thingId.$newFieldId.$listItemHTML);
|
||||||
return "chunked";
|
return "chunked";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -288,11 +288,17 @@ function initAddFieldDialog() {
|
||||||
|
|
||||||
var handleSuccess = function(o) {
|
var handleSuccess = function(o) {
|
||||||
var response = o.responseText;
|
var response = o.responseText;
|
||||||
var listItemId = response.slice(0,22);
|
var thingId = response.slice(0,22);
|
||||||
var newInnerHTML = response.slice(22);
|
var listItemId = response.slice(22,44);
|
||||||
|
var newInnerHTML = response.slice(44);
|
||||||
var label = addFieldDialog.getData().label;
|
var label = addFieldDialog.getData().label;
|
||||||
addListItemHTML(listItemId, newInnerHTML,label);
|
addListItemHTML(listItemId, newInnerHTML,label);
|
||||||
|
var idTags = document.getElementsByName( "thingId" );
|
||||||
|
for( var index = 0; index < idTags.length; index++ ) {
|
||||||
|
idTags[index].value = thingId;
|
||||||
|
window.newThingId = thingId;
|
||||||
|
}
|
||||||
|
setCancelButton();
|
||||||
};
|
};
|
||||||
|
|
||||||
var handleFailure = function(o) {
|
var handleFailure = function(o) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue