added Thingy field-copy function and changed thingy field pretext and subtext

This commit is contained in:
Yung Han Khoe 2009-03-25 21:52:33 +00:00
commit 9a88b8756e
4 changed files with 70 additions and 25 deletions

View file

@ -4,6 +4,8 @@
- rfe #10007: New Month and Year question type. If required, Month must be selected and a 4 digit year must be entered. - rfe #10007: New Month and Year question type. If required, Month must be selected and a 4 digit year must be entered.
- fixed #10011: Wrong spelling of "Descendant" in Navigation Asset Help function (Rob Schipper/NFIA India) - fixed #10011: Wrong spelling of "Descendant" in Navigation Asset Help function (Rob Schipper/NFIA India)
- rfe #9098: Thingy Thing-copy function (SDH Consulting Group) - rfe #9098: Thingy Thing-copy function (SDH Consulting Group)
- rfe #9128: Thingy pretext and subtext fields maxlength too small (SDH Consulting Group)
- rfe #9099: Thingy field-copy function (SDH Consulting Group)
7.7.0 7.7.0
- fixed #9913: New Content Side Bar missing in Asset window - fixed #9913: New Content Side Bar missing in Asset window

View file

@ -34,6 +34,7 @@ my $session = start(); # this line required
adSkuInstall($session); adSkuInstall($session);
addWelcomeMessageTemplateToSettings( $session ); addWelcomeMessageTemplateToSettings( $session );
addStatisticsCacheTimeoutToMatrix( $session ); addStatisticsCacheTimeoutToMatrix( $session );
changeThingyFieldsPreTextAndSubtext( $session );
# image mods # image mods
addImageAnnotation($session); addImageAnnotation($session);
@ -81,6 +82,15 @@ sub addStatisticsCacheTimeoutToMatrix{
print "Done.\n" unless $quiet; print "Done.\n" unless $quiet;
} }
#----------------------------------------------------------------------------
sub changeThingyFieldsPreTextAndSubtext{
my $session = shift;
print "\tChanging pretext and subtext fields in Thingy_fields table... \n" unless $quiet;
$session->db->write("alter table Thingy_fields change subtext subtext text, change pretext pretext text;");
print "Done.\n" unless $quiet;
}
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Describe what our function does # Describe what our function does
sub adSkuInstall { sub adSkuInstall {

View file

@ -677,7 +677,10 @@ sub getEditFieldForm {
} }
my $dialogPrefix; my $dialogPrefix;
if ($fieldId eq "new"){ if ($field->{oldFieldId}){
$dialogPrefix = "edit_".$field->{oldFieldId}."_Dialog_copy";
}
elsif($fieldId eq "new"){
$dialogPrefix = "addDialog"; $dialogPrefix = "addDialog";
} }
else{ else{
@ -736,12 +739,14 @@ sub getEditFieldForm {
-value=>$field->{pretext}, -value=>$field->{pretext},
-label=>$i18n->get('pretext label'), -label=>$i18n->get('pretext label'),
-hoverHelp=>$i18n->get('pretext description'), -hoverHelp=>$i18n->get('pretext description'),
-maxlength=>'1024',
); );
$f->text( $f->text(
-name=>"subtext", -name=>"subtext",
-value=>$field->{subtext}, -value=>$field->{subtext},
-label=>$i18n->get('subtext label'), -label=>$i18n->get('subtext label'),
-hoverHelp=>$i18n->get('subtext description'), -hoverHelp=>$i18n->get('subtext description'),
-maxlength=>'1024',
); );
$f->selectBox( $f->selectBox(
-name=>"status", -name=>"status",
@ -1770,7 +1775,10 @@ sub www_editThing {
." <td style='width:100px;' valign='top' class='formDescription'>".$field->{label}."</td>\n" ." <td style='width:100px;' valign='top' class='formDescription'>".$field->{label}."</td>\n"
." <td style='width:370px;'>".$formElement."</td>\n" ." <td style='width:370px;'>".$formElement."</td>\n"
." <td style='width:120px;' valign='top'> <input onClick=\"editListItem('".$self->session->url->page() ." <td style='width:120px;' valign='top'> <input onClick=\"editListItem('".$self->session->url->page()
."?func=editField;fieldId=".$field->{fieldId}.";thingId=".$thingId."','".$field->{fieldId}."')\" value='".$i18n->get('Edit','Icon')."' type='button'>" ."?func=editField;fieldId=".$field->{fieldId}.";thingId=".$thingId."','".$field->{fieldId}."')\" value='Edit' type='button'>"
." <input onClick=\"editListItem('".$self->session->url->page()
."?func=editField;copy=1;fieldId=".$field->{fieldId}.";thingId=".$thingId."','".$field->{fieldId}
."','copy')\" value='Copy' type='button'>"
."<input onClick=\"deleteListItem('".$self->session->url->page()."','".$field->{fieldId}."','".$thingId."')\" " ."<input onClick=\"deleteListItem('".$self->session->url->page()."','".$field->{fieldId}."','".$thingId."')\" "
."value='".$i18n->get('Delete','Icon')."' type='button'></td>\n</tr>\n</table>\n</li>\n"; ."value='".$i18n->get('Delete','Icon')."' type='button'></td>\n</tr>\n</table>\n</li>\n";
@ -2111,12 +2119,19 @@ Returns the html for a pop-up dialog to add or edit a field.
sub www_editField { sub www_editField {
my $self = shift; my $self = shift;
my $session = $self->session;
my (%properties,$thingId,$fieldId,$dialogBody); my (%properties,$thingId,$fieldId,$dialogBody);
return $self->session->privilege->insufficient() unless $self->canEdit; return $session->privilege->insufficient() unless $self->canEdit;
$fieldId = $self->session->form->process("fieldId"); $fieldId = $session->form->process("fieldId");
$thingId = $self->session->form->process("thingId"); $thingId = $session->form->process("thingId");
%properties = $self->session->db->quickHash("select * from Thingy_fields where thingId=".$self->session->db->quote($thingId)." and fieldId = ".$self->session->db->quote($fieldId)." and assetId = ".$self->session->db->quote($self->get("assetId"))); %properties = $session->db->quickHash("select * from Thingy_fields where thingId=? and fieldId=? and assetId=?",
[$thingId,$fieldId,$self->get("assetId")]);
if($session->form->process("copy")){
$properties{oldFieldId} = $properties{fieldId};
$properties{fieldId} = 'new';
$properties{label} = $properties{label}.' (copy)';
}
$dialogBody = $self->getEditFieldForm(\%properties); $dialogBody = $self->getEditFieldForm(\%properties);
$self->session->output->print($dialogBody->print); $self->session->output->print($dialogBody->print);
return "chunked"; return "chunked";

View file

@ -129,7 +129,7 @@ function initOptionalFields(prefix,fieldId) {
} }
} }
function editListItem(url,fieldId) { function editListItem(url,fieldId,copy) {
var handleGetFormSuccess = function(o){ var handleGetFormSuccess = function(o){
@ -139,6 +139,10 @@ function editListItem(url,fieldId) {
var newInnerHTML = response.slice(22); var newInnerHTML = response.slice(22);
var label = editFieldDialog.getData().label; var label = editFieldDialog.getData().label;
if(copy){
addListItemHTML(listItemId, newInnerHTML,label);
}
var li = new YAHOO.util.Element(listItemId); var li = new YAHOO.util.Element(listItemId);
li.set('innerHTML',newInnerHTML); li.set('innerHTML',newInnerHTML);
var search_label = new YAHOO.util.Element("search_label_"+listItemId); var search_label = new YAHOO.util.Element("search_label_"+listItemId);
@ -159,21 +163,31 @@ function editListItem(url,fieldId) {
this.destroy(); this.destroy();
}; };
function optionalFields() { function optionalFields() {
initOptionalFields("edit_"+fieldId+"_Dialog",fieldId); initOptionalFields(dialogId,fieldId);
} }
editFieldDialog = new YAHOO.widget.Dialog("edit_"+fieldId+"_Dialog", { width:"460px", visible:false, draggable:true, close:true, fixedcenter:true, zIndex:11001, height: "420px",
autofillheight:false, var dialogId = "edit_"+fieldId+"_Dialog";
if(copy){
dialogId = dialogId + '_copy';
}
editFieldDialog = new YAHOO.widget.Dialog(dialogId, { width:"460px", visible:false, draggable:true,close:true, fixedcenter:true, zIndex:11001, height: "420px",
autofillheight:false,
buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true }, buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true },
{ text:"Cancel", handler:handleCancel } ] { text:"Cancel", handler:handleCancel } ]
} ); } );
editFieldDialog.setHeader("Edit Field"); if(copy){
editFieldDialog.setBody(o.responseText); editFieldDialog.setHeader("Copy Field");
}else{
editFieldDialog.setHeader("Edit Field");
}
editFieldDialog.setBody(o.responseText);
editFieldDialog.render(document.body); editFieldDialog.render(document.body);
editFieldDialog.callback = { success: handleSuccess, failure: handleFailure }; editFieldDialog.callback = { success: handleSuccess, failure: handleFailure };
editFieldDialog.show(); editFieldDialog.show();
YAHOO.util.Event.onContentReady("edit_"+fieldId+"_Dialog", optionalFields); YAHOO.util.Event.onContentReady(dialogId, optionalFields);
initHoverHelp("edit_"+fieldId+"_Dialog"); initHoverHelp(dialogId);
}; };
@ -191,16 +205,8 @@ function editListItem(url,fieldId) {
var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackGetForm); var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackGetForm);
} }
function addListItemHTML(listItemId, newInnerHTML,label){
function initAddFieldDialog() { var ul1 = new YAHOO.util.Element('ul1');
var handleSuccess = function(o) {
var response = o.responseText;
var listItemId = response.slice(0,22);
var newInnerHTML = response.slice(22);
var label = addFieldDialog.getData().label;
var ul1 = new YAHOO.util.Element('ul1');
var li = document.createElement('li'); var li = document.createElement('li');
li.id = listItemId; li.id = listItemId;
li.className = 'list1'; li.className = 'list1';
@ -275,6 +281,18 @@ function initAddFieldDialog() {
viewScreenTitle_td.innerHTML = "<input type='checkbox' name='viewScreenTitle_"+listItemId+"' value='1' />"; viewScreenTitle_td.innerHTML = "<input type='checkbox' name='viewScreenTitle_"+listItemId+"' value='1' />";
} }
view_tr.appendChild(viewScreenTitle_td); view_tr.appendChild(viewScreenTitle_td);
}
function initAddFieldDialog() {
var handleSuccess = function(o) {
var response = o.responseText;
var listItemId = response.slice(0,22);
var newInnerHTML = response.slice(22);
var label = addFieldDialog.getData().label;
addListItemHTML(listItemId, newInnerHTML,label);
}; };
var handleFailure = function(o) { var handleFailure = function(o) {