Commit 8b51b65b067d5e28fa8f886e7fcace2275a0dbea
1 parent
f3826255
Added delete button to depedant documents
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1884 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
2 changed files
with
107 additions
and
98 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/viewDependantDocumentsBL.php
| ... | ... | @@ -15,110 +15,119 @@ |
| 15 | 15 | require_once("../../../../config/dmsDefaults.php"); |
| 16 | 16 | |
| 17 | 17 | if (checkSession()) { |
| 18 | - if (isset($fFolderID) && isset($fFolderCollaborationID)) { | |
| 19 | - require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 20 | - require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); | |
| 21 | - require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 18 | + if (isset($fFolderID) && isset($fFolderCollaborationID)) { | |
| 19 | + | |
| 20 | + //folder and collaboration are selected | |
| 21 | + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 22 | + require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); | |
| 23 | + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 22 | 24 | require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); |
| 23 | - require_once("$default->fileSystemRoot/lib/users/User.inc"); | |
| 24 | - require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentTemplate.inc"); | |
| 25 | - require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 26 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); | |
| 27 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 28 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | |
| 29 | - require_once("viewDependantDocumentsUI.inc"); | |
| 25 | + require_once("$default->fileSystemRoot/lib/users/User.inc"); | |
| 26 | + require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentTemplate.inc"); | |
| 27 | + require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 28 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); | |
| 29 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 30 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | |
| 31 | + require_once("viewDependantDocumentsUI.inc"); | |
| 30 | 32 | |
| 31 | - //folder and collaboration are selected | |
| 32 | - if (isset($fForStore)) { | |
| 33 | - $oDependantDocumentTemplate; | |
| 34 | - if ($fTemplateDocumentID == "-1") { | |
| 35 | - $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID); | |
| 36 | - } else { | |
| 37 | - $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID, $fTemplateDocumentID); | |
| 38 | - } | |
| 39 | - if (!($oDependantDocumentTemplate->create())) { | |
| 40 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 41 | - | |
| 42 | - $oPatternCustom = & new PatternCustom(); | |
| 43 | - $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 44 | - $main->setCentralPayload($oPatternCustom); | |
| 45 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 46 | - $main->setErrorMessage("An error occured attempting to store the depedant document"); | |
| 47 | - $main->render(); | |
| 48 | - } else { | |
| 49 | - redirect("$default->rootUrl/control.php?action=viewDependantDocument&fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID"); | |
| 50 | - } | |
| 51 | - } else if (isset($fForAdd)) { | |
| 52 | - //we are adding a new dependant document | |
| 53 | - $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); | |
| 54 | - if ($oFolderCollaboration->hasDocumentInProcess()) { | |
| 55 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 56 | - | |
| 57 | - $oPatternCustom = & new PatternCustom(); | |
| 58 | - $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 59 | - $main->setCentralPayload($oPatternCustom); | |
| 60 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 61 | - $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); | |
| 62 | - $main->render(); | |
| 33 | + | |
| 34 | + if (Permission::userHasFolderWritePermission($fFolderID)) { | |
| 35 | + //user has folder write permission | |
| 36 | + if (isset($fForStore)) { | |
| 37 | + $oDependantDocumentTemplate; | |
| 38 | + if ($fTemplateDocumentID == "-1") { | |
| 39 | + $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID); | |
| 40 | + } else { | |
| 41 | + $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID, $fTemplateDocumentID); | |
| 42 | + } | |
| 43 | + if (!($oDependantDocumentTemplate->create())) { | |
| 44 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 63 | 45 | |
| 64 | - } else { | |
| 65 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 46 | + $oPatternCustom = & new PatternCustom(); | |
| 47 | + $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 48 | + $main->setCentralPayload($oPatternCustom); | |
| 49 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 50 | + $main->setErrorMessage("An error occured attempting to store the depedant document"); | |
| 51 | + $main->render(); | |
| 52 | + } else { | |
| 53 | + redirect("$default->rootUrl/control.php?action=viewDependantDocument&fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID"); | |
| 54 | + } | |
| 55 | + } else if (isset($fForAdd)) { | |
| 56 | + //we are adding a new dependant document | |
| 57 | + $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); | |
| 58 | + if ($oFolderCollaboration->hasDocumentInProcess()) { | |
| 59 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 66 | 60 | |
| 67 | - $oPatternCustom = & new PatternCustom(); | |
| 68 | - $oPatternCustom->setHtml(getAddPage($fFolderCollaborationID, $fFolderID, (isset($fUnitID) ? $fUnitID : -1), (isset($fDocumentTitle) ? $fDocumentTitle : ""), (isset($fTemplateDocument) ? $fTemplateDocument : ""), (isset($fDocumentID) ? $fDocumentID : "") )); | |
| 69 | - $main->setCentralPayload($oPatternCustom); | |
| 70 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForStore=1"); | |
| 71 | - $main->setHasRequiredFields(true); | |
| 72 | - $main->render(); | |
| 73 | - } | |
| 74 | - } else if (isset($fForEdit)) { | |
| 75 | - $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); | |
| 76 | - if ($oFolderCollaboration->hasDocumentInProcess()) { | |
| 77 | - //can't edit if there is a document currently undergoing collaboration | |
| 78 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 79 | - | |
| 80 | - $oPatternCustom = & new PatternCustom(); | |
| 81 | - $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 82 | - $main->setCentralPayload($oPatternCustom); | |
| 83 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForUpdate=1"); | |
| 84 | - $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); | |
| 85 | - $main->render(); | |
| 61 | + $oPatternCustom = & new PatternCustom(); | |
| 62 | + $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 63 | + $main->setCentralPayload($oPatternCustom); | |
| 64 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 65 | + $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); | |
| 66 | + $main->render(); | |
| 67 | + | |
| 68 | + } else { | |
| 69 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 70 | + | |
| 71 | + $oPatternCustom = & new PatternCustom(); | |
| 72 | + $oPatternCustom->setHtml(getAddPage($fFolderCollaborationID, $fFolderID, (isset($fUnitID) ? $fUnitID : -1), (isset($fDocumentTitle) ? $fDocumentTitle : ""), (isset($fTemplateDocument) ? $fTemplateDocument : ""), (isset($fDocumentID) ? $fDocumentID : "") )); | |
| 73 | + $main->setCentralPayload($oPatternCustom); | |
| 74 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForStore=1"); | |
| 75 | + $main->setHasRequiredFields(true); | |
| 76 | + $main->render(); | |
| 77 | + } | |
| 78 | + } else if (isset($fForEdit)) { | |
| 79 | + $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); | |
| 80 | + if ($oFolderCollaboration->hasDocumentInProcess()) { | |
| 81 | + //can't edit if there is a document currently undergoing collaboration | |
| 82 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 86 | 83 | |
| 87 | - } else { | |
| 88 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 84 | + $oPatternCustom = & new PatternCustom(); | |
| 85 | + $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 86 | + $main->setCentralPayload($oPatternCustom); | |
| 87 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForUpdate=1"); | |
| 88 | + $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); | |
| 89 | + $main->render(); | |
| 90 | + | |
| 91 | + } else { | |
| 92 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 93 | + | |
| 94 | + $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); | |
| 95 | + if ($oDependantDocumentTemplate->getTemplateDocumentID() >= 1) { | |
| 96 | + $oDocument = Document::get($oDependantDocumentTemplate->getTemplateDocumentID()); | |
| 97 | + } | |
| 98 | + | |
| 99 | + $oPatternCustom = & new PatternCustom(); | |
| 100 | + $oPatternCustom->setHtml(getEditPage($fFolderID, $fDependantDocumentTemplateID, $fFolderCollaborationID, $oDependantDocumentTemplate->getDocumentTitle(), (isset($oDocument) ? $oDocument->getName() : ""), (isset($oDocument) ? $oDependantDocumentTemplate->getTemplateDocumentID() : null), $oDependantDocumentTemplate->getDefaultUserID())); | |
| 101 | + $main->setCentralPayload($oPatternCustom); | |
| 102 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fDependantDocumentTemplateID=$fDependantDocumentTemplateID&fForUpdate=1"); | |
| 103 | + $main->setHasRequiredFields(true); | |
| 104 | + $main->render(); | |
| 105 | + } | |
| 106 | + } else if (isset($fForUpdate)) { | |
| 107 | + $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); | |
| 108 | + $oDependantDocumentTemplate->setDefaultUserID($fUserID); | |
| 109 | + $oDependantDocumentTemplate->setDocumentTitle($fDocumentTitle); | |
| 110 | + $oDependantDocumentTemplate->setTemplateDocumentID((isset($fTemplateDocumentID) ? $fTemplateDocumentID : null)); | |
| 111 | + $oDependantDocumentTemplate->update(); | |
| 112 | + | |
| 113 | + redirect("$default->rootUrl/control.php?action=viewDependantDocument&fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID"); | |
| 89 | 114 | |
| 90 | - $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); | |
| 91 | - if ($oDependantDocumentTemplate->getTemplateDocumentID() >= 1) { | |
| 92 | - $oDocument = Document::get($oDependantDocumentTemplate->getTemplateDocumentID()); | |
| 93 | - } | |
| 115 | + } else { | |
| 116 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 94 | 117 | |
| 95 | - $oPatternCustom = & new PatternCustom(); | |
| 96 | - $oPatternCustom->setHtml(getEditPage($fFolderID, $fDependantDocumentTemplateID, $fFolderCollaborationID, $oDependantDocumentTemplate->getDocumentTitle(), (isset($oDocument) ? $oDocument->getName() : ""), (isset($oDocument) ? $oDependantDocumentTemplate->getTemplateDocumentID() : null), $oDependantDocumentTemplate->getDefaultUserID())); | |
| 118 | + $oPatternCustom = & new PatternCustom(); | |
| 119 | + $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 97 | 120 | $main->setCentralPayload($oPatternCustom); |
| 98 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fDependantDocumentTemplateID=$fDependantDocumentTemplateID&fForUpdate=1"); | |
| 99 | - $main->setHasRequiredFields(true); | |
| 100 | - $main->render(); | |
| 121 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 122 | + $main->render(); | |
| 101 | 123 | } |
| 102 | - } else if (isset($fForUpdate)) { | |
| 103 | - $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); | |
| 104 | - $oDependantDocumentTemplate->setDefaultUserID($fUserID); | |
| 105 | - $oDependantDocumentTemplate->setDocumentTitle($fDocumentTitle); | |
| 106 | - $oDependantDocumentTemplate->setTemplateDocumentID((isset($fTemplateDocumentID) ? $fTemplateDocumentID : null)); | |
| 107 | - $oDependantDocumentTemplate->update(); | |
| 108 | - | |
| 109 | - redirect("$default->rootUrl/control.php?action=viewDependantDocument&fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID"); | |
| 110 | - | |
| 111 | 124 | } else { |
| 112 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 113 | - | |
| 114 | - $oPatternCustom = & new PatternCustom(); | |
| 115 | - $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | |
| 116 | - $main->setCentralPayload($oPatternCustom); | |
| 117 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | |
| 118 | - $main->render(); | |
| 119 | - } | |
| 120 | - | |
| 125 | + //redirect the user back to their start page if they somehow | |
| 126 | + //got here without the relevant permission | |
| 127 | + redirect($default->root_url . "/control.php"); | |
| 128 | + } | |
| 121 | 129 | } |
| 130 | + | |
| 122 | 131 | |
| 123 | 132 | } |
| 124 | 133 | ... | ... |
presentation/lookAndFeel/knowledgeTree/foldermanagement/viewDependantDocumentsUI.inc
| ... | ... | @@ -23,21 +23,21 @@ function getFolderPath($iFolderID) { |
| 23 | 23 | |
| 24 | 24 | function getDocumentLinkFolderCollaborationData($iFolderCollaborationID) { |
| 25 | 25 | global $default; |
| 26 | - $sQuery = "SELECT DDT.id, GFAL.folder_id AS folder_id, U.name AS username, DDT.document_title, D.name AS template_document_name, D.id AS template_document_id, DDT.group_folder_approval_link_id, 'Edit' AS edit " . | |
| 26 | + $sQuery = "SELECT DDT.id, GFAL.folder_id AS folder_id, U.name AS username, DDT.document_title, D.name AS template_document_name, D.id AS template_document_id, DDT.group_folder_approval_link_id, 'Edit' AS edit, 'Delete' AS del " . | |
| 27 | 27 | "FROM dependant_document_template AS DDT INNER JOIN groups_folders_approval_link AS GFAL ON DDT.group_folder_approval_link_id = GFAL.id " . |
| 28 | 28 | "INNER JOIN users AS U ON U.id = DDT.default_user_id " . |
| 29 | 29 | "LEFT OUTER JOIN documents AS D ON D.id = DDT.template_document_id " . |
| 30 | 30 | "WHERE DDT.group_folder_approval_link_id = $iFolderCollaborationID"; |
| 31 | 31 | |
| 32 | 32 | //echo $sQuery; |
| 33 | - $aColumns = array("document_title", "username", "template_document_name","edit"); | |
| 34 | - $aColumnHeaders = array("Document title", "Default creator", "Template document", "Edit"); | |
| 35 | - $aColumnTypes = array(1,1,3,3); | |
| 33 | + $aColumns = array("document_title", "username", "template_document_name","edit", "del"); | |
| 34 | + $aColumnHeaders = array("Document title", "Default creator", "Template document"); | |
| 35 | + $aColumnTypes = array(1,1,3,3,3); | |
| 36 | 36 | //$aDBColumnArray = array("id","group_folder_approval_link_id","template_document_id"); |
| 37 | 37 | $aDBColumnArray = array("id","group_folder_approval_link_id","folder_id"); |
| 38 | 38 | //$aQueryStringVariableNames = array("fDependantDocumentTemplateID", "fFolderCollaborationID", "fDocumentID"); |
| 39 | 39 | $aQueryStringVariableNames = array("fDependantDocumentTemplateID","fFolderCollaborationID","fFolderID"); |
| 40 | - $aLinkURLs = array(2=>"$default->rootUrl/control.php?action=viewDocument", 3=>"$default->rootUrl/control.php?action=viewDependantDocument&fForEdit=1"); | |
| 40 | + $aLinkURLs = array(2=>"$default->rootUrl/control.php?action=viewDocument", 3=>"$default->rootUrl/control.php?action=viewDependantDocument&fForEdit=1", 4=>"$default->rootUrl/control.php?action=deleteDependantDocument"); | |
| 41 | 41 | |
| 42 | 42 | $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames); |
| 43 | 43 | $oPatternTableSqlQuery->setTableHeading("Dependant Documents"); | ... | ... |