cafesys's People
Forkers
jagecafesys's Issues
Coding guidelines and best-practices for Django, Python, and whatnot
Task
Write this kind of information down somewhere on the wiki.
Write test cases
How it's done in Django: http://docs.djangoproject.com/en/1.2/topics/testing/
Mailutskick vid byten
Relevant kod är baljan/models.py:traderequest_notice_delete
och baljan/models.py:traderequest_post_delete
(https://github.com/pilt/cafesys/blob/master/cafesys/baljan/models.py). Notisfunktionen (som skickar ut mail om att byten har accepterats/inte accepterats) tittar på fälten wanted_signup
och offered_signup
som kan vara borttagna. Det här fungerade av en slump i Django < 1.3, men det är naturligtvis ett logiskt fel som behöver fixas. Workaround så länge är att stänga av utskicken, de involverade får ändå mail som säger att de ha anmälts och tagits bort från enskilda pass.
Make it impossible to swap shifts if one of them are too near in the future
Impossible Shift-Swaps are Possible
It should be impossible to
- request to swap to shifts that you are assigned to,
- offer swaps to shifts that the responder is already assigned to, and
- other permutations on the same theme.
Kiosk Web Interface
Mostly done. Start a server and visit http://localhost:8000/terminal .
Determine subsystems, create a high-level database design
Fill in on the wiki.
Create a guide on how to configure CentOS for running the system
About CentOS
- Web site
- "CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor. CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. (CentOS mainly changes packages to remove upstream vendor branding and artwork.) CentOS is free."
Task
CentOS is a good choice for a server operating system. It is binary-compatible with Red Hat Enterprise Linux, famous for its stability and focus on stability and security. However, because of its server-focus, it tends to include somewhat outdated software versions. The only needed system-related change that would have to be done, AFAIK, is to add Python 2.6 to the installation (Python 2.4 is included). A good way to do that would be by adding Chris Lea's Yum repository to the repos and simply install it, and an updated mod_python (for Apache), with yum install python26 mod_python26
. It should be documented how this is done, and there should be a shell script or something that executes all the steps necessary to do it on a vanilla installation of CentOS.
Another nice thing to have documented is how to set up a Virtualbox image looking exactly like the production server will. A shell script for this would be nice as well.
Implement support for swapping shifts
Mailing list integration
mlmmj seems like a proven (used by LibreOffice) light-weight MLM with a nice MIT license suitable for us. Mailman is OK, but big and unliked by some (see jwz's rant), and is GPL-licensed.
Calendar usability: Keep vertical scroll position when shifts are added or removed
This doesn't make a difference when working on a per-month view, but when working on whole-year views, it's annoying for users to be returned to the top (January) if they were managing later months.
Pyscard won't install via pip
No distributions at all found for pyscard (from -r requirements.txt (line 18))
Fixed by adding URL to requirements.txt
Calendar usability: Board members' mode should be remembered after redirects and page reloads
Board members have another mode beside the regular worker mode where they can add/remove work days. After a redirect or reload, they always have to choose a mode. The mode should be stored in the session or in a cookie.
Use the correct HTTP verbs
BrianHV mentioned this. If side-effects will or might occur, the request should have to be a POST instead of a GET.
Example: Requesting /liu/request-become-worker/remove or /add.
When a user is demoted from the board or the worker group, and becomes a regular user, remove him from any shifts he is scheduled for
...if this is the correct behavior. If nothing else, there should be some notification.
Configure buildout and virtualenv
About Buildout
- Web site
- "Buildout is a Python-based build system for creating, assembling and deploying applications from multiple parts, some of which may be non-Python-based. It lets you create a buildout configuration and reproduce the same software later."
About Virtualenv
- Web site
- "It allows you to set up an isolated Python environment whose libraries do not affect programs outside it, making it a good choice for experimenting with new packages or to deploy different programs with conflicting library requirements."
Guide
Here is a guide on how to configure buildout and virtualenv for Django (in Swedish).
Make it impossible to remove oneself from shifts if they are too near in the future
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.