diff --git a/org-redmine.el b/org-redmine.el index 163844b..69f8ab6 100644 --- a/org-redmine.el +++ b/org-redmine.el @@ -35,6 +35,8 @@ default is 25, maximum is 100. see http://www.redmine.org/projects/redmine/wiki/Rest_api#Collection-resources-and-pagination") +(defconst org-redmine-property-id-name "issue_id") +(defconst org-redmine-property-updated-name "updated_on") (defconst org-redmine-template-header-default "#%i% %s% :%t_n%:") (defconst org-redmine-template-%-sequences '(("%as_i%" "assigned_to" "id") @@ -274,6 +276,18 @@ Example. (org-redmine-issue-uri issue) ;; => \"http://localhost/redmine/issues/1\"" (format "%s/issues/%s" org-redmine-uri (orutil-gethash issue "id"))) +;;------------------------------ +;; org-redmine emtry function +;;------------------------------ +(defun org-redmine-entry-get-update-info () + "Get property values that necessary to issue update. + +Return cons (issue_id . updated_on)" + (let ((properties (org-entry-properties))) + (cons + (cdr (assoc org-redmine-property-id-name properties)) + (cdr (assoc org-redmine-property-updated-name properties))))) + ;;------------------------------ ;; org-redmine buffer function ;;------------------------------ @@ -301,8 +315,8 @@ Example. (nth 1 org-redmine-template-set) '())) property key value) - (org-set-property "issue_id" (int-to-string (orutil-gethash issue "id"))) - (org-set-property "updated_on" (orutil-gethash issue "updated_on")) + (org-set-property org-redmine-property-id-name (int-to-string (orutil-gethash issue "id"))) + (org-set-property org-redmine-property-updated-name (orutil-gethash issue "updated_on")) (while properties (setq property (car properties)) (org-set-property (car property) diff --git a/test/org-redmine-test.el b/test/org-redmine-test.el index 546f74b..37ce5a9 100644 --- a/test/org-redmine-test.el +++ b/test/org-redmine-test.el @@ -1,7 +1,7 @@ (require 'org-redmine) ;; setup -(require 'org-redmine-test-fixture) +(load-file "./org-redmine-test-fixture.el") ;; batch 処理の時に、message 関数が端末に出力されるのがいやだったので wrap した (when noninteractive @@ -288,4 +288,13 @@ (let ((d1 "2011/07/06 21:22:01 -0900") (d2 "2011/07/06 21:22:01 +0900")) (orutil-date-cmp d1 d2))) + + (desc "org-redmine-entry-get-update-info") + (expect '("1" . "2011/07/06 21:27:04 +0900") + (stub org-redmine-curl-get => fixture-issue-json) + (with-current-buffer (exps-tmpbuf) + (change-buffer-to 'org-mode) + (change-buffer-to 'org-mode) + (org-redmine-get-issue "1") + (org-redmine-entry-get-update-info))) ) diff --git a/test/run.sh b/test/run.sh index cca9ff0..d56dfd1 100644 --- a/test/run.sh +++ b/test/run.sh @@ -12,7 +12,6 @@ OUTPUT=aaa $EMACS -q --no-site-file --batch $OPTIONS \ -l org-redmine \ -l el-expectations \ - -l el-mock \ -f batch-expectations $OUTPUT org-redmine-test.el ret=$? cat $OUTPUT