{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":5331781,"defaultBranch":"master","name":"simple-inventory","ownerLogin":"eau-claire-energy-cooperative","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-08-07T18:32:06.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/43829215?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705510268.0","currentOid":""},"activityList":{"items":[{"before":"7883e80db79dae94d869927f3f3b3f4326801e65","after":"2a78ea6bd462e54c3ea54db8ea4afdacced5e394","ref":"refs/heads/master","pushedAt":"2024-06-10T18:23:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"added badge if newer version of lifecycle found","shortMessageHtmlLink":"added badge if newer version of lifecycle found"}},{"before":"82add9efccc0c101bb8ba8b715a6be77cab20313","after":"7883e80db79dae94d869927f3f3b3f4326801e65","ref":"refs/heads/master","pushedAt":"2024-01-22T19:42:38.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"allow deleting denied requests","shortMessageHtmlLink":"allow deleting denied requests"}},{"before":"a887ba445dedf373f540a0fa2f93621d4684a7e8","after":"82add9efccc0c101bb8ba8b715a6be77cab20313","ref":"refs/heads/master","pushedAt":"2024-01-17T16:57:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"version bump","shortMessageHtmlLink":"version bump"}},{"before":"8057564b134136ca879637acd09e8e93327e6980","after":null,"ref":"refs/heads/device_checkout","pushedAt":"2024-01-17T16:51:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"}},{"before":"59357462dbe191d97ad2db2bb3fbb31ea3362b16","after":"a887ba445dedf373f540a0fa2f93621d4684a7e8","ref":"refs/heads/master","pushedAt":"2024-01-17T16:51:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"Equipment Checkout (#21)\n\n* fixed icon tag\r\n\r\n* added settings to enable device checkout\r\n\r\n* added controller and basic form for checkout request\r\ncurrently UI only, no DB integration\r\n\r\n* bundle appears to already contain bootstrap main\r\n\r\n* collapse actions menu\r\nflag if device available for checkout\r\n\r\n* show list of available devices by type for checkout\r\n\r\n* limit login history to 50\r\n\r\n* reconfigure search to display selected attributes\r\n\r\n* changed to cart icon\r\n\r\n* show checkout menu when checkout is enabled\r\n\r\n* added display for checkout enabled devices\r\n\r\n* consolidated login check to parent class\r\n\r\n* make action buttons like all the others\r\n\r\n* allow for approving and denying requests\r\nfirst available device is used in reservation - needs tweaking\r\n\r\n* can do this with ad-hoc model binding\r\n\r\n* modify login layout so it can be reused easier\r\n\r\n* put link to checkout request in menu\r\n\r\n* link to requests for a given device\r\n\r\n* added virtual field for unix timestamps\r\n\r\n* error checking dates\r\n\r\n* attempt to find device based on existing checkout reservations\r\n\r\n* sort by check out date by default\r\n\r\n* allow checking device in and out\r\nshow status on device screen and requests screen\r\n\r\n* mark request as active and highlight in row\r\n\r\n* added a task to purge inactive and expired checkout requests\r\n\r\n* active is now status - valid statuses are (new, approved, denied, active)\r\n\r\n* set request status (approved, denied)\r\n\r\n* display and sort by status\r\n\r\n* add new request button\r\n\r\n* show device type icon\r\n\r\n* modify email sending so that non-user recipients can be set\r\n\r\n* send emails on approve and deny\r\n\r\n* set temp location when device is checked out\r\n\r\n* don't need to show counts\r\n\r\n* updated db schema\r\n\r\n* updated CHANGELOG.md\r\n\r\n* updated readme\r\n\r\n* email admin on submission\r\n\r\n* compare to end of day\r\n\r\n* use common naming\r\n\r\n* this must have a value\r\n\r\n* check in 2 weeks from today\r\n\r\n* wordsmith the README.md\r\n\r\n* fix sort - new, active, approved, and denied for the order\r\n\r\n* highlight late check-ins in red\r\n\r\n* send email if check-in is missed\r\n\r\n* added device checkout screenshots\r\n\r\n* README fixes\r\n\r\n* use bullets","shortMessageHtmlLink":"Equipment Checkout (#21)"}},{"before":"2473207404d555a972a9232f23b9428b71219185","after":"8057564b134136ca879637acd09e8e93327e6980","ref":"refs/heads/device_checkout","pushedAt":"2024-01-17T16:50:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"use bullets","shortMessageHtmlLink":"use bullets"}},{"before":"2344e9a920694fc34d784dfb0a24025f0b7aa799","after":"2473207404d555a972a9232f23b9428b71219185","ref":"refs/heads/device_checkout","pushedAt":"2024-01-17T16:50:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"README fixes","shortMessageHtmlLink":"README fixes"}},{"before":"97d01eae63f8ac449db9ed4aecdd6cf2e92db269","after":"2344e9a920694fc34d784dfb0a24025f0b7aa799","ref":"refs/heads/device_checkout","pushedAt":"2024-01-17T16:48:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"added device checkout screenshots","shortMessageHtmlLink":"added device checkout screenshots"}},{"before":"06424367ed9c0fbcfe0e0cde4830ef92fc105d54","after":"97d01eae63f8ac449db9ed4aecdd6cf2e92db269","ref":"refs/heads/device_checkout","pushedAt":"2024-01-17T16:24:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"send email if check-in is missed","shortMessageHtmlLink":"send email if check-in is missed"}},{"before":"b9240a61820c0168df98b6f509cb7b349ce047e7","after":"06424367ed9c0fbcfe0e0cde4830ef92fc105d54","ref":"refs/heads/device_checkout","pushedAt":"2024-01-05T21:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"wordsmith the README.md","shortMessageHtmlLink":"wordsmith the README.md"}},{"before":"2ffc813cda756f2ff31475e792610a7ccb671e1a","after":"b9240a61820c0168df98b6f509cb7b349ce047e7","ref":"refs/heads/device_checkout","pushedAt":"2024-01-05T21:22:58.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"check in 2 weeks from today","shortMessageHtmlLink":"check in 2 weeks from today"}},{"before":"27c549e9a3ac10934c9c528db29ac762089991f5","after":"2ffc813cda756f2ff31475e792610a7ccb671e1a","ref":"refs/heads/device_checkout","pushedAt":"2023-12-29T20:32:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"updated readme","shortMessageHtmlLink":"updated readme"}},{"before":"1d40640e10c7b911847c2a51417a7b444fcd468d","after":"27c549e9a3ac10934c9c528db29ac762089991f5","ref":"refs/heads/device_checkout","pushedAt":"2023-12-29T20:20:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"updated db schema","shortMessageHtmlLink":"updated db schema"}},{"before":"a4650d6ddd746b228182bfa561b58e9f09f0edd7","after":"1d40640e10c7b911847c2a51417a7b444fcd468d","ref":"refs/heads/device_checkout","pushedAt":"2023-12-29T20:05:59.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"set temp location when device is checked out","shortMessageHtmlLink":"set temp location when device is checked out"}},{"before":"6765c71ebaf0b7d53d940f0c1afd92cdd33c0f7f","after":"a4650d6ddd746b228182bfa561b58e9f09f0edd7","ref":"refs/heads/device_checkout","pushedAt":"2023-12-29T18:42:06.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"display and sort by status","shortMessageHtmlLink":"display and sort by status"}},{"before":"faccf2c68eb192fcc2842418d6565d7ef6c9d5af","after":"6765c71ebaf0b7d53d940f0c1afd92cdd33c0f7f","ref":"refs/heads/device_checkout","pushedAt":"2023-12-28T18:45:44.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"allow checking device in and out\nshow status on device screen and requests screen","shortMessageHtmlLink":"allow checking device in and out"}},{"before":null,"after":"faccf2c68eb192fcc2842418d6565d7ef6c9d5af","ref":"refs/heads/device_checkout","pushedAt":"2023-12-27T15:41:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"limit login history to 50","shortMessageHtmlLink":"limit login history to 50"}},{"before":"0d47d557535ac52b7a1cfae11fb6d0b60aaafd77","after":"59357462dbe191d97ad2db2bb3fbb31ea3362b16","ref":"refs/heads/master","pushedAt":"2023-12-19T20:44:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"version bump","shortMessageHtmlLink":"version bump"}},{"before":"1f52af98332a39ad2f941485a7dc94b4321fd7de","after":"0d47d557535ac52b7a1cfae11fb6d0b60aaafd77","ref":"refs/heads/master","pushedAt":"2023-11-15T19:51:03.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"changelog","shortMessageHtmlLink":"changelog"}},{"before":"6d55ca2ee4dda0f4ba1b837a529a8d80716202ff","after":"1f52af98332a39ad2f941485a7dc94b4321fd7de","ref":"refs/heads/master","pushedAt":"2023-03-15T15:34:19.527Z","pushType":"push","commitsCount":3,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"version bump","shortMessageHtmlLink":"version bump"}},{"before":"e8fd629799e0cb02ba3decb955bffa18791bb934","after":"6d55ca2ee4dda0f4ba1b837a529a8d80716202ff","ref":"refs/heads/master","pushedAt":"2023-03-15T15:13:10.803Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"Software Applications and Lifecycles (#19)\n\n* added application class and joined it to the computer (device) model\r\n\r\n* added apps controller - duplicated programs functionality for add and toggle monitoring\r\n\r\n* allow for assigning of applications to devices\r\n\r\n* list applications in place of programs\r\nallow for removal of an application from a device\r\n\r\n* filter out already assigned devices\r\n\r\n* get search working again\r\n\r\n* reconfigure the menus - split based on devices and software management\r\n\r\n* make sure correct active menu is highlighted\r\n\r\n* add table search functionality to licenses page\r\n\r\n* removed references to Programs and RestrictedPrograms\r\n\r\n* check if application already exists before adding\r\n\r\n* replace programs with applications\r\ncreate app if it doesn't exist, otherwise reuse existing\r\n\r\n* use model validation to ensure unique name/version information\r\n\r\n* use applications endpoint instead of programs for updater\r\n\r\n* updated README\r\n\r\n* updated schema\r\n\r\n* remove text and just use buttons\r\n\r\n* allow for deleting of non-assigned applications\r\n\r\n* wording\r\n\r\n* fix commands to use applications instead of programs/restricted programs models\r\n\r\n* purge computer logins as well\r\n\r\n* check if this is a duplicate add before assigning to computer\r\n\r\n* added a virtual field to concat name and version number\r\n\r\n* use virtual field \"full_name\"\r\n\r\n* added the Lifecycle model and added it to an Application\r\nbasic functions for creating, viewing, and modifying lifecycles\r\n\r\n* allow for appending query to GET request\r\n\r\n* add lifecycle button on more_info page\r\n\r\n* change icon to reflect unassign vs delete\r\n\r\n* set this to the application id\r\n\r\n* added titles for buttons\r\n\r\n* don't purge if lifecycle is attached\r\n\r\n* flag lifecycles in apps list\r\n\r\n* allow for upgrading an application DB entry\r\n\r\n* added quick way to update last check date\r\n\r\n* red makes more sense here to be consistent\r\n\r\n* added ability to delete\r\n\r\n* render notes using Markdown (parsedown)\r\n\r\n* added link to parsedown\r\n\r\n* save the state between reloads\r\n\r\n* maintain constancy with other pages\r\n\r\n* added sort and search to lifecycle page\r\n\r\n* don't save state but still provide a mechanism to reload app into view\r\n\r\n* link directly to lifecyles where appropriate\r\n\r\n* add csv download for application and lifecycle listings\r\n\r\n* added a task to check for lifecycles that need updating\r\n\r\n* set default cron for first of every month\r\n\r\n* updated CHANGELOG.md\r\n\r\n* added link to cron explanation\r\n\r\n* order disks by label\r\n\r\n* added the ability to add/remove disk space from devices manually through the web site\r\n\r\n* max col width is 12\r\n\r\n* updated CHANGELOG.md\r\n\r\n* after adding an application, automatically filter to it on reload\r\n\r\n* updated README.md\r\n\r\n* updated screenshots\r\n\r\n* set paging to false\r\n\r\n* renamed to application lifecycles to be more specific\r\n\r\n* don't delete applications when monitoring is enabled\r\n\r\n* added very basic operating systems list page\r\n\r\n* update wording as this isn't actively checking if an update exists\r\n\r\n* added ability to set end of life information for an operating system\r\n\r\n* added better description to page\r\n\r\n* fixed visible icon on 802.1x supplicant password field\r\n\r\n* fix decom and add device variable error\r\n\r\n* fixed issue with blank passwords and ldap_bind\r\n\r\n* clicking license key will copy it to the clipboard\r\n\r\n* use openssl to encrypt to avoid mcrypt\r\n\r\n* update changelog in anticipation of merge\r\n\r\n* remove references to mcrypt install\r\n\r\n* update schema\r\n\r\n* need this for encryption to work properly\r\n\r\n* added additional lifecycle screen\r\n\r\n* version bump","shortMessageHtmlLink":"Software Applications and Lifecycles (#19)"}},{"before":"ecccf74956498b3d78c8d0a0531f2eb661c11ae3","after":"6245bf75278bf7be3932eef43e312c85948aec7b","ref":"refs/heads/software_applications","pushedAt":"2023-03-14T20:10:01.899Z","pushType":"push","commitsCount":2,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"version bump","shortMessageHtmlLink":"version bump"}},{"before":"e3b7ec0a42f6e35396a0c599c21a98e83949baba","after":"ecccf74956498b3d78c8d0a0531f2eb661c11ae3","ref":"refs/heads/software_applications","pushedAt":"2023-03-14T20:02:43.613Z","pushType":"push","commitsCount":4,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"need this for encryption to work properly","shortMessageHtmlLink":"need this for encryption to work properly"}},{"before":"0b3b099431b05fb5f0fc9378e21a321ea684dd09","after":"e3b7ec0a42f6e35396a0c599c21a98e83949baba","ref":"refs/heads/software_applications","pushedAt":"2023-03-14T18:36:48.018Z","pushType":"push","commitsCount":1,"pusher":{"login":"robweber","name":"Rob","path":"/robweber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1572423?s=80&v=4"},"commit":{"message":"use openssl to encrypt to avoid mcrypt","shortMessageHtmlLink":"use openssl to encrypt to avoid mcrypt"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYW3U9AA","startCursor":null,"endCursor":null}},"title":"Activity ยท eau-claire-energy-cooperative/simple-inventory"}