Git Product home page Git Product logo

portal_frontend's Issues

Users should be able to change their email and password

As a separate page there should be a possibility to change the password for the user.

E-mail should be validated via sending activation e-mail once again - preferably to the old account for security reasons.

Any change should require user to enter current password.

Fix deprecated Typography uses.

Typography in new Material-UI is using different (deprecated) variants naming. Change all Typography uses to be up to date.

DM should be able to add manually extra players that showed up at the game table

When DM is filling out report, extra players' DCIs can be entered (comma separated) for the players without account in the system or joined ad hoc.

Frontend

  • add input field for the extra DCIs with help text: "Enter extra DCIs comma separated" - the field name: "Additional players DCIs".
  • front-end should send the extra players as extra_players field in the payload

Backend

  • update serializer should accept extra_players field with text
  • the data is saved to the field in the game session model (see #80 )
  • the field is optional (can be null)

Setup Django project

Stack for django:

  • Python 3.5
  • Django 2.0.6
  • django-rest-framework 3.8.2
  • sqlite on dev / psql on prod

Add fabric setup for bootstrapping local dev

To speed up process of starting work on the project, we need to introduce fabric command for quick bootstrap:

  • remove old sqlite
  • create new sqlite
  • run migrations
  • create new superuser
  • run command for creating fake data

Hide registration link on the mobile views

The "Register" link button in the Top Nav is overlaying the logotype. It is not necessary since users can register by going to login -> sign up.

But in case they do not see that, we can also add it to the navigation when user is not authenticated. Do not show this in the left nav on desktop though!

After account activation redirect to the information page with confirmation.

After the account has been activated it should redirect the user to the success page.

URL: /signup/success/

Body:

Your account has been activated. You can now sign in.

The sign in should be linking to the sing in view.

This story requires:

  • setup of the success redirect URL (probably in the settings -- this needs research)
  • adding proper route in the React app
  • adding proper React component for the routed view

Users should be able to reset their password when it's lost/forgotten

Users may not remember their passwords, so it would be better to cover the case with separate views for resetting the password:

  1. Form with e-mail field for entering login email for the user. Then the form sends the reset password email based on the generated hash stored in the profile (based on timestamp)

  2. Form for new passwords - loaded by clicking the URL in the e-mail and validated against the hash in the profile model.

Configure production

Configure production instance for running the site and hold secrets properly.

Notification on number of players below the required minimum (of 3)

Once player leaves the game and the number of players drop below 3 (which is minimum for AL legal game session), we will send notification about the event to DM and other players.

The notification body should be:

A player has signed out from the game session and now there's not enough players (minimum of 3) for the game to be AL legal. If no other player joins the game session before the session date it will be cancelled.

Also it should include the basic info on the impacted game session.

Add notification on homepage about missing DCI in the user's profile.

The message should be:

You still haven't provided DCI for your account. You need to set your DCI number in order to be able to play games in the League. DCI number can be acquired on Wizards of the Coast page after registering an account. Once you have one update your profile.

And should link to the wizards DCI registration page.

Mobile view fixes

List Items in the mobile view don't look good. Should be changed into something else, or styled out better.

After the game session unreported games should appear on the homepage for DM

This story aims to provide DM with information on the games that need attention and should be filled out for the reporting back to Wizards.

As a part of this story:

  • introduce game report status flag T/F
  • introduce new char field in the game for extra DCI of the players that participated in the game (comma separated)
  • add API filter for the games w/ or w/o reported status flag set
  • add list API of the games filtered out for the current DM and without report yet that was in the past
  • create React list component with games for the DM that are past and haven't been reported yet
  • add admin column for games with report flag

Acceptance criteria:

  • front can query API for past games list with flag
  • front displays list of the past games without report in the homepage (for the signed DM that was running the game)
  • admin interface displays report flag in a column of a proper model

DMs should be able to award DM rewards for running the game

Backend:

  • Introduce DMReward model
  • add admin management for the model
  • add serializer class for the Reward
  • add Permission class so the views are allowed only for DMs
  • add Create/Retrieve/Update/Delete views

Frontend

  • Add list of rewards for the DM
  • Add form component (dialog?) for adding new reward
  • Provide Add button for adding reward
  • Provide button for editing
  • Handle add/edit
  • Provide button for removing (confirmation!) reward

After the game DM should select which players actually showed up on the game session.

The DM may enter the detail page of the game and confirm list of the players that were at the table during the game.

  • On the detail page add action button for DM: "Fill out game report" which shows up after the game is ended (next day if no end time specified)
  • The button opens Dialog with a list of the signed players at the table listed with checkbox
  • Also select all switch is available for selecting all players (this should be typically used for the most cases)
  • Add button "Send report" to save the report in the system.
  • On save send game session update (PUT) with list of players uuid that attended the game

Backend

  • In the Game Sign Up model add NullBooleanField reported flag (default=None).
  • On report sent save report flag for the GameSession
  • Also set reported flag in the sign up to True for all selected players and to False for those, that were signed, but not selected.
  • create endpoint for updating game session that saves data for players' signups and game session itself
  • endpoint should reject (400) updates for the future games
  • add column in the game sign up admin to show if player has attended the game
  • also add filter by this flag in the admin

Acceptance criteria

  • DM can fill out report for the past game on the game site
  • in the admin there's a column for game sign up with report status

Search field for players list

The search is available for Characters List. We should introduce similar (or even the same) functionality for the Players List.

This requires to add appropriate filters/searches in the backend API views + components and API support on the front-end

Add admin action for generating report for the games within the last week

In the admin interface user should be able to select games for which wants to export games report (date of game and list of DCIs - DM's and others).

Add admin action for selected games to generate report.

The result should be e-mail sent to managers with a list of:

  • game date
  • DM running game DCI
  • attending players' DCIs

DMs should be able to provide feedback notes on the selected Player

Backend:

  • add serializer for adding notes on the selected user
  • add views for create/retrieve/update/delete notes
  • add permission check class on the object basis - DM can delete only it's own notes
  • add profile serializer
  • add view with list of players
  • only DMs can see list of players

Adjust adventures types in the models

As noted in the AL Content Catalog these are all types of adventures in AL:

DDEN “Encounters”; adventure was available only to
retailers. This program is retired, but the
content is still legal for play.
DDEP “Epic”; an adventure that is higher-challenge,
requires multiple tables, and can only be run at
a convention or retail event
DDEX “Expeditions”; standard AL adventure. This
program has been retired, but the content is
still legal for play.
DDHC “Hard Cover”; the seasonal releases that often
take characters from 1-10+. May sometimes
extend to other evergreen products, like Lost
Mine of Phandelver
DDIA “Intro Adventure”; provides an introduction to
a book, season or play, or some other event/
content.
DDLE “Launch Event”; content made available to
retail locations to celebrate the launch of a
new book. This code has been retired, but the
content is still legal for play. Now known as
DDIA.
CCC “Convention-Created Content”; adventures
that are not necessarily canon, but can be
created by conventions that have been given
permission to do so. For more information,
refer to the CCC section of this document```

And they should be included in the select options for the Adventures admin.

Also there's a AO (Author Only) type.

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.