one and only one empty line at the end of the file

This commit is contained in:
Peter Pfeufer 2021-05-17 09:48:57 +02:00
parent 8c3df89d52
commit a99a375375
No known key found for this signature in database
GPG Key ID: 6051D2C6AD4EBC27
72 changed files with 53 additions and 72 deletions

View File

@ -11,4 +11,4 @@ Please include steps to reproduce the issue
Please include any tracebacks or logs
Please include the results of the command `pip list`
Please include the results of the command `pip list`

View File

@ -4,4 +4,4 @@
- Is this a Service (external integration), a Module (Alliance Auth extension) or an enhancement to an existing service/module.
- Describe why its useful to you or others.
- Describe why its useful to you or others.

View File

@ -14,3 +14,5 @@ repos:
- id: fix-byte-order-marker
- id: trailing-whitespace
exclude: \.(min\.css|min\.js|po|mo)$
- id: end-of-file-fixer
exclude: \.(min\.css|min\.js|po|mo)$

View File

@ -20,4 +20,4 @@ formats: all
python:
version: 3.7
install:
- requirements: docs/requirements.txt
- requirements: docs/requirements.txt

View File

@ -337,4 +337,3 @@ proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -43,4 +43,3 @@ AUTHENTICATION_ADMIN_USERS_MAX_GROUPS = \
AUTHENTICATION_ADMIN_USERS_MAX_CHARS = \
_clean_setting('AUTHENTICATION_ADMIN_USERS_MAX_CHARS', 5)

View File

@ -11,4 +11,4 @@ urlpatterns = [
url(r'^register/complete/$', views.registration_complete, name='registration_complete'),
url(r'^register/closed/$', views.registration_closed, name='registration_disallowed'),
url(r'', include('django.contrib.auth.urls')),
]
]

View File

@ -114,4 +114,4 @@ class OwnershipRecord(models.Model):
ordering = ['-created']
def __str__(self):
return "%s: %s on %s" % (self.user, self.character, self.created)
return "%s: %s on %s" % (self.user, self.character, self.created)

View File

@ -156,4 +156,4 @@ def ownership_record_creation(sender, instance, created, *args, **kwargs):
logger.debug("Already have ownership record of {0} by user {1}".format(instance.character, instance.user))
return
logger.info("Character {0} has a new owner {1}. Creating ownership record.".format(instance.character, instance.user))
OwnershipRecord.objects.create(user=instance.user, character=instance.character, owner_hash=instance.owner_hash)
OwnershipRecord.objects.create(user=instance.user, character=instance.character, owner_hash=instance.owner_hash)

View File

@ -26,4 +26,4 @@ CSS for allianceauth admin site
color: black ;
background-color: rgb(255, 255, 204) ;
z-index: 1 ;
}
}

View File

@ -5,4 +5,4 @@
<a href="{% url 'auth_sso_login' %}{% if request.GET.next %}?next={{request.GET.next}}{%endif%}">
<img class="img-responsive center-block" src="{% static 'img/sso/EVE_SSO_Login_Buttons_Large_Black.png' %}" border=0>
</a>
{% endblock %}
{% endblock %}

View File

@ -21,4 +21,4 @@
{% endblock %}
{% block extra_include %}
{% include 'bundles/bootstrap-js.html' %}
{% endblock %}
{% endblock %}

View File

@ -10,4 +10,4 @@ Link not working? Try copy/pasting this URL into your browser:
This link will expire in {{ expiration_days }} day(s).
If this was not you, it is safe to ignore this email.
If this was not you, it is safe to ignore this email.

View File

@ -1 +1 @@
Confirm your Alliance Auth account email address
Confirm your Alliance Auth account email address

View File

@ -3,4 +3,4 @@ from django.contrib import admin
from .models import CorpStats, CorpMember
admin.site.register(CorpStats)
admin.site.register(CorpMember)
admin.site.register(CorpMember)

File diff suppressed because one or more lines are too long

View File

@ -34,4 +34,4 @@
{% block member_data %}{% endblock %}
</div>
</div>
{% endblock %}
{% endblock %}

View File

@ -45,4 +45,4 @@
$(document).ready(function(){
$('#table-search').DataTable();
});
{% endblock %}
{% endblock %}

View File

@ -39,4 +39,3 @@ class AutogroupsConfigAdmin(admin.ModelAdmin):
admin.site.register(AutogroupsConfig, AutogroupsConfigAdmin)
admin.site.register(ManagedCorpGroup)
admin.site.register(ManagedAllianceGroup)

View File

@ -201,4 +201,4 @@ class TestEveImageServer(TestCase):
def test_type_render_url(self):
expected = 'https://images.evetech.net/types/42/render?size=128'
self.assertEqual(eveimageserver.type_render_url(42, 128), expected)
self.assertEqual(eveimageserver.type_render_url(42, 128), expected)

View File

@ -356,4 +356,4 @@ class TestTemplateTags(TestCase):
self.assertEqual(evelinks.type_render_url(123, 99), expected)
expected = ''
self.assertEqual(evelinks.type_render_url(None), expected)
self.assertEqual(evelinks.type_render_url(None), expected)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@

View File

@ -7,4 +7,3 @@ class FatlinkForm(forms.Form):
fleet = forms.CharField(label=_("Fleet Name"), max_length=50)
duration = forms.IntegerField(label=_("Duration of fat-link"), required=True, initial=30, min_value=1,
max_value=2147483647, help_text=_('minutes'))

File diff suppressed because one or more lines are too long

View File

@ -30,4 +30,3 @@
</div>
{% endblock content %}

View File

@ -8,4 +8,4 @@ def get_admin_change_view_url(obj: object) -> str:
type(obj).__name__.lower()
),
args=(obj.pk,)
)
)

View File

@ -19,4 +19,4 @@ class TestViews(TestCase):
request = self.factory.get(reverse('groupmanagement:groups'))
request.user = self.user
response = views.groups_view(request)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.status_code, 200)

View File

@ -122,4 +122,3 @@ def get_hooks(name):
"""
register_all_hooks()
return _hooks.get(name, [])

View File

@ -4,4 +4,3 @@ from django.apps import AppConfig
class PermissionsToolConfig(AppConfig):
name = 'allianceauth.permissions_tool'
label = 'permissions_tool'

View File

@ -30,4 +30,3 @@ class NameFormatConfig(models.Model):
return '%s: %s' % (
self.service_name, ', '.join([str(x) for x in self.states.all()])
)

View File

@ -1 +1 @@
default_app_config = 'allianceauth.services.modules.discourse.apps.DiscourseServiceConfig'
default_app_config = 'allianceauth.services.modules.discourse.apps.DiscourseServiceConfig'

View File

@ -16,4 +16,3 @@ class DiscourseUser(models.Model):
permissions = (
("access_discourse", u"Can access the Discourse service"),
)

View File

@ -16,4 +16,4 @@ class DiscourseAPIClient():
api_key=settings.DISCOURSE_API_KEY)
return self._client
discourse = DiscourseAPIClient()
discourse = DiscourseAPIClient()

View File

@ -64,4 +64,3 @@ class DiscourseTasks:
def get_username(user):
from .auth_hooks import DiscourseService
return NameFormatter(DiscourseService(), user).format_name()

View File

@ -94,4 +94,3 @@ def discourse_sso(request):
# Redirect back to Discourse
url = '%s/session/sso_login' % settings.DISCOURSE_URL
return redirect('%s?%s' % (url, query_string))

View File

@ -102,4 +102,3 @@ def deactivate_ips4(request):
logger.error("Unsuccessful attempt to deactivate IPS4 for user %s" % request.user)
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
return redirect("services:services")

View File

@ -78,4 +78,3 @@ class MumbleTasks:
logger.debug("Updating ALL mumble display names")
for mumble_user in MumbleUser.objects.exclude(username__exact=''):
MumbleTasks.update_display_name.delay(mumble_user.user.pk)

View File

@ -8,4 +8,3 @@ from ...admin import ServicesUserAdmin
class OpenfireUserAdmin(ServicesUserAdmin):
list_display = ServicesUserAdmin.list_display + ('username',)
search_fields = ServicesUserAdmin.search_fields + ('username', )

View File

@ -6,4 +6,4 @@ from ...admin import ServicesUserAdmin
@admin.register(Phpbb3User)
class Phpbb3UserAdmin(ServicesUserAdmin):
list_display = ServicesUserAdmin.list_display + ('username',)
search_fields = ServicesUserAdmin.search_fields + ('username', )
search_fields = ServicesUserAdmin.search_fields + ('username', )

View File

@ -7,4 +7,4 @@ from ...admin import ServicesUserAdmin
@admin.register(SmfUser)
class SmfUserAdmin(ServicesUserAdmin):
list_display = ServicesUserAdmin.list_display + ('username',)
search_fields = ServicesUserAdmin.search_fields + ('username', )
search_fields = ServicesUserAdmin.search_fields + ('username', )

View File

@ -7,4 +7,4 @@ from ...admin import ServicesUserAdmin
@admin.register(XenforoUser)
class XenforoUserAdmin(ServicesUserAdmin):
list_display = ServicesUserAdmin.list_display + ('username',)
search_fields = ServicesUserAdmin.search_fields + ('username', )
search_fields = ServicesUserAdmin.search_fields + ('username', )

View File

@ -3,4 +3,4 @@ CSS for allianceauth admin site
*/
.img-circle { border-radius: 50%; }
.column-user_profile_pic { width: 50px; }
.column-user_profile_pic { width: 50px; }

View File

@ -47,4 +47,3 @@ def disable_user(user):
for svc in ServicesHook.get_services():
if svc.service_active_for_user(user):
svc.delete_user(user)

View File

@ -14,4 +14,4 @@ class TestNameFormatConfig(TestCase):
obj.states.add(AuthUtils.get_member_state())
obj.states.add(AuthUtils.get_guest_state())
expected = 'mumble: Member, Guest'
self.assertEqual(str(obj), expected)
self.assertEqual(str(obj), expected)

View File

@ -259,4 +259,4 @@ class ServicesSignalsTestCase(TestCase):
# Assert
self.assertFalse(services_hook.get_services.called)
self.assertFalse(svc.validate_user.called)
self.assertFalse(svc.sync_nickname.called)
self.assertFalse(svc.sync_nickname.called)

View File

@ -1,2 +1 @@
default_app_config = 'allianceauth.srp.apps.SRPConfig'

View File

@ -950,4 +950,4 @@
},
"ship_type_id": 19720
}
}
}

View File

@ -12,4 +12,4 @@
"awox": false
}
}
]
]

View File

@ -55,4 +55,4 @@
.checkbox label input[type="checkbox"]:disabled + .cr,
.radio label input[type="radio"]:disabled + .cr {
opacity: .5;
}
}

View File

@ -2,4 +2,4 @@
<a href="{% url 'nightmode' %}?next={{ request.path|urlencode }}">
{% trans "Night" %}
<i class="fas {% if NIGHT_MODE %}fa-toggle-on{% else %}fa-toggle-off{% endif %}" aria-hidden="true"></i>
</a>
</a>

View File

@ -10,4 +10,4 @@
<i class="far fa-bell"></i>
</a>
{% endif %}
{% endwith %}
{% endwith %}

View File

@ -58,4 +58,3 @@
</div>
</div>
</nav>

View File

@ -1,4 +1,4 @@
<!-- Start Bootstrap + jQuery js from cdnjs -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
<!-- End Bootstrap + jQuery js from cdnjs -->
<!-- End Bootstrap + jQuery js from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start Clipboard.js js from cdnjs -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.8/clipboard.min.js" integrity="sha512-sIqUEnRn31BgngPmHt2JenzleDDsXwYO+iyvQ46Mw6RL+udAUZj2n/u/PGY80NxRxynO7R9xIGx5LEzw4INWJQ==" crossorigin="anonymous"></script>
<!-- End Clipboard.js js from cdnjs -->
<!-- End Clipboard.js js from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start Datatables-css from cdnjs -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/css/dataTables.bootstrap.min.css"/>
<!-- End Datatables-css from cdnjs -->
<!-- End Datatables-css from cdnjs -->

View File

@ -1,4 +1,4 @@
<!-- Start Datatables-js from cdnjs -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/js/jquery.dataTables.min.js"></script>
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.21/js/dataTables.bootstrap.min.js"></script>
<!-- End Datatables-js from cdnjs -->
<!-- End Datatables-js from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start FontAwesome CSS from cdnjs -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css"/>
<!-- End FontAwesome CSS from cdnjs -->
<!-- End FontAwesome CSS from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start jQuery-DateTimePicker CSS from cdnjs -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.min.css"/>
<!-- End jQuery-DateTimePicker CSS from cdnjs -->
<!-- End jQuery-DateTimePicker CSS from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start jQuery-DateTimePicker JS from cdnjs -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
<!-- End jQuery-DateTimePicker JS from cdnjs -->
<!-- End jQuery-DateTimePicker JS from cdnjs -->

View File

@ -4,4 +4,4 @@
<!-- Moment.JS Not EN-en -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/locale/{{ LANGUAGE_CODE }}.js"></script>
{% endif %}
<!-- End Moment JS from cdnjs -->
<!-- End Moment JS from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start X-editable JS from cdnjs -->
<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.1/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
<!-- End X-editable JS from cdnjs -->
<!-- End X-editable JS from cdnjs -->

View File

@ -1,3 +1,3 @@
<!-- Start X-editable CSS from cdnjs -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.1/bootstrap3-editable/css/bootstrap-editable.css"/>
<!-- End X-editable CSS from cdnjs -->
<!-- End X-editable CSS from cdnjs -->

View File

@ -57,4 +57,4 @@ class TestGetPermissionByName(TestCase):
def test_raises_exception_on_invalid_permission_format(self):
with self.assertRaises(ValueError):
AuthUtils.get_permission_by_name('timer_management')
AuthUtils.get_permission_by_name('timer_management')

2
docs/.gitignore vendored
View File

@ -1 +1 @@
_build/
_build/

View File

@ -17,4 +17,4 @@ help:
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -51,4 +51,4 @@ Subsequently it would implement the UrlHook in a dedicated `auth_hooks.py` file
def register_urls():
return UrlHook(plugin.urls, 'plugin', r^'plugin/')
When this app is included in the project's `settings.INSTALLED_APPS` users would access the index view by navigating to `https://example.com/plugin/index`.
When this app is included in the project's `settings.INSTALLED_APPS` users would access the index view by navigating to `https://example.com/plugin/index`.

View File

@ -34,4 +34,3 @@ zkillboard
.. automodule:: allianceauth.eveonline.evelinks.zkillboard
:members:
:undoc-members:

View File

@ -56,4 +56,4 @@ By default in AA, Both requests and leaves for non-open groups must be approved
```python
## Allows users to freely leave groups without requiring approval.
AUTO_LEAVE = True
```
```

View File

@ -13,4 +13,4 @@ celery>=4.3.0,<5.0.0,!=4.4.4
celery_once
passlib
redis>=3.3.1,<4.0.0
django-nose
django-nose

View File

@ -27,4 +27,3 @@ app.conf.ONCE = {
# Load task modules from all registered Django app configs.
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)