Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions website/migrations/0236_alter_queue_message.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 5.1.7 on 2025-04-05 15:02

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("website", "0235_alter_lecture_content_alter_lecture_instructor"),
]

operations = [
migrations.AlterField(
model_name="queue",
name="message",
field=models.CharField(help_text="Message limited to 280 characters", max_length=280),
),
]
6 changes: 3 additions & 3 deletions website/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ def get_twitter_message(self):
prefix
+ self.domain_title
+ spacer
+ self.description[: 140 - (len(prefix) + len(self.domain_title) + len(spacer) + len(issue_link))]
+ self.description[: 280 - (len(prefix) + len(self.domain_title) + len(spacer) + len(issue_link))]
+ issue_link
)
return msg
Expand Down Expand Up @@ -633,7 +633,7 @@ def update_issue_image_access(sender, instance, **kwargs):
screenshot.save()


TWITTER_MAXLENGTH = getattr(settings, "TWITTER_MAXLENGTH", 140)
TWITTER_MAXLENGTH = getattr(settings, "TWITTER_MAXLENGTH", 280)


class Winner(models.Model):
Expand Down Expand Up @@ -2356,7 +2356,7 @@ class Queue(models.Model):
Model to store queue items with a message, image, and launch status.
"""

message = models.CharField(max_length=140, help_text="Message limited to 140 characters")
message = models.CharField(max_length=280, help_text="Message limited to 280 characters")
image = models.ImageField(upload_to="queue_images", null=True, blank=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
Expand Down
24 changes: 18 additions & 6 deletions website/templates/queue/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -180,16 +180,16 @@ <h2 class="text-2xl font-bold text-gray-900">Create New Queue Item</h2>
{% csrf_token %}
<input type="hidden" name="action" value="create">
<div>
<label for="message" class="block text-sm font-medium text-gray-700 mb-2">Message (140 characters max)</label>
<label for="message" class="block text-sm font-medium text-gray-700 mb-2">Message (280 characters max)</label>
<div class="relative">
<textarea id="createMessage"
name="message"
rows="3"
class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:outline-none focus:ring-2 focus:ring-[#e74c3c] focus:border-transparent"
maxlength="140"
maxlength="280"
required></textarea>
<div class="absolute bottom-3 right-3 text-sm text-gray-500">
<span id="createCharCount">0</span>/140
<span id="createCharCount">0</span>/280
</div>
</div>
</div>
Expand Down Expand Up @@ -261,16 +261,16 @@ <h2 class="text-2xl font-bold text-gray-900">Edit Queue Item</h2>
<input type="hidden" name="action" value="edit">
<input type="hidden" id="editQueueId" name="queue_id" value="">
<div>
<label for="message" class="block text-sm font-medium text-gray-700 mb-2">Message (140 characters max)</label>
<label for="message" class="block text-sm font-medium text-gray-700 mb-2">Message (280 characters max)</label>
<div class="relative">
<textarea id="editMessage"
name="message"
rows="3"
class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:outline-none focus:ring-2 focus:ring-[#e74c3c] focus:border-transparent"
maxlength="140"
maxlength="280"
required></textarea>
<div class="absolute bottom-3 right-3 text-sm text-gray-500">
<span id="editCharCount">0</span>/140
<span id="editCharCount">0</span>/280
</div>
</div>
</div>
Expand Down Expand Up @@ -511,6 +511,10 @@ <h3 class="text-lg font-semibold mb-3">Recently Launched Items</h3>
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Tweet
</th>
<th scope="col"
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Actions
</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
Expand Down Expand Up @@ -581,6 +585,14 @@ <h3 class="text-lg font-semibold mb-3">Recently Launched Items</h3>
</form>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<form method="post" class="inline">
{% csrf_token %}
<input type="hidden" name="action" value="delete">
<input type="hidden" name="queue_id" value="{{ item.id }}">
<button type="submit" class="text-red-600 hover:text-red-900 font-medium">Delete</button>
</form>
</td>
</tr>
{% empty %}
<tr>
Expand Down
8 changes: 4 additions & 4 deletions website/views/queue.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ def queue_list(request):
messages.error(request, "Message is required")
return redirect("queue_list")

if len(message) > 140:
messages.error(request, "Message must be 140 characters or less")
if len(message) > 280:
messages.error(request, "Message must be 280 characters or less")
return redirect("queue_list")

queue_item = Queue(message=message, image=image)
Expand All @@ -58,8 +58,8 @@ def queue_list(request):
messages.error(request, "Message is required")
return redirect("queue_list")

if len(message) > 140:
messages.error(request, "Message must be 140 characters or less")
if len(message) > 280:
messages.error(request, "Message must be 280 characters or less")
return redirect("queue_list")

queue_item.message = message
Expand Down
Loading