[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ebdb c4ea244 021/350: Add new ebdb-field-id field
From: |
Eric Abrahamsen |
Subject: |
[elpa] externals/ebdb c4ea244 021/350: Add new ebdb-field-id field |
Date: |
Mon, 14 Aug 2017 11:45:55 -0400 (EDT) |
branch: externals/ebdb
commit c4ea244879931717dcb24d75521ff9c29e6f9f07
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>
Add new ebdb-field-id field
* ebdb.el (ebdb-field-id): Inherits ebdb-field-obfuscated, so won't
display in the *EBDB* buffer. Inherits ebdb-field-labeled.
(ebdb-id-label-list): Label list for field instances.
---
ebdb.el | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/ebdb.el b/ebdb.el
index b8c1d60..cf68f60 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -1451,6 +1451,32 @@ override parsing."
(calendar-gregorian-from-absolute (slot-value ann 'date))
nil t))
+;;; Id field
+
+;; Used for recording an ID or tax id number. Ie, national
+;; identification numbers, SSNs, TINs, UTRs, and so on.
+
+(defvar ebdb-id-label-list '("SSN" "TIN" "ID" "UTR")
+ "List of known ID labels.")
+
+(defclass ebdb-field-id (ebdb-field-labeled ebdb-field-obfuscated
ebdb-field-user)
+ ((label-list :initform ebdb-id-label-list)
+ (id-number
+ :type string
+ :custom string
+ :initarg :id-number
+ :initform ""
+ :documentation "The ID number itself."))
+ :human-readable "id number")
+
+(cl-defmethod ebdb-read ((class (subclass ebdb-field-id)) &optional slots obj)
+ (let ((id-number (ebdb-read-string "ID number: "
+ (when obj (slot-value obj 'id-number)))))
+ (cl-call-next-method class (plist-put slots :id-number id-number) obj)))
+
+(cl-defmethod ebdb-string ((field ebdb-field-id))
+ (slot-value field 'id-number))
+
;;; Relationship field
;; This is a bit different from the organization role field, mostly
- [elpa] externals/ebdb 849159d 008/350: Add ebdb-search-database, (continued)
- [elpa] externals/ebdb 849159d 008/350: Add ebdb-search-database, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 406b700 011/350: Change keybindings of record/field copy commands, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb baa9636 005/350: Complement ebdb-create-record with ebdb-create-record-extended, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 7b8b00f 013/350: Remap binding of ebdb in *EBDB* buffers, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 4ded2cb 007/350: Be more careful about text props in record headers, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb e760dad 006/350: Fix quoting bug in ebdb-fmt-record-header, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb e0b4d17 016/350: Provide keybindings for clone-buffer and rename-buffer, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 696d6ba 018/350: Document buffer manipulation commands in the manual, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 4633492 023/350: Improve ebdb-field-user docstring, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb ece1a35 017/350: Stray "arg" arg left in create-record-extended, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb c4ea244 021/350: Add new ebdb-field-id field,
Eric Abrahamsen <=
- [elpa] externals/ebdb 5fe2bf6 020/350: Add ebdb-field-obfuscated abstract field class, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 4b8ce76 024/350: Move point to next record when adding a mark, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 20f1ea2 025/350: Add command to unmark all records, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 9a2fd46 022/350: Merge branch 'master' into buff, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 16cdf2c 028/350: Provide protection for relations to unloaded records, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 50f39b6 031/350: Forgot about rmail, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb b0778d6 033/350: Make ebdb-display-records non-interactive, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 1ee7829 012/350: Don't auto-save unsynced databases, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb ac0b822 010/350: Switch to using kbd macro in keymap def, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 9edb0c0 015/350: Sort out catch-all version of ebdb-make-buffer-name, Eric Abrahamsen, 2017/08/14