Matches "Add Replays" link Removed
The difference between adding replays and New isn't very clear--adding a replay to an existing match uses the existing code, if any, rather than creating a new one--and whatever benefit there is to have the Add Replays link is outweighed in my opinion by the confusion it introduces.
This functionality still exists, as it does already, via the "Add Replay" link under the actions dropdown next to matches. Additionally, I've added an "Add Replay to Match" link under the actions menu to hopefully clarify that the functionality is there, as on the battles action menu the add replay only allows adding replays from that battle.
Codes
The underlying way in which the system managed the keys for codes was deeply flawed and had major scalability issues. As such, I've changed over to a much more logical approach.
On the surface there should be no noticeable differences aside from now the prefix is considered to be a part of the key, and will no longer change when a code type's prefix is changed. I doubt this will be an issue though. In theory there should also be a performance increase when entering codes as the previous method for finding what key a code when with was incredibly convoluted.
Clan Specific User Settings
Previously, the user related settings clan administrators could edit were, sans the groups, not actually clan specific. If a user moved from one clan within clan tools to another, the settings set by the previous clan, including no pay and debit would remain. This is obviously far from ideal.
To fix this, I've moved where those settings are stored around and now each user has some settings stored that are specific to their current clan. As a bonus, the system still remembers these settings when a member leaves then comes back.
Group Permission Changes
For existing clans the permission to edit a clan member's inactivity has been split from the ability to edit a member's no pay and debit settings as those are two vastly different things from my point of view. You'll need to grant the ability to manage a user's inactivity records to whichever groups you wish to have that permission.
For new clans the default permissions for several roles has been changed. Perhaps most notably is that DC's are no longer given any Group related permissions anymore and field commanders are allowed to upload replays to matches.
Additionally, as most know I'm sure, WG is going to introduce new clan roles. I've created some code for automatically adding groups and links for these new roles into Clan Tools in a logical way. I hope to perform this migration action before it's an issue, which I believe will be possible due to the RU server generally being updated first (I need to know the internal names WG gave the new permissions). Also, I've assumed that WG is going to only being changing the names that are displayed for the existing roles; if they also change the internal reference names I'll have a deal more work to do.
As for the new roles, the default permissions on Clan Tools will be:
Personnel Officer: Similar to the executive officer without most attendance and payout related permissions, or permissions that generally allow indirect code creation. So, an executive officer can view codes, however they cannot create new ones nor enter codes beyond their valid for time.
Though it is worth noting that they have the ability to upload replays and perform match related actions, including creating a match--thus depending upon how the match types are set up, by default, a personnel officer could still create codes arbitrarly.
Junior Officer: Same as soldier to match WG's approach.
Reservist: Same as recruit as recruit already has no permissions assigned by default. It is worth noting a few permissions are implied to clan members, such as the ability to view clan articles and announcements.
Templates
The template system is now on the site, though existing clans can't really use it (I took the "easy" route and avoided a lot of potential problems by simply preventing its use if a clan already has one or more code types).
Framework Update
I've also updated the framework Clan Tools uses, this, like the changes to codes, shouldn't be noticeable on the surface, it was however beneficial due to the security fixes. Unfortunately, due to differences between the framework versions I had to make various changes throughout the code to make everything work again. Everything is working as expected the best I can tell, but none the less this is a significant change so there may be some issues I didn't find.
Other Changes
- Added a warning message to the Group's page. I'm a bit torn as I don't want to scare clan leadership from using the power of the Groups system, but on the other hand the Groups system is perhaps the most powerful, and thus dangerous, system that's accessible via the site so it seems that there should be some sort of warning--I don't want it to be said I didn't give a warning.
- Removed MyWotStats link from clan applications as apparently that site closed down.
- Added a help page (link) though I think I'll wait till there's a few more videos to show on there before I publicize it more.
- Stopped loading user's account stats when doing a quick refresh a clan's members (they aren't even visible anywhere on the site, which is a different issue, but none the less).
- Auto-generation code updated to use regional time zones. This doesn't really matter at present as all of the clans are currently in the NA region, but it is a step towards making everything work as expected if clans from other servers end up using Clan Tools.
Fixes
- "Newest Tweet by" changed from ClanTools.us to Clan Tools to reflect that I changed the twitter account's name.
- Empty [] showing up next to players in Replays who were clanless.
- Payout calculator not reporting credit owed when the treasury doesn't have enough gold to cover static gold payments.
- No longer show "non participating" clans.
- Numerous pages with a search not resetting current page when searching, thus causing confusing results as no results are shown due to the page being too far advanced for the more limited search terms.
- Fixed an issue in the Match auto-create code that prevented it from working.
- Fame being updated despite regions being marked as disabled.
My current focus is now to get a few more tutorial videos created and support for other servers fully working.