Code Monkey home page Code Monkey logo

utilities_forms's People

Contributors

inghamn avatar bstjohn1 avatar quarterback avatar charlesbrandt avatar

Watchers

 avatar James Cloos avatar Rick Dietz avatar  avatar  avatar Eric Wayne Key avatar  avatar  avatar

Forkers

madmanlabs

utilities_forms's Issues

Drop encryption from the confirmation number counter

Would it be reasonable to drop the encryption for the confirmation number counter? The file is outside of the web directory now.

This is the only thing that's being encrypted, and it only contains an integer counter. Confirmation numbers consist of this integer, plus a randon 4 digit number.

I'm supposing we don't want the Confirmation Number to be guessable. Does OnBase stipulate any requirements for the Confirmation Number? Or, is it only ever used in the web forms, and OnBase just saves the posted Confirmation Number (whatever it is) as a key?

Prevent CSS and JS caching

When we push a release to production, users report problems that are related to the old version of javascript code. Because the CSS and Javascript filenames never change, the browsers hold onto their cached versions.

It is difficult to explain to each and ever citizen how to clear their cache when we push a new release. We should add a build step that appends a version number onto the CSS and JS files. That way, when we release a new version, the filenames will be different, and people will not be using a cached version.

Update to work with new Master Address web services

A new version of Master Address is almost ready to launch. It includes a major rewrite of the web services, which are not backwards compatilible. We'll need to update the addressChooser to work with the new Master Address web services.

One big change is that the subunits will no longer be included in an address search. You will need to do a seperate web service call to see if there are subunits at an address.

OnBase not cleaning up html files

The import process for OnBase is leaving behind HTML files.

All the other files (dips and images) look like they are being cleaned up correctly.

Telephone numbers are not returned by Get_Mapped_Name

On individual customer contracts, the Telephone_Number field used in the web form is not getting mapped correctly by Get_Mapped_Name. The function returns NULL when you ask it to map that field.

I think this results in the Telephone_Number not being submitted to OnBase.

Filenames from users are a security vulnerability

Currently, way file extensions are checked will break when the user includes more than one period in the filename.

Also the forms processing code is using filenames the user provided as paths on the server hard drive. This is a security risk, we must not ever use user provided strings.

We should ignore the user's filename and only use server-generated strings for anything written to the hard drive.

Confirmation screen wording change

Instead of…“Your application is being processed. If required, please upload further documentation by accessing this link:”…it should read as

…“Your application is being processed. If notified by a Customer Service Representative, please upload further documentation by accessing this link:”

Undefined index Filename in forms_processor

/utilities_forms/forms.processor.php

Undefined index: Filename

/utilities_forms/forms.processor.php

Error on line 173 of file /srv/sites/utilities_forms/public/forms.processor.php:
Undefined index: Filename

Array
(
    [0] => Array
        (
            [file] => /srv/sites/utilities_forms/Error.php
            [line] => 33
            [function] => customExceptionHandler
            [class] => Blossom\Classes\Error
            [type] => ::
            [args] => Array
                (
                    [0] => ErrorException Object
                        (
                            [message:protected] => Undefined index: Filename
                            [string:Exception:private] => 
                            [code:protected] => 0
                            [file:protected] => /srv/sites/utilities_forms/public/forms.processor.php
                            [line:protected] => 173
                            [trace:Exception:private] => Array
                                (
                                    [0] => Array
                                        (
                                            [file] => /srv/sites/utilities_forms/public/forms.processor.php
                                            [line] => 173
                                            [function] => customErrorHandler
                                            [class] => Blossom\Classes\Error
                                            [type] => ::
                                            [args] => Array
                                                (
                                                    [0] => 8
                                                    [1] => Undefined index: Filename
                                                    [2] => /srv/sites/utilities_forms/public/forms.processor.php
                                                    [3] => 173
                                                    [4] => Array
                                                        (
                                                            [data] => DocumentTypeNum:              340
Conf_Number:                  43-0314
SupplementaryType:            DRIVERS LICENSE
Filename:                     20160415090143-43-0314-img1.pdf

                                                            [message] => Message[Drivers license.pdf]=Success&
                                                            [counter] => 2
                                                            [val] => Array
                                                                (
                                                                    [Response] => Error: Missing Extension
                                                                    [Old_Filename] => 
                                                                )

                                                        )

                                                )

                                        )

Add address validation workflow

We would like to have valid addresses saved in OnBase. Then, OnBase could integrate with other systems at the city, using the standardized address.

Users will need to choose their address from the list of valid addresses in our Master Address system. We would need to build a multi-step address search and choose process into the web forms.

Needs server-side validation

Currently the only form validation is done client-side in javascript. We should write server-side code to do all the validation as well, since we don't trust the user and their browser.

New questions on Ind Customer Contract

I would like to request your assistance in adding a question to the Ind Customer Contract, with 3 options for answers. This would not correspond to anything in OnBase, but allow us to set up initial billing for customers and highlight the electronic bill option we have. It could go in order after the question "Are you a new customer to City of Bloomington Utilities *" and read:

How would you like to receive your monthly bill from us? (please provide e-mail address above if choosing e-mail bill option)

_mail _e-mail _both

Namechange form causing PHP error

I just noticed these errors are being thrown. Where do these keys come from? Should all forms have these fields?

PHP Notice: Undefined index: OBKey__225_2 in /srv/sites/utilities_forms/public/forms.processor.php on line 21, referer: https://bloomington.in.gov/utilities_forms/index.php?form=namechange
PHP Notice: Undefined index: OBKey__225_3 in /srv/sites/utilities_forms/public/forms.processor.php on line 22, referer: https://bloomington.in.gov/utilities_forms/index.php?form=namechange
PHP Notice: Undefined index: OBKey__225_4 in /srv/sites/utilities_forms/public/forms.processor.php on line 23, referer: https://bloomington.in.gov/utilities_forms/index.php?form=namechange
PHP Notice: Undefined index: OBKey__225_5 in /srv/sites/utilities_forms/public/forms.processor.php on line 24, referer: https://bloomington.in.gov/utilities_forms/index.php?form=namechange

Undefined index (conf_num) in supplemtentary docs form

The form is throwing this error when there is no conf number to show in the form.

Should there always be a conf_num for this form?

Error on line 25 of file /srv/sites/utilities_forms/forms/supplementary_docs.inc:
Undefined index: conf_num

Remove SSN from forms

We've decided to not even ask for social security numbers. That way, we don't have to save them anywhere, and won't be on the hook for them leaking out.

The forms that I've seen that ask for SSNs are:

  • aquapay
  • namechange
  • individualcustomercontract

Attachment uploads do not display size limit

The file upload for Supplementary Supporting Identification does not give the user any indication of the size limit for the upload. If the user attempts to upload a file that's too big, the server stops the upload and abandons the request.

The form needs to display to users what the size limit is for files they upload. The current size limit is 10MB.

Missing error handling

There's currently no handling for file writing and file transfer errors. What do we want to do, or show the user, when PHP cannot write to the hard drive and/or transfer files over the network?

Character limits on zip codes and telephone numbers are confusing users

The current forms have javascript that prevents typing in more characters than are allowed for the zip code and telephone number fields. However, when you click on the input to begin typing, it puts the cursor on the exact space where you click.

Often, users click on the input, and start typing, but run up against the max length because they started on the third space of the zip code or telephone number, instead of the beginning of the input.

These inputs and their javascript should be replaced with HTML5 input types. All browsers now support standardized input for general numbers as well as telephone numbers. Users are much more used to the standard input methods provided by their own personal browsers.

AddressChooser should populate city, state, and zip

The original chooser only populated Street (number, direction, and name). Other features, like the "Same as above" feature expect to be able to read a zip code, which is not currently populated.

During the address lookup process the form address chooser should go ahead and populate all the possible form fields that can be derived from the master address data.

Copy files to new OnBase server

This application currently SFTPs the files to the old OnBase server. We plan to have the new OnBase server create an NFS mount for us to use. We will need to update the php code to copy the files to particular place on the web server's file system.....instead of SFTPing the files to OnBase.

Prevent publishing user submissions and other source code

Right now, everythings all in the web directory. We need to seperate the web exposable stuff from all the internal files.

We should create a public directory which would include index.php, the assets, and probably the vendor libraries.

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.