diff --git a/tailbone/templates/custorders/create.mako b/tailbone/templates/custorders/create.mako
index c342e318..2e89783c 100644
--- a/tailbone/templates/custorders/create.mako
+++ b/tailbone/templates/custorders/create.mako
@@ -139,8 +139,9 @@
- Refresh
+ icon-left="redo"
+ :disabled="refreshingContact">
+ {{ refreshingContact ? "Refreshig" : "Refresh" }}
@@ -362,18 +363,26 @@
- {{ newCustomerFirstName }}
+
+ {{ newCustomerFirstName }}
+
- {{ newCustomerLastName }}
+
+ {{ newCustomerLastName }}
+
- {{ newCustomerPhone }}
+
+ {{ newCustomerPhone }}
+
- {{ newCustomerEmail }}
+
+ {{ newCustomerEmail }}
+
@@ -680,6 +689,7 @@
contactDisplay: ${json.dumps(contact_display)|n},
customerEntry: null,
contactProfileURL: ${json.dumps(contact_profile_url)|n},
+ refreshingContact: false,
orderPhoneNumber: ${json.dumps(batch.phone_number)|n},
contactPhones: ${json.dumps(contact_phones)|n},
@@ -930,13 +940,20 @@
contactIsKnown: function(val) {
+ // when user clicks "contact is known" then we want to
+ // set focus to the autocomplete component
+ if (val) {
+ this.$nextTick(() => {
+ this.$refs.contactAutocomplete.focus()
+ })
+
// if user has already specified a proper contact,
// i.e. `contactUUID` is not null, *and* user has
// clicked the "contact is not yet in the system"
// button, i.e. `val` is false, then we want to *clear
// out* the existing contact selection. this is
// primarily to avoid any ambiguity.
- if (this.contactUUID && !val) {
+ } else if (this.contactUUID) {
this.$refs.contactAutocomplete.clearSelection()
}
},
@@ -1039,7 +1056,7 @@
})
},
- contactChanged(uuid) {
+ contactChanged(uuid, callback) {
let params
if (!uuid) {
params = {
@@ -1067,11 +1084,22 @@
that.contactPhones = response.data.contact_phones
that.contactEmails = response.data.contact_emails
that.contactNotes = response.data.contact_notes
+ if (callback) {
+ callback()
+ }
})
},
refreshContact() {
- this.contactChanged(this.contactUUID)
+ this.refreshingContact = true
+ this.contactChanged(this.contactUUID, () => {
+ this.refreshingContact = false
+ this.$buefy.toast.open({
+ message: "Contact info has been refreshed.",
+ type: 'is-success',
+ duration: 3000, // 3 seconds
+ })
+ })
},
% if allow_contact_info_choice:
diff --git a/tailbone/views/customers.py b/tailbone/views/customers.py
index 65618c1a..d29d69f2 100644
--- a/tailbone/views/customers.py
+++ b/tailbone/views/customers.py
@@ -490,6 +490,8 @@ class PendingCustomerView(MasterView):
'address_zipcode',
'address_type',
'status_code',
+ 'created',
+ 'user',
]
def configure_grid(self, g):
@@ -506,6 +508,8 @@ class PendingCustomerView(MasterView):
f.set_enum('status_code', self.enum.PENDING_CUSTOMER_STATUS)
+ f.set_renderer('user', self.render_user)
+
# # TODO: this is referenced by some custom apps, but should be moved??
# def unique_id(value, field):
diff --git a/tailbone/views/custorders/batch.py b/tailbone/views/custorders/batch.py
index d70e5e77..ccbf492e 100644
--- a/tailbone/views/custorders/batch.py
+++ b/tailbone/views/custorders/batch.py
@@ -63,6 +63,7 @@ class CustomerOrderBatchView(BatchMasterView):
'customer',
'person',
'pending_customer',
+ 'contact_name',
'phone_number',
'email_address',
'params',