Giter Site home page Giter Site logo

squaredlabs / nucore-uconn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tablexi/nucore-open

4.0 4.0 2.0 117.85 MB

Northwestern University Core Facility Management Software (NUCore)

License: MIT License

Ruby 84.27% JavaScript 1.67% CoffeeScript 2.34% CSS 0.02% HTML 0.35% Shell 0.04% Dockerfile 0.04% SCSS 1.46% Haml 9.79%

nucore-uconn's People

Contributors

arnamak avatar benlinton avatar cardoce avatar cenavarro avatar chrixp avatar colinmcneil avatar danhodos avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar drench avatar dstrabley avatar fedekau avatar giladshanan avatar gluxon avatar jhanggi avatar joshea0 avatar kt32291 avatar lucaspanjer avatar meara avatar mlineen avatar n00dle avatar ne0zen avatar noelrappin avatar rdunlop avatar robstolarz avatar rolfrussell avatar vandrijevik avatar waggles avatar woodytorrez avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nucore-uconn's Issues

Feature-flagging

Consider feature-flagging some changes so that they can be more comfortably pushed to upstream.

Spacing changes: table

table

impact factor: 36

Views

/accounts
/accounts/:account_id/statements
/facilities/:facility_id/:product/
/facilities/:facility_id/:product/:product_id/price_policies
/facilities/:facility_id/:product/:product_id/users/
/facilities/:facility_id/accounts
/facilities/:facility_id/accounts/:account_id/members
/facilities/:facility_id/accounts/:account_id/statements
/facilities/:facility_id/accounts_receivable
/facilities/:facility_id/bundles/:bundle_id/bundle_products
/facilities/:facility_id/facility_accounts(.:format)
/facilities/:facility_id/facility_users
/facilities/:facility_id/instruments/:instrument_id/schedule
/facilities/:facility_id/instruments/:instrument_id/schedule_rules
/facilities/:facility_id/instruments/example-instrument/product_access_groups
/facilities/:facility_id/journals
/facilities/:facility_id/order_statuses
/facilities/:facility_id/price_groups
/facilities/:facility_id/price_groups/:id/accounts
/facilities/:facility_id/products/:product_id/accessories
/facilities/:facility_id/statements
/facilities/:facility_id/training_requests
/facilities/:facility_id/users/:user_id/accounts
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/reservations
/facilities/list
/global_user_roles
/journal_cutoff_dates
/my_files
/orders
/orders/:id
/orders/:id/receipt
/orders/:order_id/order_details/:id
/orders/cart
/users/:id/user_preferences

References

add unicorn configuration for production

Description

TableXI has an example of the unicorn configuration they use for staging environments in config/unicorn/stage.rb. For our production deployment, we will need our own production unicorn configuration.

I am planning to keep most of their configuration, but replace some of the hard-coded values (e.g., the socket path) to use environment variables instead.

Related

If we decide to build a staging environment to mirror production (which would be a good idea), then we will want to customize the staging configuration as well (config/unicorn/stage.rb).

Typography

(See "A CIP of CIDER", page 6.)

A number of classes of text need to be established or redefined to match the design.

  • Welcome Text
  • Page Title
  • Instrument Title
  • Smaller Subtitle (Instrument)
  • Smaller Subtitle (Daily View) [where is this one used?]
  • Calendar Date [needs bootstrap/jQUI change]
  • Static Title
  • Body Text

whenever jobs as CronJob objects

Running the the jobs in the whenever job list using a cron-based container requires root and makes the operations of those jobs less transparent and loggable to k8s. This is acceptable for the docker-compose setup, but less so for k8s in dev and prod. The jobs in the whenever job list should be converted to k8s CronJob objects.

Set up GitHub CI

This project is already compatible with CircleCI, but it needs to be hooked up.

Setting database name

The person deploying the app should be able to set the name of the database the app should use.

Backup jobs

A list of backup solutions should be made and one should be implemented into the Helm chart.

Add new assets to `in-prod`

  • favicon
  • upload the right UConn logo at bottom left
  • style UConn logo to match design thing (TODO: upload that)

Spacing changes: form

form

impact factor: 33

Views

/facilities/:facility_id/:product/:product_id/edit
/facilities/:facility_id/:product/:product_id/files?file_type=(.*)
/facilities/:facility_id/:product/:product_id/price_policies/:id/edit
/facilities/:facility_id/:product/:product_id/price_policies/new
/facilities/:facility_id/:product/new
/facilities/:facility_id/accounts/:id/edit
/facilities/:facility_id/bundles/:bundle_id/bundle_products/:id/edit
/facilities/:facility_id/bundles/:bundle_id/bundle_products/new
/facilities/:facility_id/edit
/facilities/:facility_id/facility_accounts/:id/edit(.:format)
/facilities/:facility_id/facility_accounts/new(.:format)
/facilities/:facility_id/facility_users/:facility_user_id/map_user
/facilities/:facility_id/instruments/:instrument_id/offline_reservations/edit
/facilities/:facility_id/instruments/:instrument_id/offline_reservations/new
/facilities/:facility_id/instruments/:instrument_id/schedule_rules/:id/edit
/facilities/:facility_id/instruments/:instrument_id/schedule_rules/new
/facilities/:facility_id/instruments/example-instrument/product_access_groups/:id/edit
/facilities/:facility_id/instruments/example-instrument/product_access_groups/new
/facilities/:facility_id/order_statuses/:id/edit
/facilities/:facility_id/order_statuses/new
/facilities/:facility_id/orders/:order_id/order_details/:order_detail_id/reservations/:id/edit
/facilities/:facility_id/price_groups/new
/facilities/:facility_id/products/:product_id/accessories
/facilities/:facility_id/users/:id/edit
/facilities/:facility_id/users/new
/facilities/:facility_id/users/new_external
/facilities/new
/global_user_roles/:id/edit
/journal_cutoff_dates/:id
/journal_cutoff_dates/new
/orders/:order_id/order_details/:id/edit
/orders/:order_id/order_details/:order_detail_id/reservations/:id/edit
/users/password/edit_current

References

Integrate accounts list/owners with KFS

It would be rather painful for facility owners to have to manage their accounts directly. To that end, we need to ask the KFS team for a nightly feed of facility/account data, and then we need to write an ETL seeder that runs on a cron for it.

Display name is incorrect with CAS accounts

CIDER is pulling the wrong info for the display name:
screen shot 2018-09-18 at 10 21 56 am

It has my name with a lowercase n
It should be uppercase - this is because it seems to be pulling first and last name instead of display name
screen shot 2018-09-18 at 10 21 29 am

Spacing changes: calendar

Spacing changes: 2col

2col

impact factor: 64

Views

/facilities/:facility_id/:product/
/facilities/:facility_id/:product/:product_id/edit
/facilities/:facility_id/:product/:product_id/files?file_type=(.*)
/facilities/:facility_id/:product/:product_id/price_policies
/facilities/:facility_id/:product/:product_id/price_policies/:id/edit
/facilities/:facility_id/:product/:product_id/price_policies/new
/facilities/:facility_id/:product/:product_id/users/
/facilities/:facility_id/:product/:product_id/users/new
/facilities/:facility_id/:product/new
/facilities/:facility_id/accounts
/facilities/:facility_id/accounts/:account_id/account_users/user_search
/facilities/:facility_id/accounts/:account_id/members
/facilities/:facility_id/accounts/:account_id/statements
/facilities/:facility_id/accounts/:id
/facilities/:facility_id/accounts/:id/edit
/facilities/:facility_id/accounts_receivable
/facilities/:facility_id/bundles/:bundle_id/bundle_products
/facilities/:facility_id/bundles/:bundle_id/bundle_products/:id/edit
/facilities/:facility_id/bundles/:bundle_id/bundle_products/new
/facilities/:facility_id/disputed_orders
/facilities/:facility_id/edit
/facilities/:facility_id/facility_accounts(.:format)
/facilities/:facility_id/facility_accounts/:id/edit(.:format)
/facilities/:facility_id/facility_accounts/new(.:format)
/facilities/:facility_id/facility_users
/facilities/:facility_id/facility_users/:facility_user_id/map_user
/facilities/:facility_id/instruments/:instrument_id/offline_reservations/edit
/facilities/:facility_id/instruments/:instrument_id/offline_reservations/new
/facilities/:facility_id/instruments/:instrument_id/schedule
/facilities/:facility_id/instruments/:instrument_id/schedule_rules
/facilities/:facility_id/instruments/:instrument_id/schedule_rules/:id/edit
/facilities/:facility_id/instruments/:instrument_id/schedule_rules/new
/facilities/:facility_id/instruments/example-instrument/product_access_groups
/facilities/:facility_id/instruments/example-instrument/product_access_groups/:id/edit
/facilities/:facility_id/instruments/example-instrument/product_access_groups/new
/facilities/:facility_id/journals
/facilities/:facility_id/journals/:id
/facilities/:facility_id/journals/new
/facilities/:facility_id/manage
/facilities/:facility_id/movable_transactions
/facilities/:facility_id/notifications
/facilities/:facility_id/order_statuses
/facilities/:facility_id/order_statuses/:id/edit
/facilities/:facility_id/order_statuses/new
/facilities/:facility_id/price_groups
/facilities/:facility_id/products/:product_id/accessories
/facilities/:facility_id/statements
/facilities/:facility_id/statements/:id
/facilities/:facility_id/statements/new
/facilities/:facility_id/training_requests
/facilities/:facility_id/transactions
/facilities/:facility_id/users
/facilities/:facility_id/users/:id
/facilities/:facility_id/users/:id/edit
/facilities/:facility_id/users/:user_id/accounts
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/reservations
/facilities/:facility_id/users/new
/facilities/:facility_id/users/new_external
/journal_cutoff_dates
/journal_cutoff_dates/:id
/journal_cutoff_dates/new
/log_events

References

Spacing changes: search-helper

search-helper

impact factor: 5

Views

/accounts/:account_id/account_users/new
/facilities/:facility_id/:product/:product_id/users/new
/facilities/:facility_id/accounts/:account_id/account_users/user_search
/facilities/:facility_id/users
/global_user_roles/search

References

Secrets

Currently, the Helm chart exposes the MySQL password of the database that's running, instead of passing it through a secret. It also lacks a NUcore secret input, I think secrets are currently just regenerated every time. Finally, the MySQL password is output in the logs while the app runs. These things should be fixed so the secrets don't leak to people viewing logs or kubectl object descriptions.

Builds on `master` fail CI

Example: https://circleci.com/gh/SquaredLabs/nucore-uconn/54

Sending report to https://codeclimate.com for branch master... bundler: failed to load command: report_coverage (/home/ubuntu/nucore-uconn/vendor/bundle/ruby/2.4.0/bin/report_coverage)
RuntimeError: HTTP Error: 401
  /home/ubuntu/nucore-uconn/vendor/bundle/ruby/2.4.0/gems/codeclimate-test-reporter-1.0.8/lib/code_climate/test_reporter/client.rb:70:in `post_results'

This step in the build process sends reports to CodeClimate. In order to do this, the CODECLIMATE_REPO_TOKEN environment variable needs to be set in circle. This token comes from a codeclimate account. We can discuss if you want to set up your own account. It should be free for open source projects.

Otherwise, for now you can remove that line from the circle.yml file (https://github.com/SquaredLabs/nucore-uconn/blob/master/circle.yml#L23)

I would also recommend removing the deployment section. That is a step that automatically deploys to a stage server on successful builds. We do that through capistrano (see config/deploy.rb and config/deploy/staging.rb). Currently, we only do this continuous deployment on the open source branch. For the school-specific ones we do manual deployments; this is largely because of firewall restrictions making it hard to deploy from Circle (p.s. Circle 2.0 is on the horizon, we just haven't gotten there yet.)

Spacing changes: one-off-facility-show

Spacing changes: detail

detail

impact factor: 7

Views

/accounts/:account_id
/facilities/:facility_id/accounts/:id
/facilities/:facility_id/manage
/facilities/:facility_id/orders/:order_id/order_details/:order_detail_id/reservations/:id
/facilities/:facility_id/statements/:id
/facilities/:facility_id/users/:id
/orders/:order_id/order_details/:order_detail_id/reservations/:id(.:format)

References

Spacing Changes: tabbed

tabbed

impact factor: 15

Views

/accounts/:account_id
/accounts/:account_id/statements
/facilities/:facility_id/:product/
/facilities/:facility_id/accounts/:account_id/statements
/facilities/:facility_id/accounts/:id
/facilities/:facility_id/bundles/:bundle_id/bundle_products
/facilities/:facility_id/orders
/facilities/:facility_id/reservations
/facilities/:facility_id/statements/:id
/facilities/:facility_id/users/:id
/facilities/:facility_id/users/:user_id/accounts
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/orders
/facilities/:facility_id/users/:user_id/reservations
/orders

References

Spacing changes: adding

adding

impact factor: 18

Views

/facilities/:facility_id/:product/
/facilities/:facility_id/:product/:product_id/price_policies
/facilities/:facility_id/:product/:product_id/users/
/facilities/:facility_id/accounts
/facilities/:facility_id/accounts/:account_id/members
/facilities/:facility_id/bundles/:bundle_id/bundle_products
/facilities/:facility_id/facility_accounts(.:format)
/facilities/:facility_id/facility_users
/facilities/:facility_id/instruments/:instrument_id/schedule
/facilities/:facility_id/instruments/:instrument_id/schedule_rules
/facilities/:facility_id/instruments/example-instrument/product_access_groups
/facilities/:facility_id/order_statuses
/facilities/:facility_id/price_groups
/facilities/:facility_id/price_groups/:id/accounts
/facilities/:facility_id/products/:product_id/accessories
/facilities/list
/global_user_roles
/journal_cutoff_dates

References

Rename Payment Sources roles to UConn-specific ones

https://cider.uconn.edu/facilities/:facility_id/accounts/:account_id/members allows people to add others to their accounts. The available roles one can assign to someone else are "Owner", "Business Administrator", "Purchaser". The different kinds of roles UConn has are "Account Owner", "Principal Investigator", "Account Manager", and whoever's authorized on the account to buy stuff. We've agreed the actual account owner from KFS doesn't necessarily need to be listed, so the mapping would be as follows:

  • Owner -> Principal Investigator
  • Business Administrator -> Account Manager
  • Purchaser can remain the same

These changes can be made with the i18n settings.

Facility product list in columns does not work with order form

If the order form feature is turned on for a facility, the display of each product type as a list doesn't work, and instead they show in the long list as if the column feature was off.

It appears to be because with the form we have this: .product_list_container.columns > form > .product_list.columns. If I move the .product_list_container.columns onto the form, then it mostly works except it messes up the "Create Order" button.

screen shot 2018-08-10 at 6 53 03 pm

Also, I believe we can safely remove the product_list_columns_on feature flag for this.

Reference: https://github.com/tablexi/nucore-open/pull/1570/files

READMEs

The README.md should be updated with instructions on how to test the application as a docker-compose app as well as instructions on how to bring up a local dev k8s cluster with CIDER running in it (like the ones found here but written more carefully).

Additionally, the chart has a NOTES.txt file that is templated and output to the user at the time of the Helm chart being deployed. This file should be updated to have relevant information about the application.

Spacing changes: billing-type-search

billing-type-search

impact factor: 9

Views

/facilities/:facility_id/disputed_orders
/facilities/:facility_id/journals/new
/facilities/:facility_id/movable_transactions
/facilities/:facility_id/notifications
/facilities/:facility_id/orders
/facilities/:facility_id/reservations
/facilities/:facility_id/statements/new
/facilities/:facility_id/transactions
/log_events

References

Spacing changes: one-off-facility-index

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.