diff --git a/logs_collector/collector/forms.py b/logs_collector/collector/forms.py index ce69500..b2b0cd6 100644 --- a/logs_collector/collector/forms.py +++ b/logs_collector/collector/forms.py @@ -10,7 +10,7 @@ class TicketForm(forms.ModelForm): class Meta: model = Ticket - fields = ['number', 'platform', 'note'] + fields = ['number', 'attempts', 'platform', 'note'] widgets = { 'platform': forms.RadioSelect() } @@ -21,7 +21,11 @@ class TicketForm(forms.ModelForm): # self.helper.attrs = {"novalidate": ''} self.helper.layout = Layout( - Div(FloatingField('number'), 'platform', css_class='col-lg-2'), + Div( + FloatingField('number', 'attempts'), + 'platform', + css_class='col-lg-2' + ), Div('note', css_class='col-lg-6'), Submit('submit', 'Save', css_class='btn btn-primary'), ) diff --git a/logs_collector/collector/migrations/0007_rename_upload_ticket_attempts.py b/logs_collector/collector/migrations/0007_rename_upload_ticket_attempts.py new file mode 100644 index 0000000..feac1c5 --- /dev/null +++ b/logs_collector/collector/migrations/0007_rename_upload_ticket_attempts.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2 on 2023-08-08 17:08 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('collector', '0006_remove_archive_token_remove_archive_user_and_more'), + ] + + operations = [ + migrations.RenameField( + model_name='ticket', + old_name='upload', + new_name='attempts', + ), + ] diff --git a/logs_collector/collector/models.py b/logs_collector/collector/models.py index 5bfb326..cd8808f 100644 --- a/logs_collector/collector/models.py +++ b/logs_collector/collector/models.py @@ -75,7 +75,7 @@ class Ticket(models.Model): token = models.UUIDField(default=uuid.uuid4, editable=False) attempts = models.IntegerField(default=5, validators=[ MaxValueValidator(10), - MinValueValidator(1) + MinValueValidator(0) ]) time_create = models.DateTimeField(auto_now_add=True) time_update = models.DateTimeField(auto_now=True) diff --git a/logs_collector/collector/static/collector/js/jq.ticket.detail.js b/logs_collector/collector/static/collector/js/jq.ticket.detail.js index e84b516..88fea6d 100644 --- a/logs_collector/collector/static/collector/js/jq.ticket.detail.js +++ b/logs_collector/collector/static/collector/js/jq.ticket.detail.js @@ -93,4 +93,18 @@ $(function () { } }); }); + // copy token to clipboard: + // -- -- -- -- -- -- -- -- + $(".token-clipboard").click(function (e) { + e.preventDefault(); + const btn = $(this) + const tokenInput = btn.siblings("input[name=ticket-token]").val(); + const icon = btn.children(":first").get(0) + navigator.clipboard.writeText(tokenInput); + btn.html('') + // Revert button label after 500 milliseconds + setTimeout(function(){ + btn.html(icon); + }, 500) + }); }); diff --git a/logs_collector/collector/templates/collector/includes/ticket_info.html b/logs_collector/collector/templates/collector/includes/ticket_info.html index 4bdeed5..27d4581 100644 --- a/logs_collector/collector/templates/collector/includes/ticket_info.html +++ b/logs_collector/collector/templates/collector/includes/ticket_info.html @@ -16,4 +16,34 @@
Platform: {{ ticket.platform.pretty_name }}
Owner: {{ ticket.user.username }}
+ +
+ + + + {{ ticket.attempts }} + + + + +
diff --git a/logs_collector/collector/templates/collector/tickets.html b/logs_collector/collector/templates/collector/tickets.html index 1a40521..79f8a71 100644 --- a/logs_collector/collector/templates/collector/tickets.html +++ b/logs_collector/collector/templates/collector/tickets.html @@ -7,8 +7,8 @@ {% csrf_token %} {% for ticket in tickets %} -
-
+
+
Open + > Open
- - + + {% include 'collector/includes/modal_ticket.html' %}