Commit 89ee2728834aa6e89dedbb1c7021a742edad1e18

Authored by rob
1 parent 8fd07b53

Added checks for documents currenlty undergoing the collaboration process


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@878 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php
... ... @@ -46,29 +46,21 @@ if (checkSession()) {
46 46 $oFolderCollaboration->setSequenceNumber($fSequenceNumber);
47 47 $oFolderCollaboration->update();
48 48 redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID");
49   - } else {
50   - //we are editing an existing entry
51   - require_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
52   - $oPatternCustom = & new PatternCustom();
53   - $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
54   - $main->setCentralPayload($oPatternCustom);
55   - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID"));
56   - $main->render();
57   - }
58   - /*if (isset($fForAdd)) {
59   - require_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
60   - $oPatternCustom = & new PatternCustom();
61   - $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
62   - $main->setCentralPayload($oPatternCustom);
63   - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForCreate=1");
64   - $main->render();
65   - } else {
66   - require_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
67   - $oPatternCustom = & new PatternCustom();
68   - $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
69   - $main->setCentralPayload($oPatternCustom);
70   - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=editFolder&fFolderID$fFolderID"));
71   - $main->render();
72   - }*/
  49 + } else {
  50 + $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
  51 + if ($oFolderCollaboration->hasDocumentInProcess()) {
  52 + //you cannot alter collaboration process at the folder level if a document is currently
  53 + //going through the process
  54 + redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID&fCollaborationEdit=0");
  55 + } else {
  56 + //we are editing an existing entry
  57 + require_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
  58 + $oPatternCustom = & new PatternCustom();
  59 + $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
  60 + $main->setCentralPayload($oPatternCustom);
  61 + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID"));
  62 + $main->render();
  63 + }
  64 + }
73 65 }
74 66 ?>
... ...
presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderCollaborationBL.php
... ... @@ -23,85 +23,72 @@ if (checkSession()) {
23 23 include_once("$default->owl_fs_root/lib/groups/Group.inc");
24 24 include_once("$default->owl_fs_root/lib/roles/Role.inc");
25 25 if (Permission::userHasFolderWritePermission($fFolderID)) {
26   - //can only create new collaboration steps if the user has folder write permission
27   - if (isset($fForDelete)) {
28   - //attempt to delete the new folder collaboration entry
29   - $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
  26 + //can only delete new collaboration steps if the user has folder write permission
  27 + if (isset($fForDelete)) {
  28 + if ($oFolderCollaboration->delete()) {
  29 + //on successful deletion, redirect to the folder edit page
  30 + include_once("$default->owl_fs_root/presentation/Html.inc");
  31 + redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID");
  32 + } else {
  33 + //otherwise display an error message
  34 + include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
  35 + include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
  36 +
  37 + include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
  38 + include_once("$default->owl_fs_root/presentation/Html.inc");
  39 + include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
  40 + include_once("deleteFolderCollaborationUI.inc");
  41 +
  42 + $oPatternCustom = & new PatternCustom();
  43 + $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
  44 + $oPatternCustom->setHtml(getPage($oFolderCollaboration->getFolderID(), $oFolderCollaboration->getGroupID(), $oFolderCollaboration->getRoleID(), $oFolderCollaboration->getSequenceNumber()));
  45 + $main->setErrorMessage("The folder collaboration entry could not be deleted from the database");
  46 + $main->setCentralPayload($oPatternCustom);
  47 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
  48 + $main->setHasRequiredFields(true);
  49 + $main->render();
  50 + }
  51 + } else {
  52 + $oFolderCollaboration = & FolderCollaboration::get($fFolderCollaborationID);
30 53 if ($oFolderCollaboration->hasDocumentInProcess()) {
  54 + //can't delete a step in the folder collaboration process if there is a document
  55 + //currently undergoing the process
  56 + redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID&fCollaborationDelete=0");
  57 + } else {
  58 + //display the browse page
31 59 include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
32 60 include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
33 61 include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
34 62 include_once("$default->owl_fs_root/presentation/Html.inc");
35 63 include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
36 64 include_once("deleteFolderCollaborationUI.inc");
37   -
  65 +
38 66 $oPatternCustom = & new PatternCustom();
39   - $oPatternCustom->setHtml("");
  67 + $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
  68 + $oPatternCustom->setHtml(getPage($oFolderCollaboration->getFolderID(), $oFolderCollaboration->getGroupID(), $oFolderCollaboration->getRoleID(), $oFolderCollaboration->getSequenceNumber()));
40 69 $main->setCentralPayload($oPatternCustom);
41   - $main->setErrorMessage("You cannot delete this step as there is a ");
42 70 $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
43 71 $main->setHasRequiredFields(true);
44 72 $main->render();
45   - } else {
46   - if ($oFolderCollaboration->delete()) {
47   - //on successful deletion, redirect to the folder edit page
48   - include_once("$default->owl_fs_root/presentation/Html.inc");
49   - redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID");
50   - } else {
51   - //otherwise display an error message
52   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
53   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
54   -
55   - include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
56   - include_once("$default->owl_fs_root/presentation/Html.inc");
57   - include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
58   - include_once("deleteFolderCollaborationUI.inc");
59   -
60   - $oPatternCustom = & new PatternCustom();
61   - $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
62   - $oPatternCustom->setHtml(getPage($oFolderCollaboration->getFolderID(), $oFolderCollaboration->getGroupID(), $oFolderCollaboration->getRoleID(), $oFolderCollaboration->getSequenceNumber()));
63   - $main->setErrorMessage("The folder collaboration entry could not be deleted from the database");
64   - $main->setCentralPayload($oPatternCustom);
65   - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
66   - $main->setHasRequiredFields(true);
67   - $main->render();
68   -
69   - }
70 73 }
71   - } else {
72   - //display the browse page
73   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
74   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
75   - include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
76   - include_once("$default->owl_fs_root/presentation/Html.inc");
77   - include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
78   - include_once("deleteFolderCollaborationUI.inc");
79   -
80   - $oPatternCustom = & new PatternCustom();
81   - $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID);
82   - $oPatternCustom->setHtml(getPage($oFolderCollaboration->getFolderID(), $oFolderCollaboration->getGroupID(), $oFolderCollaboration->getRoleID(), $oFolderCollaboration->getSequenceNumber()));
83   - $main->setCentralPayload($oPatternCustom);
84   - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
85   - $main->setHasRequiredFields(true);
86   - $main->render();
87 74 }
  75 + } else {
  76 + //display an error message
  77 + include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
  78 + include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
  79 + include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
  80 + include_once("$default->owl_fs_root/presentation/Html.inc");
  81 + include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
  82 + include_once("deleteFolderCollaborationUI.inc");
  83 +
  84 + $oPatternCustom = & new PatternCustom();
  85 + $oPatternCustom->setHtml("");
  86 + $main->setCentralPayload($oPatternCustom);
  87 + $main->setErrorMessage("No folder currently selected");
  88 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
  89 + $main->setHasRequiredFields(true);
  90 + $main->render();
88 91 }
89   - } else {
90   - //display an error message
91   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc");
92   - include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
93   - include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
94   - include_once("$default->owl_fs_root/presentation/Html.inc");
95   - include_once("$default->owl_fs_root/presentation/webpageTemplate.inc");
96   - include_once("deleteFolderCollaborationUI.inc");
97   -
98   - $oPatternCustom = & new PatternCustom();
99   - $oPatternCustom->setHtml("");
100   - $main->setCentralPayload($oPatternCustom);
101   - $main->setErrorMessage("No folder currently selected");
102   - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForDelete=1");
103   - $main->setHasRequiredFields(true);
104   - $main->render();
105 92 }
106 93 }
107 94 ?>
... ...
presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
... ... @@ -25,13 +25,33 @@ if (checkSession()) {
25 25 require_once("$default->owl_fs_root/presentation/Html.inc");
26 26  
27 27 if (Permission::userHasFolderWritePermission($fFolderID)) {
28   - //if the user can edit the folder
  28 + //if the user can edit the folder
29 29 if (isset($fFolderID)) {
30   - $oPatternCustom = & new PatternCustom();
31   - $oPatternCustom->setHtml(getPage($fFolderID));
32   - $main->setCentralPayload($oPatternCustom);
33   - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=browse&fFolderID=$fFolderID"));
34   - $main->render();
  30 + if (isset($fCollaborationEdit)) {
  31 + //user attempted to edit the folder collaboration process but could not because there is
  32 + //a document currently in this process
  33 + $oPatternCustom = & new PatternCustom();
  34 + $oPatternCustom->setHtml(getPage($fFolderID));
  35 + $main->setErrorMessage("You cannot edit this folder collaboration process as a document is currently undergoing this collaboration process");
  36 + $main->setCentralPayload($oPatternCustom);
  37 + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=browse&fFolderID=$fFolderID"));
  38 + $main->render();
  39 + } else if (isset($fCollaborationDelete)) {
  40 + //user attempted to delete the folder collaboration process but could not because there is
  41 + //a document currently in this process
  42 + $oPatternCustom = & new PatternCustom();
  43 + $oPatternCustom->setHtml(getPage($fFolderID));
  44 + $main->setErrorMessage("You cannot delete this folder collaboration process as a document is currently undergoing this collaboration process");
  45 + $main->setCentralPayload($oPatternCustom);
  46 + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=browse&fFolderID=$fFolderID"));
  47 + $main->render();
  48 + } else {
  49 + $oPatternCustom = & new PatternCustom();
  50 + $oPatternCustom->setHtml(getPage($fFolderID));
  51 + $main->setCentralPayload($oPatternCustom);
  52 + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->owl_root_url/control.php?action=browse&fFolderID=$fFolderID"));
  53 + $main->render();
  54 + }
35 55 } else {
36 56 //else display an error message
37 57 $oPatternCustom = & new PatternCustom();
... ...