Skip to content

Commit

Permalink
Merge pull request #135 from ppfeufer/development
Browse files Browse the repository at this point in the history
[RELEASE] v1.20.7
  • Loading branch information
ppfeufer authored Sep 14, 2023
2 parents af39ab1 + f21b17e commit 18d99b6
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 54 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/automated-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ jobs:
working-directory: artifacts

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
files: artifacts/coverage-${{ github.event_name }}-${{ github.sha }}/coverage.xml # optional
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning]

## \[In Development\] - Unreleased

## \[1.20.7\] - 2023-09-14

### Fixed

- Exception: 'NoneType' object has no attribute 'character_name' when opening the
Dashboard view and in one of the displayed SRP links is a fleet commander who
doesn't exist anymore.

## \[1.20.6\] - 2023-09-12

### Fixed
Expand Down
198 changes: 147 additions & 51 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,98 +5,194 @@ ______________________________________________________________________
<!-- mdformat-toc start --slug=github --maxlevel=6 --minlevel=1 -->

- [Contributing](#contributing)
- [Code Formatting](#code-formatting)
- [Contributing via Pull Requests](#contributing-via-pull-requests)
- [Commits](#commits)
- [Test Coverage](#test-coverage)
- [Development Environment](#development-environment)
- [Code Formatting and Linting](#code-formatting-and-linting)
- [Python](#python)
- [JavaScript](#javascript)
- [Minified JS](#minified-js)
- [CSS](#css)
- [Minified CSS](#minified-css)
- [pre-commit](#pre-commit)
- [Branching and Contributing via Pull Requests](#branching-and-contributing-via-pull-requests)
- [Tests](#tests)
- [Checklist](#checklist)
- [Translation](#translation)

<!-- mdformat-toc end -->

______________________________________________________________________

## Code Formatting<a name="code-formatting"></a>
## Development Environment<a name="development-environment"></a>

This app is utilizing the [Black](https://black.readthedocs.io/en/stable/the_black_code_style.html)
code style. Every commit has to adhere to it.
To develop and test your change you will need a development environment on your
local machine. There are many different options to choose from. But please make sure
that you can run pre-commit checks and tox tests on your local machine.

This repository uses [pre-commit](https://github.com/pre-commit/pre-commit) to
verify compliance with formatting rules. To use:
If you are on Windows or Linux you can use the [AA guide for setting up a dev
environment][aa guide for setting up a dev environment].

1. Install `pre-commit`.
1. From inside the `aa-srp` root directory, run `pre-commit install`.
1. You're all done! Code will be checked automatically using git hooks.
## Code Formatting and Linting<a name="code-formatting-and-linting"></a>

You can check if your code to commit adheres to the given style by simply running:
### Python<a name="python"></a>

This app is utilizing the [Black code style]. Every commit has to adhere to it.

When making changes to the source code, please always reformat the changed files in
order to ensure consistent formatting across the code base.

To reformat run the following from the app's root directory:

```shell
pre-commit
pre-commit run black
```

Or to check all files:
### JavaScript<a name="javascript"></a>

The JavaScript code follows [ECMAScript 6 (or ES6 for short)][ecmascript 6] or later
rules. The use of arrow functions is preferred and `this` or `$(this)` should be
prevented. Functions need to be declared before their use and the JavaScript code
should follow `'use strict';`.

Indent size: 4 spaces

A linter configuration is declared as `.eslintrc.json` in the app's root directory.

To check that your JavaScript code adheres to the rules, run:

```shell
pre-commit run --all-files
pre-commit run eslint
```

The following will be checked by `pre-commit`:
#### Minified JS<a name="minified-js"></a>

- no trailing whitespaces (excluded are: minified js and css, .po and .mo files)
- one, and only one, empty line at the end of every file (excluded are: minified js and css, .po and .mo files)
- line ending is LF
- code formatted according to black code style
- code conforms with flake8
This project uses minified and compressed JavaScript files with source maps created by
[UglifyJS]. Make sure to add/update them as well if you add or change JavaScript.

## Contributing via Pull Requests<a name="contributing-via-pull-requests"></a>
To do so, run:

To contribute code via pull request, make sure that you fork the repository and branch
your changes from the `development` branch. Only pull requests towards the development
branch will be considered.
```shell
uglifyjs script.js -o script.min.js --source-map "url='script.min.js.map'" --compress --mangle
```

Please make sure you have signed the [License Agreement](https://developers.eveonline.com/resource/license-agreement)
by logging in at https://developers.eveonline.com before submitting any pull requests.
### CSS<a name="css"></a>

### Commits<a name="commits"></a>
The CSS should be written in a modern manner. Colour definitions should be in RGB(A)
(`rgb(255 255 255)`, `rgba(255 255 255 / 50%)`) for example.

Commit headers should be short (not longer than 70 characters) and precise. Use
the commit body for a more detailed explanation of the commit.
A linter configuration is declared as `.stylelintrc.json` in the app's root directory.

Commit headers should be prefixed to state what kind of commit it is.
Indent size: 4 spaces

- `[FEATURE] Foobar` When a new feature is introduced
- `[ADDED] Foobar` When something is added to the code base to enhance existing
functions
- `[REMOVED] Foobar` When something is removed, like deprecated or unused code
- `[FIX] Foobar` For bug fixes or fixes in general. Ideally followed by an issue ID
- `[CHANGE] Foobar` When Code or appearance has been changed that doesn't fit in any
of the other categories. Usually for changes in templates or optimisations in the
Python code itself
- `[MISC] Foobar` When it doesn't fit in anything else
To check that your JavaScript code adheres to the rules, run:

### Test Coverage<a name="test-coverage"></a>
```shell
pre-commit run stylelint
```

Please make sure your contribution comes with tests covering your additions and
changes. We aim to always improve the test coverage in this project. Pull
requests lowering the test coverage will not be considered for merging.
#### Minified CSS<a name="minified-css"></a>

You can run tests locally via:
This project uses minified CSS files with source maps created by [CSSO]. Make sure
to add/update them as well if you add or change CSS.

```shell
make coverage
csso -i styles.css -o styles.min.css -s file
```

The full tox-test suite can be run via:
### pre-commit<a name="pre-commit"></a>

```shell
make tox_tests
This repository uses [pre-commit] to verify compliance with formatting / linting rules.
To use:

1. Install `pre-commit` to your system.
1. Run' pre-commit install' inside the app's root directory.
1. You're all done! Code will be checked automatically using git hooks.

You can check if your code to commit adheres to the given style by simply running:

```shell script
pre-commit
```

Or to check all files:

```shell script
pre-commit run --all-files
```

The following will be checked by `pre-commit` (among others):

- No trailing whitespaces (excluded are minified js and css, .po and .mo files and
external libs)
- One, and only one, empty line at the end of every file (excluded are minified js
and css, .po and .mo files and external libs)
- Line ending is LF
- Python code formatted according to black code style
- Python code blocks in markdown files are formatted to black code style
- Code conforms with flake8
- Code generally adheres to the editor config
- Python code is updated to the minimal Python version
- Python code is updated to the minimal Django version
- Imports in Python code are sorted properly
- Markdown files are formatted properly
- No pylint issues

## Branching and Contributing via Pull Requests<a name="branching-and-contributing-via-pull-requests"></a>

To contribute code via pull request, make sure that you fork the repository and
branch your changes from the `development` branch. We strongly recommend to create a
new branch for every new feature or change you plan to be submitting as merge request.

Only pull requests towards the `development` branch will be considered.

Before you start working on a new feature, please open an Issue (Type: Feature
Request) and start a discussion if your idea is generally wanted and considered a
good addition to the app in general.

Please feel free to create your merge request early and while you are still not
finished developing to flag that you are working on a specific topic. Merge request
that are not yet ready to review should be marked as DRAFT. You can signal others
that your merge request is ready for review by removing the DRAFT flag again.

## Tests<a name="tests"></a>

Please update existing or provide additional unit tests for your changes. Note that
your merge request might fail if it reduces the current level of test coverage.

We are using [Python unittest] with the Django `TestCase` class for all tests. In
addition we are using some following 3rd party test tools:

- django-webtest / [WebTest] - testing the web UI
- [request-mock] - testing requests with the requests library
- [tox] - Running the test suite
- [coverage] - Measuring the test coverage

## Checklist<a name="checklist"></a>

Before you submit a pull request, please make sure that:

- [ ] Your code follows the style guidelines of this project
- [ ] Your changes are supported and covered by tests
- [ ] You have performed a self-review of your own code
- [ ] You have commented on your code, particularly in hard-to-understand areas
- [ ] You have checked your code and corrected any misspellings

## Translation<a name="translation"></a>

This app is fully translation-ready and translations are handled via [Weblate]. If
you like to contribute to the app's translation or simply improve it, feel free to
register on my [Weblate] site and message me, so I can add you to the right group.
register on my [Weblate] instance and start translating.

<!-- Links -->

[aa guide for setting up a dev environment]: https://allianceauth.readthedocs.io/en/latest/development/dev_setup/aa-dev-setup-wsl-vsc-v2.html "AA Guide for Setting up a Dev Environment"
[black code style]: https://black.readthedocs.io/en/latest/l "Black Code Style"
[coverage]: https://coverage.readthedocs.io/en/latest/ "coverage"
[csso]: https://github.com/css/csso "CSSO (CSS Optimizer)"
[ecmascript 6]: https://www.w3schools.com/js/js_es6.asp "JavaScript ECMAScript 6"
[pre-commit]: https://github.com/pre-commit/pre-commit "pre-commit"
[python unittest]: https://docs.python.org/3/library/unittest.html "Python Unittests"
[request-mock]: https://requests-mock.readthedocs.io/en/latest/ "request-mock"
[tox]: https://tox.wiki/en/latest/ "tox"
[uglifyjs]: https://github.com/mishoo/UglifyJS "UglifyJS"
[weblate]: https://weblate.ppfeufer.de/ "Weblate"
[webtest]: https://docs.pylonsproject.org/projects/webtest/en/latest/ "Webtest"
2 changes: 1 addition & 1 deletion aasrp/views/ajax.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def dashboard_srp_links_data(
"creator": get_main_character_from_user(user=srp_link.creator),
"fleet_time": srp_link.fleet_time,
"fleet_type": fleet_type,
"fleet_commander": srp_link.fleet_commander.character_name,
# "fleet_commander": srp_link.fleet_commander.character_name,
"fleet_doctrine": srp_link.fleet_doctrine,
"aar_link": aar_link,
"srp_code": {"display": srp_code_html, "sort": srp_link.srp_code},
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ requires = [

[project]
name = "aa-srp"
version = "1.20.6"
version = "1.20.7"
description = "Improved SRP Module for Alliance Auth"
readme = "README.md"
keywords = [
Expand Down

0 comments on commit 18d99b6

Please sign in to comment.