Compare commits

..

No commits in common. "aff13a04eb90058213843472817639a947d38494" and "0bd6f8d69f10546da4d05ec53e2b77c73c296ac1" have entirely different histories.

3 changed files with 28 additions and 51 deletions

View file

@ -132,9 +132,9 @@
<td>{{ a.created }}</td> <td>{{ a.created }}</td>
<td> <td>
<div class="btn-group float-end"> <div class="btn-group float-end">
<button type="button" class="btn btn-sm btn-primary" data-bs-toggle="modal" data-bs-target="#editModal{{ a.id }}"> <a href="{% url 'device:update_user_property' a.id %}" class="btn btn-sm btn-secondary">
<i class="bi bi-pencil"></i> {% trans 'Edit' %} <i class="bi bi-pencil"></i>
</button> </a>
<button type="button" class="btn btn-sm btn-danger" data-bs-toggle="modal" data-bs-target="#deleteModal{{ a.id }}"> <button type="button" class="btn btn-sm btn-danger" data-bs-toggle="modal" data-bs-target="#deleteModal{{ a.id }}">
<i class="bi bi-trash"></i> <i class="bi bi-trash"></i>
</button> </button>
@ -172,33 +172,6 @@
</div> </div>
{% endfor %} {% endfor %}
<!-- popup modals for edit button -->
{% for a in object.get_user_properties %}
<div class="modal fade" id="editModal{{ a.id }}" tabindex="-1" aria-labelledby="editModalLabel{{ a.id }}" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editModalLabel{{ a.id }}">{% trans "Edit User Property" %}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="editForm{{ a.id }}" method="post" action="{% url 'device:update_user_property' a.id %}">
{% csrf_token %}
<div class="mb-3">
<label for="key" class="form-label">{% trans "Key" %}</label>
<input type="text" class="form-control" id="key" name="key" value="{{ a.key }}">
</div>
<div class="mb-3">
<label for="value" class="form-label">{% trans "Value" %}</label>
<input type="text" class="form-control" id="value" name="value" value="{{ a.value }}">
</div>
<button type="submit" class="btn btn-primary">{% trans "Save changes" %}</button>
</form>
</div>
</div>
</div>
</div>
{% endfor %}
<div class="tab-pane fade" id="documents"> <div class="tab-pane fade" id="documents">
<div class="btn-group mt-1 mb-3"> <div class="btn-group mt-1 mb-3">

View file

@ -180,7 +180,7 @@ class AddUserPropertyView(DashboardView, CreateView):
def form_valid(self, form): def form_valid(self, form):
form.instance.owner = self.request.user.institution form.instance.owner = self.request.user.institution
form.instance.user = self.request.user form.instance.user = self.request.user
form.instance.uuid = self.property.uuid form.instance.uuid = self.annotation.uuid
form.instance.type = Property.Type.USER form.instance.type = Property.Type.USER
response = super().form_valid(form) response = super().form_valid(form)
return response return response
@ -188,13 +188,13 @@ class AddUserPropertyView(DashboardView, CreateView):
def get_form_kwargs(self): def get_form_kwargs(self):
pk = self.kwargs.get('pk') pk = self.kwargs.get('pk')
institution = self.request.user.institution institution = self.request.user.institution
self.property = UserProperty.objects.filter( self.annotation = SystemProperty.objects.filter(
owner=institution, owner=institution,
value=pk, value=pk,
type=Property.Type.SYSTEM type=Property.Type.SYSTEM
).first() ).first()
if not self.property: if not self.annotation:
raise Http404 raise Http404
self.success_url = reverse_lazy('device:details', args=[pk]) self.success_url = reverse_lazy('device:details', args=[pk])
@ -208,19 +208,8 @@ class UpdateUserPropertyView(DashboardView, UpdateView):
model = UserProperty model = UserProperty
fields = ("key", "value") fields = ("key", "value")
def get_form_kwargs(self):
pk = self.kwargs.get('pk')
user_property = get_object_or_404(UserProperty, pk=pk, owner=self.request.user.institution)
if not user_property:
raise Http404
kwargs = super().get_form_kwargs()
kwargs['instance'] = user_property
return kwargs
def form_valid(self, form): def form_valid(self, form):
form.instance.owner = self.request .user.institution form.instance.owner = self.request.user.institution
form.instance.user = self.request.user form.instance.user = self.request.user
form.instance.type = Property.Type.USER form.instance.type = Property.Type.USER
response = super().form_valid(form) response = super().form_valid(form)
@ -234,7 +223,22 @@ class UpdateUserPropertyView(DashboardView, UpdateView):
return referer return referer
else: else:
return reverse_lazy('device:details', args=[self.object.device.pk]) return reverse_lazy('device:details', args=[self.object.device.pk])
def get_form_kwargs(self):
pk = self.kwargs.get('pk')
user_property = get_object_or_404(UserProperty, pk=pk, owner=self.request.user.institution)
self.annotation = SystemProperty.objects.filter(
owner=self.request.user.institution,
uuid=user_property.uuid,
type=Property.Type.SYSTEM
).first()
if not self.annotation:
raise Http404
kwargs = super().get_form_kwargs()
kwargs['instance'] = user_property
return kwargs
class DeleteUserPropertyView(DashboardView, DeleteView): class DeleteUserPropertyView(DashboardView, DeleteView):
model = UserProperty model = UserProperty
@ -258,7 +262,7 @@ class DeleteUserPropertyView(DashboardView, DeleteView):
class AddDocumentView(DashboardView, CreateView): class AddDocumentView(DashboardView, CreateView):
template_name = "new_user_property.html" template_name = "new_annotation.html"
title = _("New Document") title = _("New Document")
breadcrumb = "Device / New document" breadcrumb = "Device / New document"
success_url = reverse_lazy('dashboard:unassigned_devices') success_url = reverse_lazy('dashboard:unassigned_devices')
@ -268,7 +272,7 @@ class AddDocumentView(DashboardView, CreateView):
def form_valid(self, form): def form_valid(self, form):
form.instance.owner = self.request.user.institution form.instance.owner = self.request.user.institution
form.instance.user = self.request.user form.instance.user = self.request.user
form.instance.uuid = self.property.uuid form.instance.uuid = self.annotation.uuid
form.instance.type = Property.Type.DOCUMENT form.instance.type = Property.Type.DOCUMENT
response = super().form_valid(form) response = super().form_valid(form)
return response return response
@ -276,13 +280,13 @@ class AddDocumentView(DashboardView, CreateView):
def get_form_kwargs(self): def get_form_kwargs(self):
pk = self.kwargs.get('pk') pk = self.kwargs.get('pk')
institution = self.request.user.institution institution = self.request.user.institution
self.property = SystemProperty.objects.filter( self.annotation = SystemProperty.objects.filter(
owner=institution, owner=institution,
value=pk, value=pk,
type=Property.Type.SYSTEM type=Property.Type.SYSTEM
).first() ).first()
if not self.property: if not self.annotation:
raise Http404 raise Http404
self.success_url = reverse_lazy('device:details', args=[pk]) self.success_url = reverse_lazy('device:details', args=[pk])

View file

@ -164,8 +164,8 @@ class ImportForm(forms.Form):
table = [] table = []
for row in self.rows: for row in self.rows:
doc = create_doc(row) doc = create_doc(row)
property = create_property(doc, self.user) annotation = create_property(doc, self.user)
table.append((doc, property)) table.append((doc, annotation))
if commit: if commit:
for doc, cred in table: for doc, cred in table: