Git Product home page Git Product logo

asm3's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asm3's Issues

Publisher flag.html pages

In the same way as we create pages for animal types and species, we could create pages for animal flags. It means people could separate their courtesy listings, have a featured flag for adoption events, etc.

Pre-generate all completed treatments

If the status of a newly created regimen is completed, the system pre-gives any created treatment. Some users would find it very useful if the system pre-generated all the treatments in this scenario and gave them (the example is a user who does when giving medications to an animal in foster care).

This is more complex than it first sounds since treatments are created on demand and it means looping through until no more can be created.

Message board comments

It would be useful to allow other users to comment/reply on/to messages on the message board. For this to work, clicking a message board message would expand it in a dialog that shows replies and allows adding one.

This expansion could be done from the existing More link instead of the less toggle.

A new table would be needed for messagescomments, ID, MessageID, UserName, DateTime, Comment

Live asilomar report

Using the same subreport technique as aspca, we could make a live asilomar report. We'd only need one of them then as you could run it for any date range. It saves overnight batch processing and means we can dump the asilomar tables.

Transfer an animal to another ASM database

It would be pretty neat if we could export animal data to a file for loading into another ASM database.

We could reuse our import CSV functionality (otherwise the whole issue of what to do with lookups, ID remappings and person records is a NIGHTMARE) and have an export CSV menu item on the Settings menu.

One or more animal records are selected and passed into the export function, which spits out a CSV to the best ability of our spec. We may have to improve some bits of it (there's no medical info import so we can't export it and that's one of the more useful reasons for wanting to export and import records).

Returned by on movement

Some users would like to record the person who returned an animal as sometimes one is adopted out, the new owner gives it away or it strays and it is returned to the shelter.

Add adoption.ReturnedByOwnerID and show it in movement.js with the other return fields.

PDF margins

We can set PDF paper size and orientation, but there's no way to set the margins. Add comment tokens for margins too.

Most popular reserved animal report

One user requested a report to show shelter animals with how many reservations they have. Online forms create reservations via applications so this makes a lot of sense.

Right-align account totals

On the accounts overview screen, the totals aren't right aligned. I think this could be done in tableform - anything using tableform.format_currency should be right aligned.

Audit sliders show satellite records too

Could the audit slider on top level records show changes to satellite records that belong to them? In particular movements for people/animals would be very useful.

Auto expand sliders

For users with large monitors, the accordions are an annoyance. Could we show them expanded for large monitors or offer a user option to show them expanded?

Lost/found match area to original owner address

The system doesn't match lost area to the original owner address on the match report/data. Instead it shows "On Shelter". At least one shelter would find it helpful if it showed the original owner address as well as on shelter.

animal_view_adoptable_js

Another service call that works like animal_view, except it returns js that outputs all adoptable animals to a known target div #animalviewadoptable

It doesn't use templates and returns js that does the work.
It only supports a single image per animal, by linking to animal_image and getting a thumbnail (does it support this?)
It links to animal_view for each animal.
It allows some filtering with dropdowns based on sex, age and species
Styles are hard set in style attributes to avoid the need for separate css. However they are only ever for position and some classes will be applied to allow people to style things if they want (it's just going to be a thumbnail and name after all)
Use inline-block layout on divs just like littlebox with a target="_blank" for the animal_view links

Non-working PDF links

When generating PDFs from documents, links are not clickable. The report is for any link in a document when turned into a PDF - wkhtmltopdf seems to flatten anchor tags.

Chart axis labels

There's no way to add labels to the axis (not the tick labels, an overall X and Y label). Perhaps they could be added as comments or extra pre processor tokens in the SQL. A similar scheme could allow colours to be chosen.

Report syntax check problems

There are a few issues with the syntax checker:

  • VAR.*DATE is turned into a 0 which breaks with Postgres
  • If you have $ in a string literal '$', the checker trashes the query before testing it.

Incoming form permissions

Some shelters would find it useful to be able to apply one or more roles to an online form. The roles would prevent users without one of those roles from seeing submissions of that type of form in the incoming screen.

For example, one online form might be surrender info that staff don't want volunteers to see, and another might be adoption applications that volunteers need to process.

Requires onlineformrole table.

Vet clinic interface

An interface for users working in a shelter's clinic

Menu options:

  • Clinic (heading)
  • Clinic Calendar
  • Waiting Room
  • Consulting Room

New tables:

clinicappointment
ID
For (username)
AnimalID (optional)
OwnerID (optional)
DateTime?
Status
ArrivedDateTime?
WithVetDateTime?
CompletedDateTime?
ReasonForAppointment?
Comments
Amount
IsVAT
VatRate?
VatAmount?

clinicinvoiceitem
ID
ClinicAppointmentID
Description
Amount

Screens:

Waiting Room

large table with a filter that allows status to be chosen from dropdown
shows all appointments today, ordered by time
buttons to change status of selected appointment
timed polls to update every 30-60 seconds
statuses are: Invoice Only, Canceled, Not Arrived, Waiting, With Vet, Complete
has the receipt document and buttons of clinic tab

Vet View

lot like waiting room, but shows everyone waiting by default
button to call someone in (takes status to with vet)

Clinic Calendar

calendar view, shows clinic appointments

Clinic Tab (Person/Animal?)

allows creation of appointments, shows all appointments
has receipt document button using appointment wordkeys
has receive invoice payment button that marks an invoice paid and prompts for the payment method and type and creates a payment record

The clinic tab, vet view and waiting room could all be handled by a single screen. It's a big table with a dialog to edit the appointment. Handling of the invoice is a separate screen. Clicking an invoice button in the edit dialog of an appointment takes you to a new screen where you can add invoice items to a list. This screen also has an option to create a due payment record for the whole invoice on the person record so it can be recorded as paid later via the payment book section.

There needs to be a vat/rate tickbox on the appointment itself.

A future enhancement could be to allow invoice items to deduct from stock as drugs are given to people.

Receipt document problem

I've found a few bugs, I think, in the way you produce the receipts:

  1. I've created two payments for a animal (Bobby) made on the same
    day. When I print the receipt (animal/payments/receipt/invoice) for
    only one of the payments, the html file that is created contained both
    payments.
  2. Then I changed the payment date on the second payment and run again
    the printing of the first payment receipt, the right payment was
    written but was twice on the html file.
  3. Then I ran the receipt for the second payment, then both payments
    were written on the html file (even if I had selected only the second
    payment which was now associated with a different date than the first.
    I hope my explanations are clear enough as english isn't my first
    language.

Voucher wordkeys

It'd be nice to have wordkeys to access vouchers in the same way as medical/donations

Purchase ordering

A purchase ordering module would be really handy.

purchaseorder

ID
Name
Description
UnitName?
Quantity
Total
OrderDate?
OrderNumber?
SupplierOwnerID
ExpectedDate?
ReceivedDate?

This would allow purchases to be logged and tracked. The expecteddate could be used to drive alerts on the front screen.

We'd need a built in supplier flag and a filter for personchooser.

Adopter source

New fields:

adoption.AdoptionSourceID

lookup: adoptionsource ( ID, SourceName )
defaults: AdoptAPet.com, Facebook, Newspaper, PetFinder, Word of mouth

This allows shelters to track how the adopter of this animal found out about it. Add a new report "Adoptions by Source" similar to addresses. Needs adding to the Move->Adopt screen and Movements.js (only for trial/adoptions).

Entry history

Some shelters would like to record new intake history every time an animal comes in, while still retaining the existing history.

Add a new table animalentry

ID
AnimalID
ShelterCode
ShortCode
EntryDate
AdoptionCoordinatorID
BroughtInByOwnerID
OriginalOwnerID
EntryReasonID
AsilomarIntakeCategory
JurisdictionID
IsTransfer
AsilomarIsTransferExternal
IsPickup
PickupLocationID
PickupAddress
ReasonNO
ReasonForEntry

The details toolbar should have a button to record new entry details "New Entry" (is this better on the Entry slider itself? Try both).

Clicking it saves the existing entry fields to the animalentry table and then clears the fields ready for entry. Copy the original owner from the owner on the latest returned movement, and copy the returning person to broughtinby and returned reason to entry category.

The "New Entry" button only appears if the animal is on shelter and has at least one movement with a return on file - this is important because that movement return date is going to be shown as the current date brought in and it won't be editable (MostRecentEntryDate).

The entry date field for the newly created record either needs to be datebroughtin or the return date from the previous movement (not the current one) if one exists.

A new slider for Entry History shows the historic entries from animalentry in a read only manner, which appears if there are any entries.

Historically, everything has treated DateBroughtIn as the first time the animal ever entered the shelter. It would break far too much existing functionality and reports to change this and there's no need.

In the UI, once there is at least one entry history record, show a read-only version of MostRecentEntryDate in place of the editable DateBroughtIn. This can be set by the latest movement return date and showing this read only will force things to stay in sync as it stops people entering entry dates that differ from movement dates.

We could also put this functionality behind an option as many people do not really want or need it. "Allow multiple intake histories to be stored".

Searchable logs

There's no way to search the logs, which would be very useful for some people. If the normal search could do it, it could return a new record type of log, which links to the log tab in situ of the record where it appears.

Record emails in log

Record emails that are sent to people in their log. We should be able to use the email address as a unique identifier to find their person record. Have an option on bulk emails to attach to log that is off by default.

Extra fields on payment widget

Some people want to be able to add comments when taking a payment in the widget. This is really inconvenient as we're tight on space. Maybe an expander to drop it on the line below is the way to go. There are other fields now, such as quantity, cheque number and unit price

Auto set flags for embedded owner create

When someone creates a person record from the embedded person widget, if a filter has been assigned to the widget, that implies a particular flag that we could set automatically. For example, the adoption coordinator flag for any coordinator field, the vet flag for vets, acos, etc.

Ending medical treatments

Some users have reported confusion with ending medical treatments. In particular, if you have something like 1 treatment every 10 days and you want it to end after 3 treatments.

At the moment, you have to put in "ends after 3 days", despite the gap being 10 days. It doesn't read very well and is confusing to users. Find a better alternative. Maybe ends after should always be the total number of treatments irrespective of period.

Mailing address fields

We already have residence address fields, add optional mailing address fields to onlineform.

System option for "separate residence and mailing addresses" (off by default)
MailingOwnerAddress, MailingOwnerTown, MailingOwnerCounty, MailingOwnerPostcode
Wordkeys to access them
onlineform fields to store data in them
Include them in searches 

This was raised by a customer in Guam, where most people cannot receive mail at their residential address and instead have to rent a po box.

IE internal server error on validation

One user was complaining that they saw Internal Server Error when trying to view an animal outside their location filter from find animal results. They were using IE11 and not seeing the validation message. This could possibly be happening with newer versions of Chrome.

Charting bugs

sh0628 has reported a few bugs, see their example chart "CATS All Adoptions by Month".

bar chart: bars overlap rather than stand side by side (you already know).

selecting type LINE chart for my report, which was previously BAR chart, reverts to BAR chart the next time i look at it.

the LINE chart is hopelessly screwed up. always possible something wrong in my minimal code but doubtful since bar seems to work.

i added an ORDER BY theyear, themonth at the end and it seems to do nothing to order the years enumeration. this could very well be because i am not sure what is going on (this is very high level - details a mystery) however, there is a definite glitch in the line plotting.

in the bar chart, if the datapoint is (x,0), the bar chart correctly does not show any data for that month, ie 0. in the line chart using the same data, the line should dip to 0 and then on up to the next month. if you look at the dataset with view page source, it does not even plot the (x,0) case and connects the neighboring datapoints. (the bar chart gets away with it by its nature)

Log email of media

As subject. When emailing media from the media tab, there should be an entry in the log made to show who sent the email, the recipient of the email, the media file sent and any message,

Second microchip field

Quite a few shelters it seems accidentally double-chip animals. Have a second pair of fields that appear below the first two to the right of the identichipped box:

box date number [mfr]

date number [mfr]

animal.IdentichipNumber2 and animal.IdentichipDate2

Include these fields in simple and advanced find animal searches.

Update get_microchip_data to find all rows in the results with populated identichipnumber2 and clone them, copying identichipnumber/date2 to the first so no change to the registration code is needed.

More callouts

Now that the callout widget is with us, find more appropriate places for its use.

Suggestions:

  • View/Edit roles on reports and accounts
  • Settings-Options has various ones
  • Set Publishing Options also has a few
  • Waiting List Removal

Declining weight alert

Add new fields - animal.Weight1 and animal.Weight2, which store the previous two values of the weight field (for a total of 3 quick to read samples).

When Weight1 is non-null and lower than Weight, show an alert for "X animals are losing weight" on the front screen - needs matching search.

Only show declawed and FIV/L for cats

Do we still have a configured cats species under defaults? If so, use it to determine whether or not to hide the FIV/L and declawed fields. Similarly, heartworm only applies to dogs.

Voucher book

Similar to the payment book, it would be good to have a voucher book under the Financial menu along with a "new voucher" quicklink.

Like licenses, it could filter by recent issued and expires soon.

It might be good to have a presented date as well so that vouchers can be marked used?

Also, an optional animal link would be desired.

... and a user editable voucher code that defaults to an 8 digit padded version of the ID

Autocomplete batch number, manufacturer, expiry date and cost

When the user types in the vaccination batch number field, it should autocomplete against a list of unexpired batch numbers from the database. The list is shown as:

batch: manufacturer (expiry)

choosing an item completes those fields on the record.

Notify when email signatures received

Special HTML comment could be used to specify the notify email address in the document template so that when the document is signed, the system could look for one of those and notify that address. Otherwise, it falls back to a global setting for notify email under Settings->Documents

Upgrade fullcalendar.js

It has a new listMonth mode that is quite good. In fact, this may have already been available in the older version we're using, investigate.

Altering vet

Many users would like to record the vet that neutered/spayed an animal. This would be another vet field on the health and identification slider with the vet filter applied.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.