diff --git a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
index 40f0de85b..a2033f8d1 100755
--- a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
+++ b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js
@@ -264,6 +264,50 @@ var dynaformEditor={
url='dynaforms_Saveas';
popupWindow('Save as', url+'?DYN_UID='+this.dynUid+'&AA='+this.A , 500, 350);
},
+ importForm:function(){
+ panelImportDyna = new leimnud.module.panel();
+ panelImportDyna.options={
+ limit : true,
+ size : {w:410,h:160},
+ position : {x:0,y:0,center:true},
+ title : '',
+ theme : 'processmaker',
+ statusBar: false,
+ control : {drag:false,resize:true,close:false},
+ fx : {opacity:true,rolled:false,modal:true}
+ };
+ panelImportDyna.setStyle = {modal: {
+ backgroundColor: 'white'
+ }};
+ panelImportDyna.make();
+ panelImportDyna.addContent('

');
+ var oRPC = new leimnud.module.rpc.xmlhttp({
+ url : '../dynaforms/fieldsHandlerAjax',
+ async : false,
+ method: 'POST',
+ args : 'request=showImportForm' + '&DYN_UID=' + this.dynUid
+ });
+ oRPC.make();
+ document.getElementById('importAjax').style.display = 'none';
+ panelImportDyna.addContent(oRPC.xmlhttp.responseText);
+ },
+ import:function(uidDynaSelect){
+ document.getElementById('importAjax').style.display = 'block';
+ document.getElementById('importForm').style.display = 'none';
+ var oRPC = new leimnud.module.rpc.xmlhttp({
+ url : '../dynaforms/fieldsHandlerAjax',
+ async : false,
+ method: 'POST',
+ args : 'request=import' + '&DYN_UID=' + this.dynUid + '&FILE=' + uidDynaSelect
+ });
+ oRPC.make();
+ resp = oRPC.xmlhttp.responseText;
+ if (resp == 'success') {
+ location.reload(true);
+ } else {
+ alert("Error: " + resp);
+ }
+ },
close:function()
{
if (!sessionPersits()) {
diff --git a/workflow/engine/methods/dynaforms/fieldsHandlerAjax.php b/workflow/engine/methods/dynaforms/fieldsHandlerAjax.php
index 01c8002c1..83eed3f72 100755
--- a/workflow/engine/methods/dynaforms/fieldsHandlerAjax.php
+++ b/workflow/engine/methods/dynaforms/fieldsHandlerAjax.php
@@ -94,6 +94,118 @@ switch ($request) {
$o->remove( '___pm_boot_strap___' );
}
break;
+ case 'showImportForm':
+ require_once 'classes/model/Dynaform.php';
+ require_once 'classes/model/Content.php';
+ $uidDynafom = $_POST['DYN_UID'];
+
+ $oCriteria = new Criteria( 'workflow' );
+ $oCriteria->clearSelectColumns();
+ $oCriteria->addSelectColumn( DynaformPeer::DYN_FILENAME );
+ $oCriteria->addAsColumn( 'DYNA_NAME', 'C_DYNA.CON_VALUE' );
+ $oCriteria->addAsColumn( 'PROC_NAME', 'C_PROC.CON_VALUE' );
+
+ $oCriteria->addAlias("C_DYNA", "CONTENT");
+ $oCriteria->addAlias("C_PROC", "CONTENT");
+
+ $arrayCondition = array();
+ $arrayCondition[] = array(DynaformPeer::DYN_UID, "C_DYNA.CON_ID");
+ $oCriteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);
+
+ $arrayCondition = array();
+ $arrayCondition[] = array(DynaformPeer::PRO_UID, "C_PROC.CON_ID");
+ $oCriteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);
+
+ $oCriteria->add( 'C_DYNA.CON_LANG', SYS_LANG );
+ $oCriteria->add( 'C_DYNA.CON_CATEGORY', 'DYN_TITLE' );
+
+ $oCriteria->add( 'C_PROC.CON_LANG', SYS_LANG );
+ $oCriteria->add( 'C_PROC.CON_CATEGORY', 'PRO_TITLE' );
+
+ $oCriteria->add( DynaformPeer::DYN_UID, $uidDynafom, Criteria::NOT_EQUAL);
+
+ $oCriteria->addAscendingOrderByColumn ('PROC_NAME');
+ $oCriteria->addAscendingOrderByColumn ('DYNA_NAME');
+ $oDataset = DynaformPeer::doSelectRS( $oCriteria );
+ $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset->next();
+ $aRow = $oDataset->getRow();
+
+
+ $select = '';
+ $html = '