fsxfreak / club-suite Goto Github PK
View Code? Open in Web Editor NEWClub Suite is a platform where you can create a club, manage your club's finances, keep track of members, and plan events.
License: MIT License
Club Suite is a platform where you can create a club, manage your club's finances, keep track of members, and plan events.
License: MIT License
Take Kevin's club_view templates (@kevinzavier can you comment which ones they were?) and add and modify as necessary to fit the wireframe. #40 necessarily needs a button to join teh club.
For each model, add the def __str__(self):
function so we can stringify objects for debugging
After #66 is completed, display as a table the clubs that the user is part of through the variable {{ user.clubs }}
optional: make sure the page shows a confirmation dialog to resign from a club, and then post to {% url suite:edit_profile' %} with
input name='resign' value='club_name_goes_here'`
Should create view_events.py
to the url /club/[regex]/event
,
and view_event_create.py
to correspond to the url '/club/[regex]/event/create'
.
For the [regex] stuff, check out the example of
url(r'^club/(?P<clubid>[\w-]+)/$', views.ClubView.as_view(), name='club_view'),
where the ?P<clubid>
stuff is the regex. Ask @kevinzavier for help with that.
view_club_create.py
view_signup.py
useful link here: http://django-testing-docs.readthedocs.io/en/latest/views.html
helper function to find upcoming events for a club ordered by start time, most recent to oldest.
given a user, find all events that the user has attended, ordered by start time, most recent to oldest.
given a user and a club, find all events that the user has attended, ordered by start time, most recent to oldest.
given a user, return all club objects that the user is a member of.
Render account.html, accomodate GET and POST request from the /account
url. Make sure it is defined correctly in urls.py
.
mdl_role.py (role table) is commented out. Rn we're using models.Group to implement the similar functions.
Plz use the new functions in the User class (mdl_user.py) and ClubManager class (mdl_club.py).
Create form for searching clubs at the very basic level (by club_name
), should expand to search clubs by type (dropdown once #23 is finished) in the future.
After #10 is implemented, here are some notes I sent to David ---
one thing that would be good to look into on the dashborad would be taking permissions defined by the PermissionsMixin and differentiating the dashboard according to those
that would be after jiaxi and shijie implement those, but good to look into as i have no idea how to use the permissions in the view lol
RegistrationForms:
(Will add more as we find them)
qry_searchclubs:
[Added: 2/23/17]
qry_searchclubs:
Link /dashboard
in urls py to view_dashboard.py
, which should render dashboard.html
with the Account and User context.
Integrate additional templates in the registration/
folder. See https://github.com/collinanderson/funkyauth for reference.
After #28 is finished, users should be able to search for clubs, and view them (@kevinzavier) and there should be a button to request to join the club, as per [OA0]. Perhaps currently we want to automatically approve a user request to join.
Account model - create new Account
model in mdl_user.py
that has a one-to-one relationship with class User(). User should handle administrative stuff (email, password, name) and Account should have personal details.
logout users, should be something similar to https://docs.djangoproject.com/en/1.10/topics/auth/default/#how-to-log-a-user-out
create a new view_logout.py if necessary
Form to match the Event model.
perhaps also show to officers members who have pending status, so they can remove? need to revise #40 to set members to "pending" status.
After searching a club, the results should show description in addition to the name
in club manage and club dashboard, can take advantage of queries from here: #69
Create Club
and Event
model in mdl_club.py
and mdl_event.py
tables respectively.
The line causing the error is:
clubs = request.user.club_set.all()
Backend needs queries for the following:
database integrity. currently looking through most of the models, there is are no designated fields with primary_key=True
and/or unique=True
. For example, in the Club
model, a logical constraint would be that the club name should be unique=True
. It is also missing a club_id
field, which should have primary_key=True
, so other model queries can refer to them uniquely.
check through the other models to see if there should be any other similar fields.
dashboard.html
context accessible from {{ user.[some field] }}
, when implemented from the backend, which should refer to the Account
model.
Refer to Ramsey's wireframe.
In the backend branch, line 18 club_type = ... gives error when attempting to create a club
Should be prepared to take in context in a club
key, attributes club.title
, list club.members
, with each member
in club.members
having member.name
and member.role
. See https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#for to get an idea.
Gives error "save prohibited to prevent data loss due to unsaved related object uid" when creating new Role object. Fixed in our test by doing "user.save()". Can fix by putting "commit=True" before line 38 "if commit:"
about page ready to go, probably just want a nice looking blurb with photos of the whole team on the page. Grab some pics from @AftermathK, and @kevinzavier should know how to manage the static image files here.
create a new view and template for managing clubs, to be linked to from the dashboard.
on this view, list all clubs that a member is part of.
For the fields that you use, 'models.CharField(max_length=1000)', use models.TextField() like in
event_description = models.CharField(max_length=1000)
on the mdl_events.py file
#20 applies to club_description
club_type
should be enumerated? Currently the passerby can speciffy whatever club type they want, don't we want it to be PUBLIC/PRIVATE?
form POST to url club_search
, containing field 'club_name' for the database to query and return results.
others? Ramsey shall add as he sees fit
Should contain a form that POST to {% url account %}
, editing all the details of the Account
model.
Once #33 is finished, connect the user to the club and for that club assign greater permissions.
dashboard club overview should return only clubs that the user is a member of.
Require login on most of the app views, to be done after login system is working.
enhancement, not really needed for the app that we gotta present.
Unroll the form context for prettier form field rendering
https://docs.djangoproject.com/en/1.10/topics/forms/#working-with-form-templates
Officers need to be able to be notified whenever a member requests to join their club.
Therefore there should be some kind of database table that stores messages for officers of a club so perhaps they can approve users joining their club, or approve promotions.
The new tests have import errors. How do I fix this?
roster requires prettifying.
access to the club through the club
object, member level in role
object, and user/account information in role.uid
object.
For each of the queries in #24 that @Jcjacky and @ShijieFan come up with, test if they return expected values. For example, if Users are associated with a Club, querying for all uesrs in a club should return a set of all users in that club. That needs to be tested.
Currently, permissions are set using some text/enum kinda thing, which is hard to work with in django.
Consider using PermissionsMIxin
, which User should already be inheriting from. Check out
https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#custom-permissions for further info.
Prettify the club_join.html page, and perhaps leave some comments down here on what fields should be added to the page, so perhaps an officer can see whatever the prospective member has written down. Low priority.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.