Commit be8f7020ac61c61f0c01196cab45a10b9900c004
1 parent
4b0338e9
- cleanup checkin, delete
- make move use new form ui. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5837 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
201 additions
and
146 deletions
plugins/ktcore/KTDocumentActions.php
| ... | ... | @@ -407,69 +407,109 @@ class KTDocumentCheckInAction extends KTDocumentAction { |
| 407 | 407 | return true; |
| 408 | 408 | } |
| 409 | 409 | |
| 410 | + | |
| 411 | + function form_main() { | |
| 412 | + $oForm = new KTForm; | |
| 413 | + $oForm->setOptions(array( | |
| 414 | + 'label' => _kt("Checkin Document"), | |
| 415 | + 'action' => 'checkin', | |
| 416 | + 'fail_action' => 'main', | |
| 417 | + 'cancel_url' => KTBrowseUtil::getUrlForDocument($this->oDocument), | |
| 418 | + 'submit_label' => _kt("Checkin"), | |
| 419 | + 'context' => &$this, | |
| 420 | + 'file_upload' => true, // otherwise the post is not received. | |
| 421 | + )); | |
| 422 | + $oForm->setWidgets(array( | |
| 423 | + array('ktcore.widgets.file', array( | |
| 424 | + 'label' => _kt("File"), | |
| 425 | + 'description' => sprintf(_kt('Please specify the file you wish to upload. Unless you also indicate that you are changing its filename (see "Force Original Filename" below), this will need to be called <strong>%s</strong>'), $this->oDocument->getFilename()), | |
| 426 | + 'name' => 'file', | |
| 427 | + 'basename' => 'file', | |
| 428 | + 'required' => true, | |
| 429 | + )), | |
| 430 | + array('ktcore.widgets.reason', array( | |
| 431 | + 'label' => _kt("Reason"), | |
| 432 | + 'description' => _kt("Please specify why you are cancelling this document's checked-out status. Please bear in mind that you can use a maximum of <strong>250</strong> characters."), | |
| 433 | + 'name' => 'reason', | |
| 434 | + )), | |
| 435 | + array('ktcore.widgets.boolean',array( | |
| 436 | + 'label' => _kt('Force Original Filename'), | |
| 437 | + 'description' => sprintf(_kt('If this is checked, the uploaded document must have the same filename as the original: <strong>%s</strong>'), $this->oDocument->getFilename()), | |
| 438 | + 'name' => 'forcefilename', | |
| 439 | + 'value' => true, | |
| 440 | + )), | |
| 441 | + )); | |
| 442 | + $oForm->setValidators(array( | |
| 443 | + array('ktcore.validators.string', array( | |
| 444 | + 'test' => 'reason', | |
| 445 | + 'max_length' => 250, | |
| 446 | + 'output' => 'reason', | |
| 447 | + )), | |
| 448 | + array('ktcore.validators.file', array( | |
| 449 | + 'test' => 'file', | |
| 450 | + 'output' => 'file', | |
| 451 | + )), | |
| 452 | + array('ktcore.validators.boolean', array( | |
| 453 | + 'test' => 'forcefilename', | |
| 454 | + 'output' => 'forcefilename', | |
| 455 | + )), | |
| 456 | + )); | |
| 457 | + | |
| 458 | + return $oForm; | |
| 459 | + } | |
| 460 | + | |
| 461 | + | |
| 410 | 462 | function do_main() { |
| 411 | 463 | $this->oPage->setBreadcrumbDetails("checkin"); |
| 412 | 464 | $oTemplate =& $this->oValidator->validateTemplate('ktcore/action/checkin'); |
| 413 | 465 | |
| 414 | - $sReason = KTUtil::arrayGet($_REQUEST, 'reason', ""); | |
| 415 | - $checkin_fields = array(); | |
| 416 | - $checkin_fields[] = new KTFileUploadWidget(_kt('File'), _kt('The updated document.'), 'file', "", $this->oPage, true); | |
| 417 | - $checkin_fields[] = new KTStringWidget(_kt('Reason'), _kt('Describe the changes made to the document.'), 'reason', $sReason, $this->oPage, true); | |
| 418 | - $checkin_fields[] = new KTCheckboxWidget(_kt('Force Original Filename'), _kt('If this is checked, the uploaded document must have the same filename as the original.'), 'forcefilename', '1', $this->oPage, true); | |
| 466 | + $oForm = $this->form_main(); | |
| 419 | 467 | |
| 420 | 468 | $oTemplate->setData(array( |
| 421 | 469 | 'context' => &$this, |
| 422 | - 'checkin_fields' => $checkin_fields, | |
| 470 | + 'form' => $oForm, | |
| 423 | 471 | )); |
| 424 | 472 | return $oTemplate->render(); |
| 425 | 473 | } |
| 426 | 474 | |
| 427 | 475 | function do_checkin() { |
| 428 | - $sReason = KTUtil::arrayGet($_REQUEST, 'reason'); | |
| 429 | - $aOptions = array( | |
| 430 | - 'message' => _kt('You must supply a reason.'), | |
| 431 | - 'redirect_to' => array('main', sprintf('fDocumentId=%d', $this->oDocument->getId())), | |
| 432 | - ); | |
| 433 | - $sReason = $this->oValidator->notEmpty($sReason, $aOptions); | |
| 434 | - | |
| 435 | - $bForceFilename = KTUtil::arrayGet($_REQUEST, 'forcefilename'); | |
| 436 | - | |
| 437 | - // make sure the user actually selected a file first | |
| 438 | - if (strlen($_FILES['file']['name']) == 0) { | |
| 439 | - $this->errorRedirectToMain(_kt("No file was uploaded"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); | |
| 476 | + $oForm = $this->form_main(); | |
| 477 | + $res = $oForm->validate(); | |
| 478 | + $data = $res['results']; | |
| 479 | + | |
| 480 | + $extra_errors = array(); | |
| 481 | + | |
| 482 | + if ($data['forcefilename'] && ($data['file']['name'] != $this->oDocument->getFilename())) { | |
| 483 | + $extra_errors['file'] = sprintf(_kt('The file you uploaded was not called "%s". If you wish to change the filename, please set "Force Original Filename" below to false. '), $this->oDocument->getFilename()); | |
| 440 | 484 | } |
| 485 | + | |
| 486 | + if (!empty($res['errors']) || !empty($extra_errors)) { | |
| 487 | + return $oForm->handleError(null, $extra_errors); | |
| 488 | + } | |
| 489 | + | |
| 490 | + $sReason = $data['reason']; | |
| 491 | + | |
| 492 | + $sCurrentFilename = $this->oDocument->getFileName(); | |
| 493 | + $sNewFilename = $data['file']['name']; | |
| 441 | 494 | |
| 442 | - // and that the filename matches | |
| 443 | - global $default; | |
| 444 | - | |
| 445 | - $sCurrentFilename = $this->oDocument->getFileName(); | |
| 446 | - $sNewFilename = $_FILES['file']['name']; | |
| 447 | - | |
| 448 | - $default->log->info("checkInDocumentBL.php uploaded filename=" . $sNewFilename . "; current filename=" . $sCurrentFilename); | |
| 449 | - | |
| 450 | - | |
| 451 | - $aOptions = array(); | |
| 452 | - | |
| 453 | - if ($this->oDocument->getFileName() != $_FILES['file']['name']) { | |
| 454 | - if($bForceFilename) { | |
| 455 | - $this->errorRedirectToMain(_kt("The file name of the uploaded file does not match the file name of the document in the system"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); | |
| 456 | - } else { | |
| 457 | - $aOptions['newfilename'] = $sNewFilename; | |
| 458 | - } | |
| 459 | - } | |
| 460 | - | |
| 495 | + $aOptions = array(); | |
| 461 | 496 | |
| 462 | - $res = KTDocumentUtil::checkin($this->oDocument, $_FILES['file']['tmp_name'], $sReason, $this->oUser, $aOptions); | |
| 497 | + if ($sCurrentFilename != $sNewFilename) { | |
| 498 | + $aOptions['newfilename'] = $sNewFilename; | |
| 499 | + } | |
| 500 | + | |
| 501 | + $res = KTDocumentUtil::checkin($this->oDocument, $data['file']['tmp_name'], $sReason, $this->oUser, $aOptions); | |
| 463 | 502 | if (PEAR::isError($res)) { |
| 464 | 503 | $this->errorRedirectToMain(_kt("An error occurred while trying to check in the document"), 'fDocumentId=' . $this->oDocument->getId() . '&reason=' . $sReason); |
| 465 | 504 | } |
| 466 | - redirect("$default->rootUrl/control.php?action=viewDocument&fDocumentID=" . $this->oDocument->getID()); | |
| 505 | + redirect(KTBrowseUtil::getUrlForDocument($this->oDocument)); | |
| 506 | + exit(0); | |
| 467 | 507 | } |
| 468 | 508 | } |
| 469 | 509 | // }}} |
| 470 | 510 | |
| 471 | 511 | |
| 472 | -// {{{ KTDocumentCheckInAction | |
| 512 | +// {{{ KTDocumentCancelCheckOutAction | |
| 473 | 513 | class KTDocumentCancelCheckOutAction extends KTDocumentAction { |
| 474 | 514 | var $sName = 'ktcore.actions.document.cancelcheckout'; |
| 475 | 515 | |
| ... | ... | @@ -490,7 +530,7 @@ class KTDocumentCancelCheckOutAction extends KTDocumentAction { |
| 490 | 530 | if (KTBrowseUtil::inAdminMode($this->oUser, $oFolder)) { |
| 491 | 531 | $this->bAdminMode = true; |
| 492 | 532 | return parent::getInfo(); |
| 493 | - } | |
| 533 | + } | |
| 494 | 534 | } else if ($this->bInAdminMode == true) { |
| 495 | 535 | return parent::getInfo(); |
| 496 | 536 | } |
| ... | ... | @@ -500,8 +540,6 @@ class KTDocumentCancelCheckOutAction extends KTDocumentAction { |
| 500 | 540 | return parent::getInfo(); |
| 501 | 541 | } |
| 502 | 542 | |
| 503 | - | |
| 504 | - | |
| 505 | 543 | function check() { |
| 506 | 544 | $res = parent::check(); |
| 507 | 545 | |
| ... | ... | @@ -519,7 +557,7 @@ class KTDocumentCancelCheckOutAction extends KTDocumentAction { |
| 519 | 557 | if (KTBrowseUtil::inAdminMode($this->oUser, $oFolder)) { |
| 520 | 558 | $this->bAdminMode = true; |
| 521 | 559 | return true; |
| 522 | - } | |
| 560 | + } | |
| 523 | 561 | } else if ($this->bInAdminMode == true) { |
| 524 | 562 | return true; |
| 525 | 563 | } |
| ... | ... | @@ -637,35 +675,66 @@ class KTDocumentDeleteAction extends KTDocumentAction { |
| 637 | 675 | return true; |
| 638 | 676 | } |
| 639 | 677 | |
| 678 | + | |
| 679 | + function form_main() { | |
| 680 | + $oForm = new KTForm; | |
| 681 | + $oForm->setOptions(array( | |
| 682 | + 'label' => _kt("Delete Document"), | |
| 683 | + 'action' => 'delete', | |
| 684 | + 'fail_action' => 'main', | |
| 685 | + 'cancel_url' => KTBrowseUtil::getUrlForDocument($this->oDocument), | |
| 686 | + 'submit_label' => _kt("Delete Document"), | |
| 687 | + 'context' => &$this, | |
| 688 | + )); | |
| 689 | + $oForm->setWidgets(array( | |
| 690 | + array('ktcore.widgets.reason', array( | |
| 691 | + 'label' => _kt("Reason"), | |
| 692 | + 'description' => _kt("Please specify why you are deleting this document. Please bear in mind that you can use a maximum of <strong>250</strong> characters."), | |
| 693 | + 'name' => 'reason', | |
| 694 | + )), | |
| 695 | + )); | |
| 696 | + $oForm->setValidators(array( | |
| 697 | + array('ktcore.validators.string', array( | |
| 698 | + 'test' => 'reason', | |
| 699 | + 'max_length' => 250, | |
| 700 | + 'output' => 'reason', | |
| 701 | + )), | |
| 702 | + )); | |
| 703 | + | |
| 704 | + return $oForm; | |
| 705 | + } | |
| 706 | + | |
| 640 | 707 | function do_main() { |
| 641 | - $this->oPage->setBreadcrumbDetails("delete"); | |
| 708 | + $this->oPage->setBreadcrumbDetails("Delete"); | |
| 642 | 709 | $oTemplate =& $this->oValidator->validateTemplate('ktcore/action/delete'); |
| 643 | - $delete_fields = array(); | |
| 644 | - $delete_fields[] = new KTStringWidget(_kt('Reason'), _kt('The reason for this document to be removed.'), 'reason', "", $this->oPage, true); | |
| 710 | + | |
| 711 | + $oForm = $this->form_main(); | |
| 645 | 712 | |
| 646 | 713 | $oTemplate->setData(array( |
| 647 | 714 | 'context' => &$this, |
| 648 | - 'delete_fields' => $delete_fields, | |
| 715 | + 'form' => $oForm, | |
| 649 | 716 | )); |
| 650 | 717 | return $oTemplate->render(); |
| 651 | 718 | } |
| 652 | 719 | |
| 653 | 720 | function do_delete() { |
| 654 | - global $default; | |
| 655 | - $sReason = KTUtil::arrayGet($_REQUEST, 'reason'); | |
| 656 | - $this->oValidator->validateString($sReason, | |
| 657 | - array('redirect_to' => array('', sprintf('fDocumentId=%d', $this->oDocument->getId())))); | |
| 721 | + $oForm = $this->form_main(); | |
| 722 | + $res = $oForm->validate(); | |
| 723 | + $data = $res['results']; | |
| 724 | + if (!empty($res['errors'])) { | |
| 725 | + return $oForm->handleError(); | |
| 726 | + } | |
| 727 | + | |
| 728 | + $sReason = $data['reason']; | |
| 658 | 729 | |
| 659 | 730 | $fFolderId = $this->oDocument->getFolderId(); |
| 660 | 731 | $res = KTDocumentUtil::delete($this->oDocument, $sReason); |
| 661 | 732 | if (PEAR::isError($res)) { |
| 662 | - $_SESSION['KTErrorMessage'][] = $res->getMessage(); | |
| 663 | - controllerRedirect('viewDocument',sprintf('fDocumentId=%d', $this->oDocument->getId())); | |
| 664 | - } else { | |
| 665 | - $_SESSION['KTInfoMessage'][] = sprintf(_kt('Document "%s" Deleted.'),$this->oDocument->getName()); | |
| 666 | - } | |
| 667 | - | |
| 668 | - | |
| 733 | + $this->errorRedirectToMain(sprintf(_kt("Unexpected failure deleting document: %s"), $res->getMessage())); | |
| 734 | + } | |
| 735 | + | |
| 736 | + $_SESSION['KTInfoMessage'][] = sprintf(_kt('Document "%s" Deleted.'),$this->oDocument->getName()); | |
| 737 | + | |
| 669 | 738 | controllerRedirect('browse', 'fFolderId=' . $fFolderId); |
| 670 | 739 | exit(0); |
| 671 | 740 | } |
| ... | ... | @@ -711,6 +780,7 @@ class KTDocumentMoveAction extends KTDocumentAction { |
| 711 | 780 | controllerRedirect('viewDocument', 'fDocumentId=' . $this->oDocument->getId()); |
| 712 | 781 | exit(0); |
| 713 | 782 | } |
| 783 | + $this->persistParams(array('fFolderId')); | |
| 714 | 784 | $iFolderId = KTUtil::arrayGet($_REQUEST, 'fFolderId', $this->oDocument->getFolderId()); |
| 715 | 785 | $this->oFolder = $this->oValidator->validateFolder($iFolderId); |
| 716 | 786 | $this->oDocumentFolder = $this->oValidator->validateFolder($this->oDocument->getFolderId()); |
| ... | ... | @@ -770,43 +840,71 @@ class KTDocumentMoveAction extends KTDocumentAction { |
| 770 | 840 | return $oTemplate->render(); |
| 771 | 841 | } |
| 772 | 842 | |
| 843 | + function form_move() { | |
| 844 | + $oForm = new KTForm; | |
| 845 | + $oForm->setOptions(array( | |
| 846 | + 'label' => _kt("Move Document"), | |
| 847 | + 'action' => 'move_final', | |
| 848 | + 'fail_action' => 'move', | |
| 849 | + 'cancel_url' => KTBrowseUtil::getUrlForDocument($this->oDocument), | |
| 850 | + 'submit_label' => _kt("Move Document"), | |
| 851 | + 'context' => &$this, | |
| 852 | + )); | |
| 853 | + $oForm->setWidgets(array( | |
| 854 | + array('ktcore.widgets.reason', array( | |
| 855 | + 'label' => _kt("Reason"), | |
| 856 | + 'description' => _kt("Please specify why you are moving this document. Please bear in mind that you can use a maximum of <strong>250</strong> characters."), | |
| 857 | + 'name' => 'reason', | |
| 858 | + )), | |
| 859 | + )); | |
| 860 | + $oForm->setValidators(array( | |
| 861 | + array('ktcore.validators.string', array( | |
| 862 | + 'test' => 'reason', | |
| 863 | + 'max_length' => 250, | |
| 864 | + 'output' => 'reason', | |
| 865 | + )), | |
| 866 | + )); | |
| 867 | + | |
| 868 | + return $oForm; | |
| 869 | + } | |
| 870 | + | |
| 773 | 871 | function do_move() { |
| 774 | - $this->oPage->setBreadcrumbDetails(_kt("move")); | |
| 872 | + $this->persistParams(array('fFolderId')); | |
| 873 | + | |
| 874 | + $this->oPage->setBreadcrumbDetails(_kt("Move")); | |
| 775 | 875 | $oTemplate =& $this->oValidator->validateTemplate('ktcore/action/move_final'); |
| 776 | 876 | |
| 777 | - if($this->oDocument->getFolderId() === $this->oFolder->getId()) { | |
| 778 | - $this->errorRedirectTo('main', _kt("The document was already in this folder"), sprintf("fDocumentId=%d&fFolderId=%d", $this->oDocument->getId(), $this->oFolder->getId())); | |
| 779 | - exit(0); | |
| 780 | - } | |
| 781 | - | |
| 782 | - | |
| 783 | - $sFolderPath = join(" » ", $this->oFolder->getPathArray()); | |
| 784 | - $aNames = $this->oDocumentFolder->getPathArray(); | |
| 785 | - $aNames[] = $this->oDocument->getName(); | |
| 786 | - $sDocumentName = join(" » ", $aNames); | |
| 787 | - | |
| 788 | - $move_fields = array(); | |
| 789 | - $move_fields[] = new KTStaticTextWidget(_kt('Document to move'), '', 'fDocumentId', $sDocumentName, $this->oPage, false); | |
| 790 | - $move_fields[] = new KTStaticTextWidget(_kt('Target folder'), '', 'fFolderId', $sFolderPath, $this->oPage, false); | |
| 791 | - $move_fields[] = new KTStringWidget(_kt('Reason'), _kt('The reason for this document to be moved.'), 'reason', "", $this->oPage, true); | |
| 877 | + if($this->oDocument->getFolderId() === $this->oFolder->getId()) { | |
| 878 | + $this->errorRedirectTo('main', _kt("The document was already in this folder"), sprintf("fDocumentId=%d&fFolderId=%d", $this->oDocument->getId(), $this->oFolder->getId())); | |
| 879 | + exit(0); | |
| 880 | + } | |
| 881 | + | |
| 882 | + $oForm = $this->form_move(); | |
| 883 | + | |
| 884 | + //$sFolderPath = join(" » ", $this->oFolder->getPathArray()); | |
| 885 | + //$aNames = $this->oDocumentFolder->getPathArray(); | |
| 886 | + //$aNames[] = $this->oDocument->getName(); | |
| 887 | + //$sDocumentName = join(" » ", $aNames); | |
| 792 | 888 | |
| 793 | 889 | $oTemplate->setData(array( |
| 794 | 890 | 'context' => &$this, |
| 795 | - 'move_fields' => $move_fields, | |
| 891 | + 'form' => $oForm, | |
| 796 | 892 | )); |
| 797 | 893 | return $oTemplate->render(); |
| 798 | 894 | } |
| 799 | 895 | |
| 800 | 896 | function do_move_final() { |
| 801 | - $sReason = KTUtil::arrayGet($_REQUEST, 'reason'); | |
| 802 | - $aOptions = array( | |
| 803 | - 'message' => _kt("No reason given"), | |
| 804 | - 'redirect_to' => array('move', sprintf('fDocumentId=%d&fFolderId=%d', $this->oDocument->getId(), $this->oFolder->getId())), | |
| 805 | - ); | |
| 806 | - $this->oValidator->notEmpty($sReason, $aOptions); | |
| 897 | + $oForm = $this->form_move(); | |
| 898 | + $res = $oForm->validate(); | |
| 899 | + $data = $res['results']; | |
| 900 | + if (!empty($res['errors'])) { | |
| 901 | + return $oForm->handleError(); | |
| 902 | + } | |
| 903 | + | |
| 904 | + $sReason = $data['reason']; | |
| 807 | 905 | |
| 808 | 906 | if (!Permission::userHasFolderWritePermission($this->oFolder)) { |
| 809 | - $this->errorRedirectTo("main", _kt("You do not have permission to move a document to this location"), sprintf("fDocumentId=%d&fFolderId=%d", $this->oDocument->getId(), $this->oFolder->getId())); | |
| 907 | + $this->errorRedirectToMain(_kt("You do not have permission to move a document to this location")); | |
| 810 | 908 | exit(0); |
| 811 | 909 | } |
| 812 | 910 | |
| ... | ... | @@ -823,19 +921,22 @@ class KTDocumentMoveAction extends KTDocumentAction { |
| 823 | 921 | |
| 824 | 922 | //put the document in the new folder |
| 825 | 923 | $this->oDocument->setFolderID($this->oFolder->getId()); |
| 826 | - if (!$this->oDocument->update(true)) { | |
| 827 | - $this->errorRedirectTo("main", _kt("There was a problem updating the document's location in the database"), sprintf("fDocumentId=%d&fFolderId=%d", $this->oDocument->getId(), $this->oFolder->getId())); | |
| 924 | + $res = $this->oDocument->update(); | |
| 925 | + if (PEAR::isError($res) || ($res === false)) { | |
| 926 | + $this->errorRedirectToMain(_kt("There was a problem updating the document's location in the database")); | |
| 828 | 927 | } |
| 829 | 928 | |
| 830 | 929 | |
| 831 | 930 | //move the document on the file system |
| 832 | 931 | $oStorage =& KTStorageManagerUtil::getSingleton(); |
| 833 | - if (!$oStorage->moveDocument($this->oDocument, $this->oDocumentFolder, $this->oFolder)) { | |
| 834 | - $this->oDocument->setFolderID($this->oDocumentFolder->getId()); | |
| 835 | - $this->oDocument->update(true); | |
| 836 | - $this->errorRedirectTo("move", _kt("There was a problem updating the document's location in the repository storage"), sprintf("fDocumentId=%d&fFolderId=%d", $this->oDocument->getId(), $this->oFolder->getId())); | |
| 932 | + $res = $oStorage->moveDocument($this->oDocument, $this->oDocumentFolder, $this->oFolder); | |
| 933 | + if (PEAR::isError($res) || ($res === false)) { | |
| 934 | + $this->oDocument->setFolderID($oOriginalFolder->getId()); | |
| 935 | + $this->oDocument->update(); | |
| 936 | + $this->errorRedirectToMain(_kt("There was a problem updating the document's location in the repository storage")); | |
| 837 | 937 | } |
| 838 | 938 | |
| 939 | + | |
| 839 | 940 | $sMoveMessage = sprintf("Moved from %s/%s to %s/%s: %s", |
| 840 | 941 | $this->oDocumentFolder->getFullPath(), |
| 841 | 942 | $this->oDocumentFolder->getName(), |
| ... | ... | @@ -868,7 +969,7 @@ class KTDocumentMoveAction extends KTDocumentAction { |
| 868 | 969 | } |
| 869 | 970 | } |
| 870 | 971 | |
| 871 | - controllerRedirect('viewDocument', 'fDocumentId=' . $this->oDocument->getId()); | |
| 972 | + redirect(KTBrowseUtil::getUrlForDocument($this->oDocument)); | |
| 872 | 973 | exit(0); |
| 873 | 974 | } |
| 874 | 975 | } | ... | ... |
templates/ktcore/action/checkin.smarty
| 1 | +<h2>{i18n arg_docname=$context->oDocument->getName()}Checkin Document: #docname#{/i18n}</h2> | |
| 2 | + | |
| 1 | 3 | <p class="descriptiveText">{i18n}Checking in a document updates the document |
| 2 | 4 | and allows others to make changes to the document and its metadata.{/i18n}</p> |
| 3 | 5 | |
| 4 | -{assign var=iDocumentId value=$context->oDocument->getId()} | |
| 5 | 6 | <p class="descriptiveText">{i18n}If you do not |
| 6 | 7 | intend to change the document, or you do not wish to prevent others from |
| 7 | 8 | changing the document, you should rather use the action menu to <strong>cancel this checkout</strong>.{/i18n}</p> |
| 8 | 9 | |
| 9 | -<form method="POST" action="{$smarty.server.PHP_SELF}" enctype="multipart/form-data"> | |
| 10 | -<fieldset><legend>{i18n}Checkin{/i18n}</legend> | |
| 11 | -<input type="hidden" name="action" value="checkin" /> | |
| 12 | -<input type="hidden" name="fDocumentId" value="{$iDocumentId}" /> | |
| 13 | -{foreach from=$checkin_fields item=oWidget } | |
| 14 | - {$oWidget->render()} | |
| 15 | -{/foreach} | |
| 16 | -<div class="form_actions"> | |
| 17 | -<input type="submit" name="submit" value="{i18n}Checkin{/i18n}" /> | |
| 18 | -</div> | |
| 19 | -</fieldset> | |
| 20 | -</form> | |
| 10 | +{$form->render()} | ... | ... |
templates/ktcore/action/delete.smarty
| 1 | +<h2>{i18n arg_docname=$context->oDocument->getName()}Delete Document: #docname#{/i18n}</h2> | |
| 2 | + | |
| 1 | 3 | <p class="descriptiveText">{i18n}Deleting a document marks it as no longer |
| 2 | 4 | being displayed. The document management system does not remove the |
| 3 | 5 | document entirely, and it can be restored at a later stage.{/i18n}</p> |
| 4 | 6 | |
| 5 | -{assign var=iDocumentId value=$context->oDocument->getId()} | |
| 6 | -{capture assign=link} | |
| 7 | -{"viewDocument"|generateControllerUrl:"fDocumentId=$iDocumentId"} | |
| 8 | -{/capture} | |
| 9 | -<p class="descriptiveText">{i18n arg_link=$link}If you do not intend to delete this document, you should | |
| 10 | -<a href="#link#">cancel the deletion</a>.{/i18n}</p> | |
| 11 | - | |
| 12 | -<form method="POST" action="{$smarty.server.PHP_SELF}"> | |
| 13 | -<fieldset><legend>{i18n}Delete{/i18n}</legend> | |
| 14 | -<input type="hidden" name="action" value="delete" /> | |
| 15 | -<input type="hidden" name="fDocumentId" value="{$iDocumentId}" /> | |
| 16 | -{foreach from=$delete_fields item=oWidget } | |
| 17 | - {$oWidget->render()} | |
| 18 | -{/foreach} | |
| 19 | -<div class="form_actions"> | |
| 20 | -<input type="submit" name="submit" value="{i18n}Delete{/i18n}" /> | |
| 21 | -</div> | |
| 22 | -</fieldset> | |
| 23 | -</form> | |
| 7 | +{$form->render()} | ... | ... |
templates/ktcore/action/move_final.smarty
| 1 | -<p class="descriptiveText">{i18n}Moving a document relocates the document | |
| 2 | -within the document repository.{/i18n}</p> | |
| 3 | - | |
| 4 | -{assign var=iDocumentId value=$context->oDocument->getId()} | |
| 5 | -{capture assign=link} | |
| 6 | -{"viewDocument"|generateControllerUrl:"fDocumentId=$iDocumentId"} | |
| 7 | -{/capture} | |
| 8 | -<p class="descriptiveText">{i18n arg_link=$link}If you do not intend to | |
| 9 | -move this document, you should <a href="#link#">cancel the | |
| 10 | -move</a>.{/i18n}</p> | |
| 1 | +<h2>{i18n arg_docname=$context->oDocument->getName()}Checkin Document: #docname#{/i18n}</h2> | |
| 11 | 2 | |
| 12 | -<form method="POST" action="{$smarty.server.PHP_SELF}"> | |
| 13 | -<fieldset><legend>{i18n}Move{/i18n}</legend> | |
| 14 | -<input type="hidden" name="action" value="move_final" /> | |
| 15 | -<input type="hidden" name="fDocumentId" value="{$iDocumentId}" /> | |
| 16 | -<input type="hidden" name="fFolderId" value="{$context->oFolder->getId()}" /> | |
| 17 | -{foreach from=$move_fields item=oWidget } | |
| 18 | - {$oWidget->render()} | |
| 19 | -{/foreach} | |
| 3 | +<p class="descriptiveText">{i18n}Moving a document relocates the document | |
| 4 | +within the DMS.{/i18n}</p> | |
| 20 | 5 | |
| 21 | -<div class="form_actions"> | |
| 22 | -<input type="submit" name="submit[move]" value="{i18n}Move{/i18n}" /> | |
| 23 | -<input type="submit" name="submit[cancel]" value="{i18n}Cancel{/i18n}" /> | |
| 24 | -</div> | |
| 25 | -</fieldset> | |
| 26 | -</form> | |
| 6 | +{$form->render()} | ... | ... |