diff --git a/AppDashboard/lib/datastore_viewer.py b/AppDashboard/lib/datastore_viewer.py index 6a9403474b..f46329be13 100644 --- a/AppDashboard/lib/datastore_viewer.py +++ b/AppDashboard/lib/datastore_viewer.py @@ -599,52 +599,5 @@ def post(self, project_id, entity_key_string=None): project_id: A string specifying the project ID. entity_key_string: A string specifying the entity key. """ - self.ensure_user_has_admin(project_id) - - ds_access = DatastoreDistributed(project_id, DATASTORE_LOCATION, - require_indexes=False, trusted=True) - - if self.request.get('action:delete'): - if entity_key_string: - _delete_entities(ds_access, [datastore.Key(entity_key_string)]) - redirect_url = self.request.get( - 'next', '/datastore_viewer/{}'.format(project_id)) - self.redirect(str(redirect_url)) - else: - self.response.set_status(400) - return - - if entity_key_string: - entity = _get_entity_by_key(ds_access, datastore.Key(entity_key_string)) - else: - kind = self.request.get('kind') - namespace = self.request.get('namespace', None) - entity = datastore.Entity(kind, _namespace=namespace) - - for arg_name in self.request.arguments(): - # Arguments are in |= format. - if '|' not in arg_name: - continue - data_type_name, property_name = arg_name.split('|') - form_value = self.request.get(arg_name) - data_type = DataType.get_by_name(data_type_name) - if (entity and - property_name in entity and - data_type.format(entity[property_name]) == form_value): - # If the property is unchanged then don't update it. This will prevent - # empty form values from causing the property to be deleted if the - # property was already empty. - continue - - if form_value: - # TODO: Handle parse exceptions. - entity[property_name] = data_type.parse(form_value) - elif property_name in entity: - # TODO: Treating empty input as deletion is a not a good - # interface. - del entity[property_name] - - _put_entity(ds_access, entity) - redirect_url = self.request.get( - 'next', '/datastore_viewer/{}'.format(project_id)) - self.redirect(str(redirect_url)) + raise NotImplementedError( + 'Editing entities with the datastore viewer is not supported') diff --git a/AppDashboard/templates/datastore/edit.html b/AppDashboard/templates/datastore/edit.html index 64b71a6932..bde1b4dffa 100644 --- a/AppDashboard/templates/datastore/edit.html +++ b/AppDashboard/templates/datastore/edit.html @@ -1,8 +1,8 @@
@@ -72,14 +72,6 @@

{{ project_id }} >
{{ field.2|safe }}

{% endfor %} -
-
- - {% if key %} - - {% endif %} -
-
diff --git a/AppDashboard/templates/datastore/viewer.html b/AppDashboard/templates/datastore/viewer.html index 97b3a1939f..352079a59c 100644 --- a/AppDashboard/templates/datastore/viewer.html +++ b/AppDashboard/templates/datastore/viewer.html @@ -56,7 +56,6 @@

{{ project_id }}

- {% if not show_namespace %} Select a different namespace {% endif %} diff --git a/AppServer/google/appengine/tools/devappserver2/admin/datastore_viewer.py b/AppServer/google/appengine/tools/devappserver2/admin/datastore_viewer.py index 0bc3167d7a..533909b94f 100644 --- a/AppServer/google/appengine/tools/devappserver2/admin/datastore_viewer.py +++ b/AppServer/google/appengine/tools/devappserver2/admin/datastore_viewer.py @@ -184,7 +184,7 @@ def short_format(self, value): def input_field(self, name, value, sample_values, back_uri): string_value = self.format(value) if value else '' return ( - '' % ( + '' % ( cgi.escape(self.name()), cgi.escape(name), self.input_field_size(),