Code Monkey home page Code Monkey logo

lsf-oss's People

Contributors

audreymcraft avatar bekjon777 avatar brianramsay avatar bryantal avatar escalerapadronl avatar grrdsoto avatar guillermocruz32 avatar haileyb0311 avatar jamaliela avatar lyisus avatar mupotsal avatar otienoanne avatar ovezovs avatar romano-w avatar santoshernandezr avatar sheggen avatar sreynit02 avatar wgs1862019 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lsf-oss's Issues

Local Login refactor

Shibboleth and Local login are both working (mostly). But, code is everywhere.

Notes:

  1. refactor to use a before_app_request decorator to load the current user, handling shib or local gracefully and not in the controllers
  2. Remove logic from controllers for dealing with current user, since it'll be everywhere from 1.
  3. Consider removing the login_manager or making it handle everything more gracefully as well.

Users logged in with @berea.edu as part of their username cannot access system

If a user logs in with their email address (e.g., [email protected]) instead of their username (e.g., heggens), the system handles the user correctly by adding them to the supervisors table:

Invalid User: [email protected] not found in Tracy database
Adding mcguirem to supervisor table

However, the user gets an Access Denied error page. This is likely because the system does not handle changing their username for each page load. It only handles adding them to the database as a supervisor.

Development quick-switch for users

create a small dropdown near the logout button in the sidebar that allows the developer to quickly switch between users/user types (admin, supervisor, student).

FEATURE: Evaluation of Work college experience

Create an interface allowing the evaluation of the work experience by the students.

Rough notes:

  • Integrate into supervisor portals for reviewing evals
  • Integrate into student portals for completing evals
  • Open/close dates + times for evaluating, reviewing, locking
  • Create a "transcript" of supervisor/department/division/college labor progression over time (this semester, all-of-time, ...)
  • Allow labor administrators to "customize" evaluations prior to the evaluation (based on LEE Committee work; see Scott).
  • Allow departments to "customize" evaluations prior to the evaluation (based on LEE Committee work; see Scott).

Creating/Removing departments

The Tracy/UTE database holds department information, which we use in the departmental compliance features. Admins will need a way to edit this information. I envision two solutions: 1) a back-end utility for mass import of departments (which does not support the removal or editing of departments); or 2) a UI update to the Manage Departments interface to allow for add/edit/remove (which will make bulk importing harder).

The solution may be to do both of these. This is not a priority issue.

FEATURE: Payroll system

The system should provide labor administrators with the ability to easily process payments to students:

Rough notes:

  • Allow labor administrators to set pay rates per position/position level/individual
  • Allow labor administrators to view pay for given pay periods (weekly, bi-weekly, monthly, ...)
  • Allow labor administrators to send information to an external payment processing system (check printer, finance office, ...).

Questions for WCC

  1. Would you use a local login provider or a campus provider (LDAP, OAuth, SSO, Shibboleth, etc.)
  2. How are your labor departments organized? (At Berea, there's labor departments, and departments can have multiple orgs such as the Facilities department has grounds, maintenance, janitorial, etc.)
  3. How are student positions organized? (at Berea, each department has positions, and each position has a Work Level Status between 1 and 6 to indicate responsibility level).

Customizable logo

Make the logo customizable during install (?). Uploadable any time? In a config file?

install.sh reports successful user creation, but not really

During install.sh, the installer asks for a username and password. If the username already exists, it reports the following:

ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'test'@'localhost'
User successfully created!

This could be handled more gracefully.

Additional things to check:

  • if the username is given a new password, does it change?

FEATURE: Test suite

The shell of a test suite exists, but a more robust suite should be created, so future development requires it. See CELTS app for a good example.

Allow creation of terms (instead of automatic)

Currently the system automatically creates terms based on the assumptions that classes run on a semester system. This should be modified to handle a quarterly (and probably other) systems.

FEATURE: Time card system

Other work colleges need a timecarding system, similar to our Tracy Ultratime system. A minimal timecarding system should:

  • Allow a student to clock in and clock out
  • Allow a student to review their time cards
  • Allow the supervisors to view, edit, delete, and add entries
  • Allow the supervisor to approve, reject entries
  • Allow supervisors to schedule students for specific hours
  • Allow supervisors to view summaries of hours (bulk students, bulk hours/weeks/months/life, ... )
  • Warn supervisors of over- and under-hour situations
  • Allow labor administrators to do everything a supervisor can do
  • Allow labor administrators to review hours for payroll processing (see issue about payroll system)

FEATURE: Evaluation of Students Labor Performance

Create an interface allowing the evaluation of students by their supervisor(s).

Rough notes:

  • Integrate into supervisor portals for completing eval
  • Integrate into student portals for reviewing eval
  • Open/close dates + times for evaluating, reviewing, locking
  • Create a "transcript" of your labor progression over time (this semester, all-of-time, ...)
  • Allow departments/supervisors to "customize" evaluation prior to the evaluation (based on LEE Committee work; see Scott).

Separate databases

There are essentially four databases needed for the system:

  1. The login server (BC uses Shibboleth). This provides the application with the logged in user identity and authorization.
  2. The main db. This provides the application with active work college information (student's current and past positions, approval status, ...) and is the database we created for the system.
  3. The Tracy Ultratime system. This provides the application with all static work study information (all available positions, all departments, all supervisors, ...). This database is external to the existing application, but Peewee models exist for it already.
  4. Banner. This provides the application with a database to hold official records of employment. After a student is hired in our system, the record is added to Banner.

Item 1 should be handled probably through Flask login. The implementer should be able to choose the type of login service they want to use (local login, shibboleth, LDAP, ...).

Item 2 is fully within the existing application. No changes should be needed here.

Item 3 was implemented for testing/development purposes. It should be fully implementable if the user choses to use it (on install).

Item 4 is completely external, with the exception of hooks to write to that database. It should be integrated into the application as well. It only exists because our LSF system had to be able to work with the existing records which were held here. In theory, it could go away (option to make it go away?) and the existing application serves as the record of hiring and firing of students.

PEM handling of FileNotFound error

PEM is used to migrate that database, for example in reset_database.sh. When PEM cannot find a migration file (e.g., lsf_migrations/0001_migration_202109241252.py), it throws:

FileNotFoundError: [Errno 2] No such file or directory: 'lsf_migrations/0001_migration_202109241252.py'

The reset_database.sh script should handle this error and avoid crashing the reset, putting the database in an unknown state.

FEATURE: Evaluation of supervisor performance

Students should be able to evaluate their supervisor. This could be integrated in to the Work College evaluation (Issue #8), or a separate evaluation (more similar to the student performance evaluation).

Based largely on LEE Committee work (contact @sheggen for details).

Rough notes:

  • Allow student to view/review/complete evaluation from the student portal.
  • Allow supervisor to view/review evaluation from supervisor portal.
  • Allow labor administrators to modify the evaluation year-to-year.
  • Allow departments to generate reports about departmental performance (or other similar reports; needs brainstorming).
  • Allow labor administrators to review supervisor/department performance.

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.