Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Docker dev. env.; support manual renewals of ICAs; outsource r…
…enewal survey to Google Forms; add GitHub templates (#638) * Create venv in Docker images and add its binaries to beginning of PATH; replace apt-get w/ apt * Mount only needed directories into /app, so that /app/venv is not wiped out * Change Docker dev env OS to Rocky 8.8; use Python 3.10 * Restore WORKDIR in Postgres shell Dockerfile * Install PostgreSQL 15 in DB shell image * Correct base image for DB shell image * Remove testing CMD * Note expected possible error during DB load * proof-of-concept google forms renewal survey * remove original survey from renewal form * Edit view and instructions * add hard-coded json data for surveys * un-hardcode check and block * proof-of-concept google forms renewal survey * remove original survey from renewal form * Edit view and instructions * add hard-coded json data for surveys * un-hardcode check and block * documentation * fix tests, remove obsolete * documentation * fix tests, remove obsolete * basic way for admins to review survey responses through renewal request view * basic way for admins to review survey responses through renewal request view * fix issues with tests * fix issues with tests * fix tests issues with tmp/credentials * fix tests issues with tmp/credentials * fix view for approval * proof of concept export of existing responses ot google sheet * fix view for approval * proof of concept export of existing responses ot google sheet * properly convert answers of existing responses, make the export function a command * properly convert answers of existing responses, make the export function a command * documentation * documentation * generate google form url in backend rather than in frontend * generate google form url in backend rather than in frontend * change file path to be in settings * change file path to be in settings * small fixes * basic dummy backend * dummy backend for local/development, actual validation for production * small fixes * basic dummy backend * dummy backend for local/development, actual validation for production * Method for renewing ICAs * disallow non ICA projects * Find PI * Ensure requester is a part of the project. Stop requests for out of date allocation periods. * Remove todo * changes based off pr comments * Initial unit testing * Basic unit testing for key assumptions * Refactor logic for fetching the AllocationPeriods pertinent to a particular allowance type into a method * Refactor logic for setting PI eligibility in renewal request into method * Refactor logic for computing SUs to allocate to new project request/renewal request into method * Generalize projects command > renew to enable renewals of non-pooling FCAs and PCAs; add constraints * Add comments describing additional test cases for projects command > renew * flesh out testing for project renewals * Disallow renewals of limited-per-PI allowances until checks added; add/fix tests * Decorate renewal tests as being BRC tests * Remove entry from .gitignore * Replace 'docker-compose' binary w/ 'docker compose' in dev. scripts + README given Docker Desktop v4.32.0 * refactoring * enforce dummy backend as default unless otherwise specified in overrides.yml * renaming * refactoring * enforce dummy backend as default unless otherwise specified in overrides.yml * renaming * change survey data column index from number to letter * change survey data column index from number to letter * refactoring and renaming * add get_survey_url to interface * refactoring * refactoring and renaming * add get_survey_url to interface * refactoring * refactoring for interface * refactor set_necessary_data * Update approval_views.py * documentation * refactoring for interface * refactor set_necessary_data * documentation * rename variables so not backend specific * adjust interface * Change Docker dev env OS to Rocky 8.8; use Python 3.10 * Restore WORKDIR in Postgres shell Dockerfile * Install PostgreSQL 15 in DB shell image * Correct base image for DB shell image * Remove testing CMD * Note expected possible error during DB load * Always show survey step, LRC 2023-2024 survey added * rename variables so not backend specific * adjust interface * Always show survey step, LRC 2023-2024 survey added * update backend * Adds PR, Bug and Feature issues templates closes #634 * fix some issues * Rename old ProjectRenewalSurveyForm to DeprecatedProjectRenewalSurveyForm; fix export data tests and command * update backend * fix some issues * Rename old ProjectRenewalSurveyForm to DeprecatedProjectRenewalSurveyForm; fix export data tests and command * generalize interface * generalize interface * move renewal_survey_utils to google backend with private methods * refactor form and reword html * unhardcode credentials path * raise Exception in google backend and ValidationError in forms * move renewal_survey_utils to google backend with private methods * refactor form and reword html * unhardcode credentials path * raise Exception in google backend and ValidationError in forms * scan google sheets for response in reverse order for latency * permissive if Google sheets error * rename google backend to google_forms * scan google sheets for response in reverse order for latency * permissive if Google sheets error * rename google backend to google_forms * Move renewal survey-related settings into a dict configured via YML files * Add sub-sections to main.copyme to improve readability; remove unneeded entry from .gitignore * Describe the return value of condition_dict methods of wizard views * Add feature flag that allows renewal survey to be disabled * Correct bug in fetching name for ComputingAllowance object * fix mistakes * Add new settings to testing config file * check for flag in approval view * clean up documentation for backend * Install django-redis and configure it as cache backend; configure cache key for storing survey data * Cache survey data to avoid repetitive hits to disk * Replace dummy cache backend w/ Django one * Add timeout of 24 hours to cached renewal survey data * Remove hard-coded survey data; add sample file * Rename module; change interface for validating completion; change returns values of permissive backend; update comments * Move logic for computing renewal survey URL * Simplify survey instructions * Rename renewal survey module in test settings sample * export data fix * basic unit testing for ProjectRenewalSurveyForm --------- Co-authored-by: Alastair Deng <[email protected]> Co-authored-by: adeng27 <[email protected]> Co-authored-by: helbashandy <[email protected]>
- Loading branch information