summaryrefslogtreecommitdiff
path: root/app/deals
diff options
context:
space:
mode:
Diffstat (limited to 'app/deals')
-rw-r--r--app/deals/migrations/0014_mydeal.py30
-rw-r--r--app/deals/migrations/0015_mydeal_retailer_mydeal_secondary_retailer_and_more.py28
-rw-r--r--app/deals/migrations/0016_alter_mydeal_body.py18
-rw-r--r--app/deals/migrations/0017_mydeal_blurb.py18
-rw-r--r--app/deals/templates/deals/mydeal_list.html65
5 files changed, 159 insertions, 0 deletions
diff --git a/app/deals/migrations/0014_mydeal.py b/app/deals/migrations/0014_mydeal.py
new file mode 100644
index 0000000..4bfc4cb
--- /dev/null
+++ b/app/deals/migrations/0014_mydeal.py
@@ -0,0 +1,30 @@
+# Generated by Django 4.2.2 on 2023-07-06 19:11
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('deals', '0013_deal_brand'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='MyDeal',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(blank=True, max_length=200, null=True)),
+ ('lookup_title', models.CharField(blank=True, max_length=200, null=True)),
+ ('asin', models.CharField(blank=True, max_length=200, null=True)),
+ ('brand', models.CharField(blank=True, max_length=200, null=True)),
+ ('url', models.CharField(max_length=200)),
+ ('secondary_url', models.CharField(blank=True, max_length=200, null=True)),
+ ('tertiary_url', models.CharField(blank=True, max_length=200, null=True)),
+ ('body', models.TextField()),
+ ],
+ options={
+ 'ordering': ('title',),
+ },
+ ),
+ ]
diff --git a/app/deals/migrations/0015_mydeal_retailer_mydeal_secondary_retailer_and_more.py b/app/deals/migrations/0015_mydeal_retailer_mydeal_secondary_retailer_and_more.py
new file mode 100644
index 0000000..75d48db
--- /dev/null
+++ b/app/deals/migrations/0015_mydeal_retailer_mydeal_secondary_retailer_and_more.py
@@ -0,0 +1,28 @@
+# Generated by Django 4.2.2 on 2023-07-06 19:12
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('deals', '0014_mydeal'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='mydeal',
+ name='retailer',
+ field=models.CharField(blank=True, max_length=200, null=True),
+ ),
+ migrations.AddField(
+ model_name='mydeal',
+ name='secondary_retailer',
+ field=models.CharField(blank=True, max_length=200, null=True),
+ ),
+ migrations.AddField(
+ model_name='mydeal',
+ name='tertiary_retailer',
+ field=models.CharField(blank=True, max_length=200, null=True),
+ ),
+ ]
diff --git a/app/deals/migrations/0016_alter_mydeal_body.py b/app/deals/migrations/0016_alter_mydeal_body.py
new file mode 100644
index 0000000..ddf5364
--- /dev/null
+++ b/app/deals/migrations/0016_alter_mydeal_body.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.2.2 on 2023-07-06 19:19
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('deals', '0015_mydeal_retailer_mydeal_secondary_retailer_and_more'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='mydeal',
+ name='body',
+ field=models.TextField(null=True),
+ ),
+ ]
diff --git a/app/deals/migrations/0017_mydeal_blurb.py b/app/deals/migrations/0017_mydeal_blurb.py
new file mode 100644
index 0000000..6dec658
--- /dev/null
+++ b/app/deals/migrations/0017_mydeal_blurb.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.2.2 on 2023-07-06 19:33
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('deals', '0016_alter_mydeal_body'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='mydeal',
+ name='blurb',
+ field=models.TextField(null=True),
+ ),
+ ]
diff --git a/app/deals/templates/deals/mydeal_list.html b/app/deals/templates/deals/mydeal_list.html
new file mode 100644
index 0000000..07a29eb
--- /dev/null
+++ b/app/deals/templates/deals/mydeal_list.html
@@ -0,0 +1,65 @@
+{% load humanize %}
+<html>
+ <head>
+<style>
+body {
+ padding-top: 30px;
+}
+.button {
+ color: white;
+ padding: 1rem;
+ text-decoration: none;
+ background-color: #2ea44f;
+ border: 1px solid rgba(27, 31, 35, .15);
+ border-radius: 6px;
+ box-shadow: rgba(27, 31, 35, .1) 0 1px 0;
+ box-sizing: border-box;
+ color: #fff;
+ cursor: pointer;
+ display: inline-block;
+ font-family: -apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 20px;
+ padding: 6px 16px;
+ position: relative;
+ text-align: center;
+ text-decoration: none;
+ user-select: none;
+ -webkit-user-select: none;
+ touch-action: manipulation;
+ vertical-align: middle;
+ white-space: nowrap;
+}
+</style>
+ </head>
+ <body>
+<a class="button" href="#" onclick="CopyToClipboard('markdown');return false;">Copy Markdown</a>
+<textarea id="markdown" style="min-width: 85rem; height: 45rem;">
+ {% for object in object_list %}
+#### [{{object.title|title}}]({{object.url}})
+
++++button-group
+
+[{{object.retailer}}]({{object.url}} "{{object.retailer}}"){: target="_blank"}
+
++++
+
+{{object.body}}
+
+{%endfor%}
+</textarea>
+
+<script>
+function CopyToClipboard(id)
+{
+var r = document.createRange();
+r.selectNode(document.getElementById(id));
+window.getSelection().removeAllRanges();
+window.getSelection().addRange(r);
+document.execCommand('copy');
+window.getSelection().removeAllRanges();
+}
+</script>
+</body>
+</html>