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.
- 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 #9128: Thingy pretext and subtext fields maxlength too small (SDH Consulting Group)
- rfe #9099: Thingy field-copy function (SDH Consulting Group)
7.7.0
- fixed #9913: New Content Side Bar missing in Asset window

View file

@ -34,6 +34,7 @@ my $session = start(); # this line required
adSkuInstall($session);
addWelcomeMessageTemplateToSettings( $session );
addStatisticsCacheTimeoutToMatrix( $session );
changeThingyFieldsPreTextAndSubtext( $session );
# image mods
addImageAnnotation($session);
@ -81,6 +82,15 @@ sub addStatisticsCacheTimeoutToMatrix{
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
sub adSkuInstall {

View file

@ -677,7 +677,10 @@ sub getEditFieldForm {
}
my $dialogPrefix;
if ($fieldId eq "new"){
if ($field->{oldFieldId}){
$dialogPrefix = "edit_".$field->{oldFieldId}."_Dialog_copy";
}
elsif($fieldId eq "new"){
$dialogPrefix = "addDialog";
}
else{
@ -736,12 +739,14 @@ sub getEditFieldForm {
-value=>$field->{pretext},
-label=>$i18n->get('pretext label'),
-hoverHelp=>$i18n->get('pretext description'),
-maxlength=>'1024',
);
$f->text(
-name=>"subtext",
-value=>$field->{subtext},
-label=>$i18n->get('subtext label'),
-hoverHelp=>$i18n->get('subtext description'),
-maxlength=>'1024',
);
$f->selectBox(
-name=>"status",
@ -1770,7 +1775,10 @@ sub www_editThing {
." <td style='width:100px;' valign='top' class='formDescription'>".$field->{label}."</td>\n"
." <td style='width:370px;'>".$formElement."</td>\n"
." <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."')\" "
."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 {
my $self = shift;
my $self = shift;
my $session = $self->session;
my (%properties,$thingId,$fieldId,$dialogBody);
return $self->session->privilege->insufficient() unless $self->canEdit;
$fieldId = $self->session->form->process("fieldId");
$thingId = $self->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")));
return $session->privilege->insufficient() unless $self->canEdit;
$fieldId = $session->form->process("fieldId");
$thingId = $session->form->process("thingId");
%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);
$self->session->output->print($dialogBody->print);
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){
@ -139,6 +139,10 @@ function editListItem(url,fieldId) {
var newInnerHTML = response.slice(22);
var label = editFieldDialog.getData().label;
if(copy){
addListItemHTML(listItemId, newInnerHTML,label);
}
var li = new YAHOO.util.Element(listItemId);
li.set('innerHTML',newInnerHTML);
var search_label = new YAHOO.util.Element("search_label_"+listItemId);
@ -159,21 +163,31 @@ function editListItem(url,fieldId) {
this.destroy();
};
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 },
{ text:"Cancel", handler:handleCancel } ]
} );
editFieldDialog.setHeader("Edit Field");
editFieldDialog.setBody(o.responseText);
if(copy){
editFieldDialog.setHeader("Copy Field");
}else{
editFieldDialog.setHeader("Edit Field");
}
editFieldDialog.setBody(o.responseText);
editFieldDialog.render(document.body);
editFieldDialog.callback = { success: handleSuccess, failure: handleFailure };
editFieldDialog.show();
YAHOO.util.Event.onContentReady("edit_"+fieldId+"_Dialog", optionalFields);
initHoverHelp("edit_"+fieldId+"_Dialog");
YAHOO.util.Event.onContentReady(dialogId, optionalFields);
initHoverHelp(dialogId);
};
@ -191,16 +205,8 @@ function editListItem(url,fieldId) {
var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackGetForm);
}
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;
var ul1 = new YAHOO.util.Element('ul1');
function addListItemHTML(listItemId, newInnerHTML,label){
var ul1 = new YAHOO.util.Element('ul1');
var li = document.createElement('li');
li.id = listItemId;
li.className = 'list1';
@ -275,6 +281,18 @@ function initAddFieldDialog() {
viewScreenTitle_td.innerHTML = "<input type='checkbox' name='viewScreenTitle_"+listItemId+"' value='1' />";
}
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) {