Coder Social home page Coder Social logo

crem's Issues

Conflict Catching

When an event is set to Active (that is, it is not canceled) and has a conflict, it will have a red background and a warning icon.

Conflicts include:

-another event has one of this event's people in a different place during the same time slot
-another event is in the same room during the same time slot

For the event's listing on the schedule view, the entire div row for that event will have a red background.

In the grid view (in which columns are rooms and rows are time slots), the event's cell in the grid will have a red background.

Authentication

Only show the site to those who log in with a Google authentication. We are fortunate that we only have to authenticate a specified whitelist of users who are selected by the Head of Programming (our admin user) to do work for Penguicon.

A user's email will always be a Penguicon email address (which is a GMail address) such as tech @penguicon.org. Therefore, Google sign-in should (we hope) work for all users. https://developers.google.com/identity/sign-in/web/build-button

The front of the email address serves as a track name, and the user's username. Email = username = track name.

There will be one user who is an exception, programming @penguicon.org, who is the admin user and not associated with any particular track.

Implementation

On all routes, implement the @login_required decorator from the Flask-Login extension

from flask.ext.login import login_required

Then route ('/') to view whichever track is coordinated by the logged-in user. Examples:

I log in as tech @penguicon.org: '/' -> '/tech' I see the list of Tech track events.

I log in as something which does not correspond to a track, such as programming @penguicon.org: '/' -> '/admin' which is an administration page. If it is not a Penguicon email address, deny access to the site, and route the user to a page which gives plentiful contact information with which to get help.

Each user, having logged in, may then use the navigation to surf to any page they wish. The above routing only determines their default homepage, in order to show them what is most relevant to their responsibilities.

Page doesn't use angular-local-storage

Currently home-controller.js and admin-controller.js doing all the work, and schedule.factory.js isn't using local storage. Ideally both the home and admin controllers should be sharing schedule.factory.js so it's not repeating work or hitting the backend if local storage is there.

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.