SYMBOL INDEX (72 symbols across 18 files) FILE: example/urls.py function home (line 10) | def home(request): function update_password (line 14) | def update_password(request): FILE: safety/admin.py class PasswordChangeAdmin (line 11) | class PasswordChangeAdmin(admin.ModelAdmin): class SessionAdmin (line 16) | class SessionAdmin(admin.ModelAdmin): method is_valid (line 20) | def is_valid(self, obj): FILE: safety/apps.py class SafetyConfig (line 5) | class SafetyConfig(AppConfig): method ready (line 9) | def ready(self): FILE: safety/decorators.py function password_change_required (line 13) | def password_change_required(func): FILE: safety/forms.py class PasswordChangeForm (line 9) | class PasswordChangeForm(BasePasswordChangeForm): method clean_new_password2 (line 14) | def clean_new_password2(self): method save (line 24) | def save(self, *args, **kwargs): FILE: safety/management/commands/clean_safety_sessions.py class Command (line 8) | class Command(BaseCommand): method handle (line 9) | def handle(self, *args, **options): FILE: safety/managers.py class PasswordChangeManager (line 9) | class PasswordChangeManager(models.Manager): method get_or_create_for_user (line 10) | def get_or_create_for_user(self, user): method is_required_for_user (line 13) | def is_required_for_user(self, user): class SessionManager (line 18) | class SessionManager(models.Manager): method active (line 19) | def active(self, user=None): method create_session (line 25) | def create_session(self, request, user): FILE: safety/middleware.py class PasswordChangeMiddleware (line 5) | class PasswordChangeMiddleware(object): method process_view (line 6) | def process_view(self, request, view_func, view_args, view_kwargs): FILE: safety/migrations/0001_initial.py class Migration (line 10) | class Migration(migrations.Migration): FILE: safety/mixins.py class SessionMixin (line 8) | class SessionMixin(object): method get_queryset (line 9) | def get_queryset(self): class LoginRequiredMixin (line 13) | class LoginRequiredMixin(object): method dispatch (line 15) | def dispatch(self, request, *args, **kwargs): FILE: safety/models.py class PasswordChange (line 18) | class PasswordChange(models.Model): class Meta (line 29) | class Meta: method __str__ (line 33) | def __str__(self): class Session (line 38) | class Session(models.Model): class Meta (line 51) | class Meta: method __str__ (line 55) | def __str__(self): method delete_store_session (line 58) | def delete_store_session(self): function create_session (line 72) | def create_session(sender, request, user, **kwargs): function deactivate_session (line 77) | def deactivate_session(sender, request, user, **kwargs): function post_delete_session (line 88) | def post_delete_session(sender, instance, **kwargs): FILE: safety/resolvers.py function remote_addr_ip (line 11) | def remote_addr_ip(request): function x_forwarded_ip (line 18) | def x_forwarded_ip(request): function real_ip (line 34) | def real_ip(request): function device (line 41) | def device(request): function location (line 68) | def location(request): FILE: safety/tests/base.py class Fixtures (line 14) | class Fixtures(Exam): method user (line 25) | def user(self): method reload (line 31) | def reload(self): class BaseTestCase (line 35) | class BaseTestCase(Fixtures, TestCase): method login_user (line 36) | def login_user(self, password=None): method create_fake_sessions (line 50) | def create_fake_sessions(self): FILE: safety/tests/test_models.py class ModelsTest (line 10) | class ModelsTest(BaseTestCase): method test_session (line 11) | def test_session(self): method test_password_change (line 22) | def test_password_change(self): FILE: safety/tests/test_views.py class SessionsViewsTest (line 10) | class SessionsViewsTest(BaseTestCase): method tearDown (line 11) | def tearDown(self, *args, **kwargs): method test_session_list_view (line 14) | def test_session_list_view(self): method test_session_delete_view (line 31) | def test_session_delete_view(self): method test_session_delete_other_view (line 64) | def test_session_delete_other_view(self): class PasswordChangeViewsTest (line 86) | class PasswordChangeViewsTest(BaseTestCase): method test_password_change (line 87) | def test_password_change(self): method test_password_change_done (line 96) | def test_password_change_done(self): method test_workflow (line 105) | def test_workflow(self): FILE: safety/tests/urls.py function home (line 10) | def home(request): function update_password (line 14) | def update_password(request): FILE: safety/utils.py function get_session_store (line 7) | def get_session_store(): function resolve (line 14) | def resolve(path, request): function import_from_path (line 19) | def import_from_path(path): FILE: safety/views.py class SessionListView (line 34) | class SessionListView(LoginRequiredMixin, SessionMixin, ListView): class SessionDeleteView (line 38) | class SessionDeleteView(LoginRequiredMixin, SessionMixin, DeleteView): method get_success_url (line 39) | def get_success_url(self): class SessionDeleteOtherView (line 43) | class SessionDeleteOtherView(LoginRequiredMixin, SessionMixin, DeletionM... method get_object (line 44) | def get_object(self): method get_success_url (line 49) | def get_success_url(self): function password_change (line 60) | def password_change(request): function password_change_done (line 69) | def password_change_done(request):