Skip to content

Commit

Permalink
Merge pull request #115 from NFM-Studios/develop
Browse files Browse the repository at this point in the history
Merge Develop - V1.0.0
  • Loading branch information
techlover1 committed Jan 11, 2021
2 parents 283e4a4 + a591686 commit 985c0aa
Show file tree
Hide file tree
Showing 233 changed files with 3,256 additions and 4,948 deletions.
6 changes: 3 additions & 3 deletions .env.example
Expand Up @@ -29,9 +29,6 @@ storage_endpoint_url=https://
# Your email server (for example smtp.gmail.com)
email_host=

# The email address you use for paypal
paypal_email=

# The login information for your email account
email_host_user=
email_host_password=
Expand All @@ -54,6 +51,9 @@ site_name=
site_server=

#### Optional settings (only set these if you know what you're doing)
#enable_wagers=
#enable_store=
#paypal_email=""
#user_verification=
#esports_mode=
#static_path=
Expand Down
3 changes: 2 additions & 1 deletion Jenkinsfile
Expand Up @@ -57,4 +57,5 @@ pipeline {
'''
}
}
}

}
31 changes: 31 additions & 0 deletions changelog.md
@@ -1,4 +1,35 @@
Project Olly Changelog

# 1.0.0 - YES WE'VE MADE IT
Started in August of 2017, after much delays of life and school
we're happy to call this a release build of project-olly. Thank you to al our contributors
that have made this goal possible! The support in all shapes and forms don't go unnoticed!

Please note the substantial and large
changes made in this update may affect compatibility with previous versions databases
- Add SteamID64 and Discord profile fields
- Add basic stats models (will be built upon further in later updates)
- Added notification system for users
- Rework team invites and team roles entirely (from the backend)
- Fix multiple team list templates to work with new standards
- Improve staff panel teams templates
- Remove some hard coded links
- Add free agents to Leagues
- Allow staff to disable free agent registration for leagues within LeagueSettings
- Implement point system for LeagueMatches
- Basic team checkin process ahead of matches
- Multiple other staff panel league improvements
- Front end league template improvements (standings, and more)
- Complete rework of tournament brackets - no more size restrictions, much more efficient brackets!
- Switched to jenkins for project builds, no more travisci
- Implement map random picking for tournaments and league matches
- Shift to single template tournament brackets
- General code cleanup and improvement
- DoubleElimination tournaments soon!

# 0.9.0
- Implement leagues functionality

# 0.8.1
- News articles publish date now auto fills with last saved date when editing
- Fix news post fields (fixes a possible 500 error when editing). closes #54
Expand Down
6 changes: 5 additions & 1 deletion leagues/admin.py
@@ -1,3 +1,7 @@
from django.contrib import admin
from .models import League, LeagueDivision, LeagueTeam, LeagueSettings

# Register your models here.
admin.site.register(League)
admin.site.register(LeagueDivision)
admin.site.register(LeagueTeam)
admin.site.register(LeagueSettings)
91 changes: 50 additions & 41 deletions leagues/migrations/0001_initial.py
@@ -1,20 +1,54 @@
# Generated by Django 2.2.12 on 2020-05-16 00:48
# Generated by Django 2.2.15 on 2020-12-09 20:08

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = [
('matches', '0022_auto_20200410_1506'),
('teams', '0008_team_image'),
('singletournaments', '0021_auto_20200420_0007'),
]

operations = [
migrations.CreateModel(
name='League',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(default='League Name', max_length=50)),
('active', models.BooleanField(default=False)),
('info', models.TextField(default='No information provided')),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('image', models.ImageField(blank=True, null=True, upload_to='league_images')),
('teamformat', models.SmallIntegerField(choices=[(0, '1v1'), (1, '2v2'), (2, '3v3'), (3, '4v4'), (4, '5v5'), (5, '6v6')], default=1)),
('bestof', models.SmallIntegerField(choices=[(0, 'Best of 1'), (1, 'Best of 3'), (2, 'Best of 5'), (3, 'Best of 7'), (4, 'Best of 9')], default=0)),
('allow_register', models.BooleanField(default=False)),
('open_register', models.DateTimeField()),
('close_register', models.DateTimeField()),
('start', models.DateTimeField()),
('req_credits', models.PositiveSmallIntegerField(default=0)),
('size', models.PositiveSmallIntegerField(default=8)),
('disable_userreport', models.BooleanField(default=False)),
('prize1', models.CharField(default='no prize specified', max_length=50)),
('prize2', models.CharField(default='no prize specified', max_length=50)),
('prize3', models.CharField(default='no prize specified', max_length=50)),
],
),
migrations.CreateModel(
name='LeagueDivision',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, null=True)),
],
),
migrations.CreateModel(
name='LeagueFreeAgent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', models.TextField(default='Include information about Free Agent here')),
],
),
migrations.CreateModel(
name='LeagueSettings',
fields=[
Expand All @@ -29,9 +63,17 @@ class Migration(migrations.Migration):
('allow_tie', models.BooleanField(default=False)),
('num_games', models.PositiveIntegerField(default=10)),
('auto_schedule', models.BooleanField(default=False)),
('record_format', models.CharField(choices=[(1, 'W-L-OTL'), (2, 'W-L-T'), (3, 'W-L-OTW-OTL'), (4, 'W-L-OTW-OTL-OTT'), (5, 'W-L')], default='W-L-OTL', max_length=20)),
('num_divisons', models.PositiveSmallIntegerField(default=2)),
('auto_matchup', models.BooleanField(default=False)),
('num_divisions', models.PositiveSmallIntegerField(default=2)),
('max_division_size', models.PositiveSmallIntegerField(default=5)),
('require_xbl', models.BooleanField(default=False)),
('require_psn', models.BooleanField(default=False)),
('require_steam', models.BooleanField(default=False)),
('require_epic', models.BooleanField(default=False)),
('require_lol', models.BooleanField(default=False)),
('require_battlenet', models.BooleanField(default=False)),
('require_activision', models.BooleanField(default=False)),
('allow_fa', models.BooleanField(default=False)),
],
),
migrations.CreateModel(
Expand All @@ -43,40 +85,7 @@ class Migration(migrations.Migration):
('ot_losses', models.PositiveSmallIntegerField(default=0)),
('ot_wins', models.PositiveSmallIntegerField(default=0)),
('ties', models.PositiveSmallIntegerField(default=0)),
('team', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_team', to='teams.Team')),
],
),
migrations.CreateModel(
name='LeagueDivision',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, null=True)),
('games', models.ManyToManyField(blank=True, to='matches.Match')),
('teams', models.ManyToManyField(blank=True, to='leagues.LeagueTeam')),
],
),
migrations.CreateModel(
name='League',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(default='League Name', max_length=50)),
('active', models.BooleanField(default=False)),
('info', models.TextField(default='No information provided')),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('image', models.ImageField(blank=True, upload_to='league_images')),
('teamformat', models.SmallIntegerField(choices=[(0, '1v1'), (1, '2v2'), (2, '3v3'), (3, '4v4'), (4, '5v5'), (5, '6v6')], default=1)),
('bestof', models.SmallIntegerField(choices=[(0, 'Best of 1'), (1, 'Best of 3'), (2, 'Best of 5'), (3, 'Best of 7'), (4, 'Best of 9')], default=0)),
('allow_register', models.BooleanField(default=False)),
('open_register', models.DateTimeField()),
('close_register', models.DateTimeField()),
('start', models.DateTimeField()),
('divisions', models.ManyToManyField(blank=True, to='leagues.LeagueDivision')),
('game', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_game', to='matches.GameChoice')),
('platform', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_platform', to='matches.PlatformChoice')),
('ruleset', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_ruleset', to='singletournaments.SingleTournamentRuleset')),
('settings', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_settings', to='leagues.LeagueSettings')),
('sport', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_sport', to='matches.SportChoice')),
('points', models.PositiveIntegerField(default=0)),
],
),
]
85 changes: 85 additions & 0 deletions leagues/migrations/0002_auto_20201209_1508.py
@@ -0,0 +1,85 @@
# Generated by Django 2.2.15 on 2020-12-09 20:08

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = [
('leagues', '0001_initial'),
('matches', '0002_auto_20201209_1508'),
('teams', '0001_initial'),
('profiles', '0001_initial'),
('singletournaments', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='leagueteam',
name='team',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_team', to='teams.Team'),
),
migrations.AddField(
model_name='leaguefreeagent',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fa_profile', to='profiles.UserProfile'),
),
migrations.AddField(
model_name='leaguedivision',
name='matches',
field=models.ManyToManyField(blank=True, to='matches.Match'),
),
migrations.AddField(
model_name='leaguedivision',
name='teams',
field=models.ManyToManyField(blank=True, to='leagues.LeagueTeam'),
),
migrations.AddField(
model_name='league',
name='divisions',
field=models.ManyToManyField(blank=True, to='leagues.LeagueDivision'),
),
migrations.AddField(
model_name='league',
name='fa',
field=models.ManyToManyField(blank=True, related_name='league_fas', to='leagues.LeagueFreeAgent'),
),
migrations.AddField(
model_name='league',
name='game',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_game', to='matches.GameChoice'),
),
migrations.AddField(
model_name='league',
name='maps',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_maps', to='matches.MapPoolChoice'),
),
migrations.AddField(
model_name='league',
name='platform',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_platform', to='matches.PlatformChoice'),
),
migrations.AddField(
model_name='league',
name='ruleset',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_ruleset', to='singletournaments.SingleTournamentRuleset'),
),
migrations.AddField(
model_name='league',
name='settings',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='league_settings', to='leagues.LeagueSettings'),
),
migrations.AddField(
model_name='league',
name='sport',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='league_sport', to='matches.SportChoice'),
),
migrations.AddField(
model_name='league',
name='teams',
field=models.ManyToManyField(blank=True, to='leagues.LeagueTeam'),
),
]
20 changes: 0 additions & 20 deletions leagues/migrations/0002_league_maps.py

This file was deleted.

23 changes: 0 additions & 23 deletions leagues/migrations/0003_auto_20200515_2139.py

This file was deleted.

18 changes: 18 additions & 0 deletions leagues/migrations/0003_auto_20201209_1721.py
@@ -0,0 +1,18 @@
# Generated by Django 2.2.15 on 2020-12-09 22:21

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('leagues', '0002_auto_20201209_1508'),
]

operations = [
migrations.AlterField(
model_name='league',
name='bestof',
field=models.SmallIntegerField(choices=[(1, 'Best of 1'), (2, 'Best of 2'), (3, 'Best of 3'), (4, 'Best of 4'), (5, 'Best of 5')], default=0),
),
]
18 changes: 0 additions & 18 deletions leagues/migrations/0004_auto_20200515_2205.py

This file was deleted.

18 changes: 18 additions & 0 deletions leagues/migrations/0004_auto_20201209_1729.py
@@ -0,0 +1,18 @@
# Generated by Django 2.2.15 on 2020-12-09 22:29

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('leagues', '0003_auto_20201209_1721'),
]

operations = [
migrations.AlterField(
model_name='league',
name='bestof',
field=models.SmallIntegerField(choices=[(1, 'Best of 1'), (2, 'Best of 2'), (3, 'Best of 3'), (4, 'Best of 4'), (5, 'Best of 5')], default=1),
),
]

0 comments on commit 985c0aa

Please sign in to comment.