SYMBOL INDEX (260 symbols across 35 files) FILE: conftest.py function django_db_modify_db_settings (line 5) | def django_db_modify_db_settings(): FILE: django_loci/__init__.py function get_version (line 5) | def get_version(): FILE: django_loci/admin.py class FloorPlanForm (line 15) | class FloorPlanForm(AbstractFloorPlanForm): class Meta (line 16) | class Meta(AbstractFloorPlanForm.Meta): class FloorPlanAdmin (line 20) | class FloorPlanAdmin(AbstractFloorPlanAdmin): class LocationForm (line 24) | class LocationForm(AbstractLocationForm): class Meta (line 25) | class Meta(AbstractLocationForm.Meta): class FloorPlanInline (line 29) | class FloorPlanInline(AbstractFloorPlanInline): class LocationAdmin (line 34) | class LocationAdmin(AbstractLocationAdmin): class ObjectLocationForm (line 39) | class ObjectLocationForm(AbstractObjectLocationForm): class Meta (line 40) | class Meta(AbstractObjectLocationForm.Meta): class ObjectLocationInline (line 44) | class ObjectLocationInline(AbstractObjectLocationInline): FILE: django_loci/apps.py function test_geocoding (line 15) | def test_geocoding(app_configs=None, **kwargs): class LociConfig (line 29) | class LociConfig(AppConfig): method __setmodels__ (line 34) | def __setmodels__(self): method ready (line 42) | def ready(self): method _load_receivers (line 49) | def _load_receivers(self): FILE: django_loci/base/admin.py class ReadOnlyMixin (line 25) | class ReadOnlyMixin: method set_readonly_attribute (line 28) | def set_readonly_attribute(self, user, fields): class AbstractFloorPlanForm (line 50) | class AbstractFloorPlanForm(ReadOnlyMixin, forms.ModelForm): class Meta (line 58) | class Meta: class Media (line 61) | class Media: method __init__ (line 64) | def __init__(self, *args, **kwargs): class LocationRawIdWidget (line 72) | class LocationRawIdWidget(widgets.ForeignKeyRawIdWidget): method url_parameters (line 79) | def url_parameters(self): class AbstractFloorPlanAdmin (line 85) | class AbstractFloorPlanAdmin(TimeReadonlyAdminMixin, admin.ModelAdmin): method get_form (line 92) | def get_form(self, request, obj=None, **kwargs): class AbstractLocationForm (line 105) | class AbstractLocationForm(ReadOnlyMixin, forms.ModelForm): class Meta (line 110) | class Meta: class Media (line 113) | class Media: method __init__ (line 122) | def __init__(self, *args, **kwargs): class AbstractFloorPlanInline (line 130) | class AbstractFloorPlanInline(TimeReadonlyAdminMixin, admin.StackedInline): class AbstractLocationAdmin (line 135) | class AbstractLocationAdmin(TimeReadonlyAdminMixin, LeafletGeoAdmin): method get_form (line 146) | def get_form(self, request, obj=None, **kwargs): method get_urls (line 151) | def get_urls(self): method json_view (line 179) | def json_view(self, request, pk): method floorplans_json_view (line 193) | def floorplans_json_view(self, request, pk): method get_formset_kwargs (line 209) | def get_formset_kwargs(self, request, obj, inline, prefix): class UnvalidatedChoiceField (line 217) | class UnvalidatedChoiceField(forms.ChoiceField): method validate (line 222) | def validate(self, value): class AbstractObjectLocationForm (line 229) | class AbstractObjectLocationForm(ReadOnlyMixin, forms.ModelForm): class Meta (line 274) | class Meta: class Media (line 277) | class Media: method __init__ (line 288) | def __init__(self, *args, **kwargs): method _get_initial_location (line 332) | def _get_initial_location(self): method _get_initial_floorplan (line 335) | def _get_initial_floorplan(self): method floorplan_model (line 339) | def floorplan_model(self): method location_model (line 343) | def location_model(self): method clean_floorplan (line 346) | def clean_floorplan(self): method clean (line 365) | def clean(self): method _get_location_instance (line 393) | def _get_location_instance(self): method _get_floorplan_instance (line 403) | def _get_floorplan_instance(self): method save (line 415) | def save(self, commit=True): class ObjectLocationMixin (line 433) | class ObjectLocationMixin(TimeReadonlyAdminMixin): method get_formset (line 478) | def get_formset(self, request, obj=..., **kwargs): class AbstractObjectLocationInline (line 486) | class AbstractObjectLocationInline(ObjectLocationMixin, GenericStackedIn... FILE: django_loci/base/geocoding_views.py function geocode_view (line 29) | def geocode_view(request): function reverse_geocode_view (line 39) | def reverse_geocode_view(request): FILE: django_loci/base/models.py class AbstractLocation (line 17) | class AbstractLocation(TimeStampedEditableModel): class Meta (line 47) | class Meta: method __init__ (line 51) | def __init__(self, *args, **kwargs): method __str__ (line 55) | def __str__(self): method clean (line 58) | def clean(self): method _validate_geometry_if_not_mobile (line 61) | def _validate_geometry_if_not_mobile(self): method short_type (line 70) | def short_type(self): method save (line 74) | def save(self, *args, **kwargs): class AbstractFloorPlan (line 87) | class AbstractFloorPlan(TimeStampedEditableModel): class Meta (line 97) | class Meta: method __str__ (line 101) | def __str__(self): method clean (line 108) | def clean(self): method delete (line 111) | def delete(self, *args, **kwargs): method _validate_location_type (line 115) | def _validate_location_type(self): method _remove_image (line 122) | def _remove_image(self): class AbstractObjectLocation (line 131) | class AbstractObjectLocation(TimeStampedEditableModel): class Meta (line 150) | class Meta: method _clean_indoor_location (line 154) | def _clean_indoor_location(self): method _raise_invalid_indoor (line 168) | def _raise_invalid_indoor(self): method _clean_indoor_position (line 171) | def _clean_indoor_position(self): method clean (line 208) | def clean(self): FILE: django_loci/channels/base.py function _get_object_or_none (line 9) | def _get_object_or_none(model, **kwargs): class BaseLocationBroadcast (line 16) | class BaseLocationBroadcast(JsonWebsocketConsumer): method connect (line 22) | def connect(self): method is_authorized (line 48) | def is_authorized(self, user, location): method send_message (line 60) | def send_message(self, event): method disconnect (line 66) | def disconnect(self, close_code): class BaseCommonLocationBroadcast (line 78) | class BaseCommonLocationBroadcast(BaseLocationBroadcast): method connect (line 80) | def connect(self): method join_groups (line 96) | def join_groups(self, user): FILE: django_loci/channels/consumers.py class LocationBroadcast (line 5) | class LocationBroadcast(BaseLocationBroadcast): class CommonLocationBroadcast (line 9) | class CommonLocationBroadcast(BaseCommonLocationBroadcast): FILE: django_loci/channels/receivers.py function update_mobile_location (line 9) | def update_mobile_location(sender, instance, **kwargs): function load_location_receivers (line 47) | def load_location_receivers(sender): FILE: django_loci/fields.py class GeometryField (line 6) | class GeometryField(BaseGeometryField): FILE: django_loci/migrations/0001_initial.py class Migration (line 14) | class Migration(migrations.Migration): FILE: django_loci/models.py class Location (line 4) | class Location(AbstractLocation): class Meta (line 5) | class Meta(AbstractLocation.Meta): class FloorPlan (line 9) | class FloorPlan(AbstractFloorPlan): class Meta (line 10) | class Meta(AbstractFloorPlan.Meta): class ObjectLocation (line 14) | class ObjectLocation(AbstractObjectLocation): class Meta (line 15) | class Meta(AbstractObjectLocation.Meta): FILE: django_loci/static/django-loci/js/floorplan-widget.js function updateInput (line 35) | function updateInput(e) { FILE: django_loci/static/django-loci/js/loci.js function getLocationJsonUrl (line 67) | function getLocationJsonUrl(pk) { function getLocationFloorplansJsonUrl (line 71) | function getLocationFloorplansJsonUrl(pk) { function getMap (line 78) | function getMap() { function invalidateMapSize (line 82) | function invalidateMapSize() { function resetOutdoorForm (line 90) | function resetOutdoorForm(keepLocationSelection) { function resetIndoorForm (line 107) | function resetIndoorForm(keepFloorplanSelection) { function resetDeviceLocationForm (line 118) | function resetDeviceLocationForm() { function indoorForm (line 123) | function indoorForm(selection) { function locationSelectionChange (line 153) | function locationSelectionChange(e, initial) { function isMobileChange (line 171) | function isMobileChange() { function typeChange (line 193) | function typeChange(e, initial) { function floorplanSelectionChange (line 230) | function floorplanSelectionChange(e, initial) { function triggerChangeOnField (line 255) | function triggerChangeOnField(win, chosenId) { function locationChange (line 277) | function locationChange(e, initial) { function listenForLocationUpdates (line 433) | function listenForLocationUpdates(pk) { function getMarkerFeatureGroup (line 451) | function getMarkerFeatureGroup(option) { function getMarker (line 462) | function getMarker() { function getFeatureGroup (line 467) | function getFeatureGroup() { function updateLatLng (line 472) | function updateLatLng(latlng) { function updateMapView (line 478) | function updateMapView(data) { function updateMap (line 486) | function updateMap() { function updateAdress (line 523) | function updateAdress() { function updateAddressOnMapChange (line 557) | function updateAddressOnMapChange() { function geometryListeners (line 572) | function geometryListeners() { FILE: django_loci/storage.py class OverwriteMixin (line 4) | class OverwriteMixin: method upload_to (line 8) | def upload_to(cls, instance, filename): method get_available_name (line 16) | def get_available_name(self, name, max_length=None): class OverwriteStorage (line 25) | class OverwriteStorage(OverwriteMixin, FileSystemStorage): FILE: django_loci/tests/__init__.py class TestLociMixin (line 16) | class TestLociMixin(object): method tearDown (line 20) | def tearDown(self): method _create_object (line 27) | def _create_object(self, **kwargs): method _create_location (line 31) | def _create_location(self, **kwargs): method _get_simpleuploadedfile (line 44) | def _get_simpleuploadedfile(self): method _create_floorplan (line 51) | def _create_floorplan(self, **kwargs): method _create_object_location (line 63) | def _create_object_location(self, **kwargs): class TestAdminMixin (line 78) | class TestAdminMixin(object): method url_prefix (line 80) | def url_prefix(self): method object_url_prefix (line 84) | def object_url_prefix(self): method _create_admin (line 87) | def _create_admin(self, **kwargs): method _login_as_admin (line 98) | def _login_as_admin(self): method _create_readonly_admin (line 103) | def _create_readonly_admin(self, **kwargs): method _load_content (line 118) | def _load_content(self, file): class TestAdminInlineMixin (line 124) | class TestAdminInlineMixin(TestAdminMixin): method _get_prefix (line 126) | def _get_prefix(cls): method _get_url_prefix (line 133) | def _get_url_prefix(self): method add_url (line 139) | def add_url(self): method change_url (line 143) | def change_url(self): class TestChannelsMixin (line 147) | class TestChannelsMixin(object): method _force_login (line 149) | async def _force_login(self, user, backend=None): method _get_location_request_dict (line 157) | async def _get_location_request_dict(self, path, pk=None, user=None): method _get_specific_location_request_dict (line 171) | async def _get_specific_location_request_dict(self, pk=None, user=None): method _get_common_location_request_dict (line 178) | async def _get_common_location_request_dict(self, pk=None, user=None): method _get_location_communicator (line 183) | def _get_location_communicator( method _get_specific_location_communicator (line 197) | def _get_specific_location_communicator(self, request_vars, user=None): method _get_common_location_communicator (line 205) | def _get_common_location_communicator(self, request_vars, user=None): method _save_location (line 213) | async def _save_location(self, pk): FILE: django_loci/tests/base/test_admin.py class BaseTestAdmin (line 11) | class BaseTestAdmin(TestAdminMixin, TestLociMixin): method test_location_list (line 16) | def test_location_list(self): method test_floorplan_list (line 23) | def test_floorplan_list(self): method test_location_json_view (line 31) | def test_location_json_view(self): method test_location_floorplan_json_view (line 44) | def test_location_floorplan_json_view(self): method test_location_change_image_removed (line 64) | def test_location_change_image_removed(self): method test_floorplan_change_image_removed (line 74) | def test_floorplan_change_image_removed(self): method test_floorplan_add_view_filters_indoor_location (line 84) | def test_floorplan_add_view_filters_indoor_location(self): method test_is_mobile_location_json_view (line 113) | def test_is_mobile_location_json_view(self): method test_geocode (line 140) | def test_geocode(self): method test_geocode_no_address (line 160) | def test_geocode_no_address(self): method test_geocode_invalid_address (line 169) | def test_geocode_invalid_address(self): method test_reverse_geocode (line 188) | def test_reverse_geocode(self): method test_reverse_location_with_no_address (line 207) | def test_reverse_location_with_no_address(self): method test_reverse_geocode_no_coords (line 227) | def test_reverse_geocode_no_coords(self): method _get_location_add_params (line 235) | def _get_location_add_params(self, **kwargs): method test_add_mobile_location (line 251) | def test_add_mobile_location(self): method test_add_non_mobile_location_without_geometry (line 259) | def test_add_non_mobile_location_without_geometry(self): method test_readonly_floorplans (line 269) | def test_readonly_floorplans(self): FILE: django_loci/tests/base/test_admin_inline.py class BaseTestAdminInline (line 10) | class BaseTestAdminInline(TestAdminInlineMixin, TestLociMixin): method _get_params (line 14) | def _get_params(cls): method params (line 30) | def params(self): method test_json_urls (line 33) | def test_json_urls(self): method test_add_outdoor_new (line 44) | def test_add_outdoor_new(self): method test_add_outdoor_existing (line 74) | def test_add_outdoor_existing(self): method test_change_outdoor (line 107) | def test_change_outdoor(self): method test_change_outdoor_to_different_location (line 149) | def test_change_outdoor_to_different_location(self): method test_add_indoor_new_location_new_floorplan (line 195) | def test_add_indoor_new_location_new_floorplan(self): method test_add_indoor_existing_location_new_floorplan (line 230) | def test_add_indoor_existing_location_new_floorplan(self): method test_add_indoor_existing_location_existing_floorplan (line 272) | def test_add_indoor_existing_location_existing_floorplan(self): method test_change_indoor (line 315) | def test_change_indoor(self): method test_change_indoor_missing_indoor_position (line 369) | def test_change_indoor_missing_indoor_position(self): method test_add_outdoor_invalid (line 402) | def test_add_outdoor_invalid(self): method test_add_outdoor_invalid_geometry (line 422) | def test_add_outdoor_invalid_geometry(self): method test_add_mobile (line 438) | def test_add_mobile(self): method test_change_mobile (line 464) | def test_change_mobile(self): method test_remove_mobile (line 497) | def test_remove_mobile(self): method test_change_indoor_missing_floorplan_pk (line 526) | def test_change_indoor_missing_floorplan_pk(self): method test_change_indoor_floorplan_doesnotexist (line 562) | def test_change_indoor_floorplan_doesnotexist(self): method test_change_indoor_floorplan_different_location (line 598) | def test_change_indoor_floorplan_different_location(self): method test_missing_type_error (line 633) | def test_missing_type_error(self): method test_add_indoor_location_without_indoor_coords (line 654) | def test_add_indoor_location_without_indoor_coords(self): method test_add_indoor_mobile_location_without_floor (line 684) | def test_add_indoor_mobile_location_without_floor(self): method test_add_indoor_location_without_coords (line 708) | def test_add_indoor_location_without_coords(self): method test_add_indoor_location_without_floor (line 731) | def test_add_indoor_location_without_floor(self): method test_add_outdoor_with_floorplan (line 752) | def test_add_outdoor_with_floorplan(self): method test_device_change_location_from_outdoor_to_indoor (line 785) | def test_device_change_location_from_outdoor_to_indoor(self): method test_device_change_location_from_indoor_to_outdoor (line 830) | def test_device_change_location_from_indoor_to_outdoor(self): method test_readonly_indoor_location (line 870) | def test_readonly_indoor_location(self): method test_readonly_indoor_object_location (line 892) | def test_readonly_indoor_object_location(self): FILE: django_loci/tests/base/test_apps.py class BaseTestApps (line 10) | class BaseTestApps(TestLociMixin): method test_geocode_strict (line 13) | def test_geocode_strict(self, geocode_mocked): FILE: django_loci/tests/base/test_channels.py class BaseTestChannels (line 13) | class BaseTestChannels(TestAdminMixin, TestLociMixin, TestChannelsMixin): method test_object_or_none (line 23) | def test_object_or_none(self): method test_consumer_unauthenticated (line 32) | async def test_consumer_unauthenticated(self): method test_common_location_consumer_unauthenticated (line 41) | async def test_common_location_consumer_unauthenticated(self): method test_connect_admin (line 50) | async def test_connect_admin(self): method test_common_location_connect_admin (line 60) | async def test_common_location_connect_admin(self): method test_consumer_not_staff (line 70) | async def test_consumer_not_staff(self): method test_common_location_consumer_not_staff (line 82) | async def test_common_location_consumer_not_staff(self): method test_consumer_404 (line 94) | async def test_consumer_404(self): method test_consumer_staff_but_no_change_permission (line 104) | async def test_consumer_staff_but_no_change_permission(self): method test_common_location_consumer_staff_but_no_change_permission (line 134) | async def test_common_location_consumer_staff_but_no_change_permission... method test_location_update (line 158) | async def test_location_update(self): method test_common_location_update (line 174) | async def test_common_location_update(self): method test_routing (line 208) | def test_routing(self): FILE: django_loci/tests/base/test_models.py class BaseTestModels (line 6) | class BaseTestModels(TestLociMixin): method test_location_str (line 7) | def test_location_str(self): method test_floorplan_str (line 11) | def test_floorplan_str(self): method test_object_location_clean_location (line 18) | def test_object_location_clean_location(self): method test_floorplan_image (line 35) | def test_floorplan_image(self): method test_floorplan_delete_corner_case (line 56) | def test_floorplan_delete_corner_case(self): method test_floorplan_association_validation (line 62) | def test_floorplan_association_validation(self): method test_geometry_if_not_mobile (line 73) | def test_geometry_if_not_mobile(self): method test_geometry_if_mobile (line 82) | def test_geometry_if_mobile(self): method test_location_change_indoor_to_outdoor (line 89) | def test_location_change_indoor_to_outdoor(self): method test_object_location_change_indoor_to_outdoor (line 97) | def test_object_location_change_indoor_to_outdoor(self): method _test_indoor_position_validation_error (line 115) | def _test_indoor_position_validation_error(self, ol): method test_invalid_indoor_position (line 124) | def test_invalid_indoor_position(self): FILE: django_loci/tests/base/test_selenium.py class BaseTestDeviceAdminSelenium (line 14) | class BaseTestDeviceAdminSelenium( method _fill_device_form (line 19) | def _fill_device_form(self): method test_create_new_device (line 26) | def test_create_new_device(self): method test_real_time_update_address_field (line 75) | def test_real_time_update_address_field(self): FILE: django_loci/tests/pytest_channels.py class TestChannels (line 8) | class TestChannels(BaseTestChannels): FILE: django_loci/tests/test_admin.py class TestAdmin (line 9) | class TestAdmin(BaseTestAdmin, TestCase): FILE: django_loci/tests/test_admin_inline.py class TestAdminInline (line 9) | class TestAdminInline(BaseTestAdminInline, TestCase): FILE: django_loci/tests/test_apps.py class TestApps (line 6) | class TestApps(BaseTestApps, TestCase): FILE: django_loci/tests/test_models.py class TestModels (line 8) | class TestModels(BaseTestModels, TestCase): FILE: django_loci/tests/test_selenium.py class TestDeviceAdminSelenium (line 11) | class TestDeviceAdminSelenium(BaseTestDeviceAdminSelenium, ChannelsLiveS... FILE: django_loci/tests/testdeviceapp/admin.py class DeviceAdmin (line 11) | class DeviceAdmin(TimeReadonlyAdminMixin, admin.ModelAdmin): method get_urls (line 16) | def get_urls(self): method location_broadcast_listener (line 27) | def location_broadcast_listener(self, request): FILE: django_loci/tests/testdeviceapp/migrations/0001_initial.py class Migration (line 10) | class Migration(migrations.Migration): FILE: django_loci/tests/testdeviceapp/models.py class Device (line 7) | class Device(TimeStampedEditableModel): method __str__ (line 10) | def __str__(self): FILE: django_loci/tests/testdeviceapp/tests/test_selenium.py class TestCommonLocationWebsocket (line 15) | class TestCommonLocationWebsocket( method test_common_location_broadcast_ws (line 22) | def test_common_location_broadcast_ws(self): FILE: django_loci/widgets.py class ImageWidget (line 9) | class ImageWidget(forms.FileInput): method __init__ (line 18) | def __init__(self, *args, **kwargs): method get_context (line 22) | def get_context(self, name, value, attrs): class FloorPlanWidget (line 36) | class FloorPlanWidget(forms.TextInput): class LeafletWidget (line 44) | class LeafletWidget(BaseLeafletWidget): FILE: setup.py function get_install_requires (line 7) | def get_install_requires():