Commit e524fd033aa5e00f915c6887e44c4cc37e5b96f9
1 parent
8663bd68
Merged from STABLE trunk...
KTS-1779 "UI issue on workflow action page. " Fixed. Reviewed By: Conrad KTS-1779 "Error with interface when deleting a workflow state. " Fixed. Reviewed By: Kevin, Conrad git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/branches/3.3.3-Release-Branch@6377 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
144 additions
and
37 deletions
plugins/ktcore/KTDocumentViewlets.php
| @@ -47,6 +47,9 @@ class KTWorkflowViewlet extends KTDocumentViewlet { | @@ -47,6 +47,9 @@ class KTWorkflowViewlet extends KTDocumentViewlet { | ||
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | foreach ($aTransitions as $oTransition) { | 49 | foreach ($aTransitions as $oTransition) { |
| 50 | + if(is_null($oTransition) || PEAR::isError($oTransition)){ | ||
| 51 | + continue; | ||
| 52 | + } | ||
| 50 | $aDisplayTransitions[] = array( | 53 | $aDisplayTransitions[] = array( |
| 51 | 'url' => KTUtil::ktLink('action.php', 'ktcore.actions.document.workflow', array("fDocumentId" => $this->oDocument->getId(), "action" => "quicktransition", "fTransitionId" => $oTransition->getId())), | 54 | 'url' => KTUtil::ktLink('action.php', 'ktcore.actions.document.workflow', array("fDocumentId" => $this->oDocument->getId(), "action" => "quicktransition", "fTransitionId" => $oTransition->getId())), |
| 52 | 'name' => $oTransition->getName(), | 55 | 'name' => $oTransition->getName(), |
plugins/ktcore/admin/workflowsv2.php
| @@ -893,6 +893,8 @@ class KTWorkflowAdminV2 extends KTAdminDispatcher { | @@ -893,6 +893,8 @@ class KTWorkflowAdminV2 extends KTAdminDispatcher { | ||
| 893 | 'context' => $this, | 893 | 'context' => $this, |
| 894 | )); | 894 | )); |
| 895 | $other_states = sprintf('id != %d', $this->oState->getId()); | 895 | $other_states = sprintf('id != %d', $this->oState->getId()); |
| 896 | + $other_states .= sprintf(' AND workflow_id = %d', $this->oWorkflow->getId()); | ||
| 897 | + | ||
| 896 | $oForm->setWidgets(array( | 898 | $oForm->setWidgets(array( |
| 897 | array('ktcore.widgets.entityselection', array( | 899 | array('ktcore.widgets.entityselection', array( |
| 898 | 'vocab' => KTWorkflowState::getList($other_states), | 900 | 'vocab' => KTWorkflowState::getList($other_states), |
resources/css/kt-framing.css
| @@ -32,6 +32,16 @@ body | @@ -32,6 +32,16 @@ body | ||
| 32 | border-top: 1px solid #ccc; | 32 | border-top: 1px solid #ccc; |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | +.action_overview_scroll { | ||
| 36 | + border:1px ; | ||
| 37 | + overflow: auto; | ||
| 38 | + width: 80%; | ||
| 39 | + height: 450px; | ||
| 40 | + position: absolute; | ||
| 41 | + top:100; | ||
| 42 | + left:100; | ||
| 43 | +} | ||
| 44 | + | ||
| 35 | #pageBody { | 45 | #pageBody { |
| 36 | position: relative; | 46 | position: relative; |
| 37 | border: 1px solid white; | 47 | border: 1px solid white; |
| @@ -1224,14 +1234,15 @@ a.main_nav_item { | @@ -1224,14 +1234,15 @@ a.main_nav_item { | ||
| 1224 | 1234 | ||
| 1225 | 1235 | ||
| 1226 | .ktBlock { | 1236 | .ktBlock { |
| 1227 | - padding: 0 1em; | ||
| 1228 | - border: 1px solid #c5c5c5; | ||
| 1229 | - background-color: #fcfcfc; | ||
| 1230 | - margin: 0.5em 0; | 1237 | + padding: 0.1em 1em; |
| 1238 | + /*border-right: 1px solid #c5c5c5;*/ | ||
| 1239 | + /*background-color: #fcfcfc;*/ | ||
| 1240 | + margin: 1em 0; | ||
| 1241 | + position:relative; | ||
| 1231 | } | 1242 | } |
| 1232 | 1243 | ||
| 1233 | 1244 | ||
| 1234 | -.ktBlock, .ktInfo, .ktError { | 1245 | +.ktInfo, .ktError { |
| 1235 | background-repeat: repeat-x; | 1246 | background-repeat: repeat-x; |
| 1236 | background-position: top left; | 1247 | background-position: top left; |
| 1237 | } | 1248 | } |
| @@ -1244,14 +1255,12 @@ a.main_nav_item { | @@ -1244,14 +1255,12 @@ a.main_nav_item { | ||
| 1244 | background-image: url(../../resources/graphics/dashlet-gradient-error.gif); | 1255 | background-image: url(../../resources/graphics/dashlet-gradient-error.gif); |
| 1245 | } | 1256 | } |
| 1246 | 1257 | ||
| 1247 | -#dashboard-container-left .ktBlock, | ||
| 1248 | #dashboard-container-left .ktInfo, | 1258 | #dashboard-container-left .ktInfo, |
| 1249 | #dashboard-container-left .ktError, | 1259 | #dashboard-container-left .ktError, |
| 1250 | -#dashboard-container-right .ktBlock, | ||
| 1251 | #dashboard-container-right .ktInfo, | 1260 | #dashboard-container-right .ktInfo, |
| 1252 | #dashboard-container-right .ktError | 1261 | #dashboard-container-right .ktError |
| 1253 | { | 1262 | { |
| 1254 | - -moz-border-radius: 15px; | 1263 | + -moz-border-radius: 15px; |
| 1255 | } | 1264 | } |
| 1256 | #dashboardBox { | 1265 | #dashboardBox { |
| 1257 | width: 80% | 1266 | width: 80% |
| @@ -1281,6 +1290,12 @@ a.main_nav_item { | @@ -1281,6 +1290,12 @@ a.main_nav_item { | ||
| 1281 | margin: 0.5em; | 1290 | margin: 0.5em; |
| 1282 | } | 1291 | } |
| 1283 | 1292 | ||
| 1293 | +.outerContainer{ | ||
| 1294 | + height: 450px; | ||
| 1295 | + overflow: auto; | ||
| 1296 | + margin-bottom: 20px; | ||
| 1297 | +} | ||
| 1298 | + | ||
| 1284 | /* ========== kt actions | 1299 | /* ========== kt actions |
| 1285 | 1300 | ||
| 1286 | These are used to mark up various different "actions" (e.g. cut, copy, delete). | 1301 | These are used to mark up various different "actions" (e.g. cut, copy, delete). |
| @@ -1404,73 +1419,139 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes | @@ -1404,73 +1419,139 @@ The text will be hidden for screen view. The generic fahrner-ish approach comes | ||
| 1404 | /* background-color: #ddf; */ | 1419 | /* background-color: #ddf; */ |
| 1405 | } | 1420 | } |
| 1406 | 1421 | ||
| 1407 | -#dashboard_block_topleft { | 1422 | +.dashboard_block_topleft { |
| 1408 | position: absolute; | 1423 | position: absolute; |
| 1409 | - width: 40px; | ||
| 1410 | - height: 40px; | 1424 | + width: 35px; |
| 1425 | + height: 36px; | ||
| 1411 | top: 0px; | 1426 | top: 0px; |
| 1412 | left: 0px; | 1427 | left: 0px; |
| 1428 | + background: url(../graphics/dashlet_topleft.png) top left no-repeat; | ||
| 1429 | + z-index:-1; | ||
| 1413 | } | 1430 | } |
| 1414 | 1431 | ||
| 1415 | -#dashboard_block_toprepeat { | 1432 | +.dashboard_block_toprepeat { |
| 1416 | position: absolute; | 1433 | position: absolute; |
| 1417 | - width: 95%; | ||
| 1418 | - height: 3px; | 1434 | + width: 90%; |
| 1435 | + height: 36px; | ||
| 1419 | top: 0px; | 1436 | top: 0px; |
| 1420 | left: 30px; | 1437 | left: 30px; |
| 1438 | + background: white url(../graphics/dashlet_toprepeat.png) top left repeat-x; | ||
| 1439 | + z-index:-1; | ||
| 1421 | } | 1440 | } |
| 1422 | 1441 | ||
| 1423 | -#dashboard_block_topright { | 1442 | +.dashboard_block_topright { |
| 1424 | position: absolute; | 1443 | position: absolute; |
| 1425 | - width: 40px; | ||
| 1426 | - height: 40px; | 1444 | + width: 35px; |
| 1445 | + height: 36px; | ||
| 1427 | top: 0px; | 1446 | top: 0px; |
| 1428 | right: 0px; | 1447 | right: 0px; |
| 1448 | + background: url(../graphics/dashlet_topright.png) top right no-repeat; | ||
| 1449 | + z-index:-1; | ||
| 1429 | } | 1450 | } |
| 1430 | 1451 | ||
| 1431 | -#dashboard_block_leftrepeat { | 1452 | +.dashboard_block_leftrepeat_top { |
| 1432 | position: absolute; | 1453 | position: absolute; |
| 1433 | - width: 3px; | ||
| 1434 | - height: 95%; | ||
| 1435 | - top: 30px; | 1454 | + width: 13px; |
| 1455 | + height: 50%; | ||
| 1456 | + top: 5px; | ||
| 1436 | left: 0px; | 1457 | left: 0px; |
| 1458 | + background: white url(../graphics/dashlet_leftrepeat.png) top left repeat-y; | ||
| 1459 | + z-index:-1; | ||
| 1437 | } | 1460 | } |
| 1438 | 1461 | ||
| 1439 | -#dashboard_block_bottomleft { | 1462 | +.dashboard_block_leftrepeat_bottom { |
| 1463 | + position: absolute; | ||
| 1464 | + width: 13px; | ||
| 1465 | + height: 50%; | ||
| 1466 | + bottom: 10px; | ||
| 1467 | + left: 0px; | ||
| 1468 | + background: white url(../graphics/dashlet_leftrepeat.png) top left repeat-y; | ||
| 1469 | + z-index:-1; | ||
| 1470 | +} | ||
| 1471 | + | ||
| 1472 | +.dashboard_block_bottomleft { | ||
| 1440 | position: absolute; | 1473 | position: absolute; |
| 1441 | width: 40px; | 1474 | width: 40px; |
| 1442 | height: 40px; | 1475 | height: 40px; |
| 1443 | bottom: 0px; | 1476 | bottom: 0px; |
| 1444 | left: 0px; | 1477 | left: 0px; |
| 1478 | + background: url(../graphics/dashlet_bottomleft.png) bottom left no-repeat; | ||
| 1479 | + z-index:-1; | ||
| 1445 | } | 1480 | } |
| 1446 | 1481 | ||
| 1447 | -#dashboard_block_bottomrepeat { | 1482 | +.dashboard_block_bottomrepeat { |
| 1448 | position: absolute; | 1483 | position: absolute; |
| 1449 | - width: 95%; | ||
| 1450 | - height: 3px; | 1484 | + width: 90%; |
| 1485 | + height: 13px; | ||
| 1451 | bottom: 0px; | 1486 | bottom: 0px; |
| 1452 | left: 30px; | 1487 | left: 30px; |
| 1488 | + background: white url(../graphics/dashlet_bottomrepeat.png) bottom left repeat-x; | ||
| 1489 | + z-index:-1; | ||
| 1453 | } | 1490 | } |
| 1454 | 1491 | ||
| 1455 | -#dashboard_block_bottomright { | 1492 | +.dashboard_block_bottomright { |
| 1456 | position: absolute; | 1493 | position: absolute; |
| 1457 | width: 40px; | 1494 | width: 40px; |
| 1458 | height: 40px; | 1495 | height: 40px; |
| 1459 | bottom: 0px; | 1496 | bottom: 0px; |
| 1460 | right: 0px; | 1497 | right: 0px; |
| 1498 | + background: url(../graphics/dashlet_bottomright.png) bottom right no-repeat; | ||
| 1499 | + z-index:-1; | ||
| 1461 | } | 1500 | } |
| 1462 | 1501 | ||
| 1463 | -#dashboard_block_rightrepeat { | 1502 | +.dashboard_block_rightrepeat_top { |
| 1464 | position: absolute; | 1503 | position: absolute; |
| 1465 | - width: 3px; | ||
| 1466 | - height: 95%; | ||
| 1467 | - top: 30px; | 1504 | + width: 13px; |
| 1505 | + height: 50%; | ||
| 1506 | + top: 5px; | ||
| 1468 | right: 0px; | 1507 | right: 0px; |
| 1508 | + background: white url(../graphics/dashlet_rightrepeat.png) top right repeat-y; | ||
| 1509 | + z-index:-1; | ||
| 1510 | + overflow:hidden; | ||
| 1511 | +} | ||
| 1512 | + | ||
| 1513 | +.dashboard_block_rightrepeat_bottom { | ||
| 1514 | + position: absolute; | ||
| 1515 | + width: 13px; | ||
| 1516 | + height: 50%; | ||
| 1517 | + bottom: 10px; | ||
| 1518 | + right: 0px; | ||
| 1519 | + background: white url(../graphics/dashlet_rightrepeat.png) bottom right repeat-y; | ||
| 1520 | + z-index:-1; | ||
| 1521 | + overflow:hidden; | ||
| 1522 | +} | ||
| 1523 | + | ||
| 1524 | +.dashboard_block_rightrepeat_top { | ||
| 1525 | + min-height: 70px; | ||
| 1526 | +} | ||
| 1527 | + | ||
| 1528 | +.dashboard_block.rolled-up .dashboard_block_rightrepeat_top | ||
| 1529 | +{ | ||
| 1530 | + display: none; | ||
| 1531 | +} | ||
| 1532 | + | ||
| 1533 | +.dashboard_block.rolled-up .dashboard_block_rightrepeat_bottom | ||
| 1534 | +{ | ||
| 1535 | + display: none; | ||
| 1536 | +} | ||
| 1537 | + | ||
| 1538 | +.dashboard_block.rolled-up .dashboard_block_leftrepeat_top | ||
| 1539 | +{ | ||
| 1540 | + display: none; | ||
| 1541 | +} | ||
| 1542 | + | ||
| 1543 | +.dashboard_block.rolled-up .dashboard_block_leftrepeat_bottom | ||
| 1544 | +{ | ||
| 1545 | + display: none; | ||
| 1469 | } | 1546 | } |
| 1470 | 1547 | ||
| 1471 | .dashboard_block { | 1548 | .dashboard_block { |
| 1472 | width: 100%; | 1549 | width: 100%; |
| 1473 | -/* background-color: #fdd; */ | 1550 | + /*background-color: #fdd;*/ |
| 1551 | +} | ||
| 1552 | + | ||
| 1553 | +.dashboard_block_empty{ | ||
| 1554 | + border:none; | ||
| 1474 | } | 1555 | } |
| 1475 | 1556 | ||
| 1476 | #copyrightbarBorder { | 1557 | #copyrightbarBorder { |
| @@ -1724,13 +1805,15 @@ hr { | @@ -1724,13 +1805,15 @@ hr { | ||
| 1724 | { | 1805 | { |
| 1725 | float: right; | 1806 | float: right; |
| 1726 | text-align: right; | 1807 | text-align: right; |
| 1727 | - margin: 0.75em 0em 0 0; | 1808 | + margin: 0.2em 0em 0 0; |
| 1728 | z-index: 100; | 1809 | z-index: 100; |
| 1729 | } | 1810 | } |
| 1730 | 1811 | ||
| 1731 | .dashboard_block_handle | 1812 | .dashboard_block_handle |
| 1732 | { | 1813 | { |
| 1733 | cursor: pointer; | 1814 | cursor: pointer; |
| 1815 | + margin: 0.2em -0.5em 0.5em 0; | ||
| 1816 | + font-size:small; | ||
| 1734 | } | 1817 | } |
| 1735 | 1818 | ||
| 1736 | .dashboard_block.rolled-up .dashboard_block_body | 1819 | .dashboard_block.rolled-up .dashboard_block_body |
| @@ -1738,9 +1821,17 @@ hr { | @@ -1738,9 +1821,17 @@ hr { | ||
| 1738 | display: none; | 1821 | display: none; |
| 1739 | } | 1822 | } |
| 1740 | 1823 | ||
| 1741 | -.dashboard_block .dashboard_block_body | 1824 | +.ktBlock .dashboard_block_body |
| 1825 | +{ | ||
| 1826 | + z-index:99; | ||
| 1827 | + margin: 8px 0 10px 0; | ||
| 1828 | + background-color:#FFFFFF; | ||
| 1829 | +} | ||
| 1830 | + | ||
| 1831 | +.dashboard_block .dashboard_block_body .edit_action | ||
| 1742 | { | 1832 | { |
| 1743 | z-index:99; | 1833 | z-index:99; |
| 1834 | + background-color:#FFFFFF; | ||
| 1744 | } | 1835 | } |
| 1745 | 1836 | ||
| 1746 | /* actions */ | 1837 | /* actions */ |
| @@ -1777,9 +1868,15 @@ hr { | @@ -1777,9 +1868,15 @@ hr { | ||
| 1777 | #content .dashboard_block.rolled-up h2 | 1868 | #content .dashboard_block.rolled-up h2 |
| 1778 | { | 1869 | { |
| 1779 | border-bottom-width: 0px; | 1870 | border-bottom-width: 0px; |
| 1780 | - padding-bottom: 0px; | 1871 | + padding-bottom: 10px; |
| 1781 | } | 1872 | } |
| 1782 | 1873 | ||
| 1874 | +#content .ktBlock h2 | ||
| 1875 | +{ | ||
| 1876 | + border-bottom-width: 0px; | ||
| 1877 | + color: #FFFFFF; | ||
| 1878 | + font-size: small; | ||
| 1879 | +} | ||
| 1783 | 1880 | ||
| 1784 | #content .dashboard_block.closed | 1881 | #content .dashboard_block.closed |
| 1785 | { | 1882 | { |
templates/ktcore/workflow/admin/actions_overview.smarty
| @@ -6,12 +6,14 @@ which are not blocked are still controlled by the usual permissions.{/i18n}</p> | @@ -6,12 +6,14 @@ which are not blocked are still controlled by the usual permissions.{/i18n}</p> | ||
| 6 | 6 | ||
| 7 | <p><a class="ktAction ktActionDescribed ktEdit" href="{addQS context=$context}action=editactions{/addQS}">{i18n}Edit Actions{/i18n}</a> | 7 | <p><a class="ktAction ktActionDescribed ktEdit" href="{addQS context=$context}action=editactions{/addQS}">{i18n}Edit Actions{/i18n}</a> |
| 8 | <a href="{addQS context=$context}action=editactions{/addQS}">{i18n}Edit Actions{/i18n}</a></p> | 8 | <a href="{addQS context=$context}action=editactions{/addQS}">{i18n}Edit Actions{/i18n}</a></p> |
| 9 | - | ||
| 10 | -<table class="kt_collection narrow" cellspacing="0"> | 9 | +<div class="action_overview_scroll"> |
| 10 | +<table class="kt_collection narrow" width="50" cellspacing="0"> | ||
| 11 | <thead> | 11 | <thead> |
| 12 | <th>{i18n}State{/i18n}</th> | 12 | <th>{i18n}State{/i18n}</th> |
| 13 | {foreach from=$actions item=oAction} | 13 | {foreach from=$actions item=oAction} |
| 14 | - <th>{$oAction->getDisplayName()}</th> | 14 | + {if ($oAction->getDisplayName() != '')} |
| 15 | + <th>{$oAction->getDisplayName()}</th> | ||
| 16 | + {/if} | ||
| 15 | {/foreach} | 17 | {/foreach} |
| 16 | </thead> | 18 | </thead> |
| 17 | 19 | ||
| @@ -21,14 +23,17 @@ which are not blocked are still controlled by the usual permissions.{/i18n}</p> | @@ -21,14 +23,17 @@ which are not blocked are still controlled by the usual permissions.{/i18n}</p> | ||
| 21 | <tr> | 23 | <tr> |
| 22 | <td>{$oState->getName()}</td> | 24 | <td>{$oState->getName()}</td> |
| 23 | {foreach from=$actions item=oAction} | 25 | {foreach from=$actions item=oAction} |
| 26 | + {if ($oAction->getDisplayName() != '')} | ||
| 24 | {assign value=$oAction->getName() var=action_id} | 27 | {assign value=$oAction->getName() var=action_id} |
| 25 | {if $grid.$state_id.$action_id} | 28 | {if $grid.$state_id.$action_id} |
| 26 | <td class="centered"><span class="ktAction ktDenied">{i18n}Denied{/i18n}</span></td> | 29 | <td class="centered"><span class="ktAction ktDenied">{i18n}Denied{/i18n}</span></td> |
| 27 | {else} | 30 | {else} |
| 28 | <td class="centered">—</td> | 31 | <td class="centered">—</td> |
| 29 | {/if} | 32 | {/if} |
| 33 | + {/if} | ||
| 30 | {/foreach} | 34 | {/foreach} |
| 31 | </tr> | 35 | </tr> |
| 32 | {/foreach} | 36 | {/foreach} |
| 33 | </tbody> | 37 | </tbody> |
| 34 | </table> | 38 | </table> |
| 39 | +</div> |