diff --git a/app/assets/v2/css/town_square.css b/app/assets/v2/css/town_square.css
index a07194f43be..0706d46581a 100644
--- a/app/assets/v2/css/town_square.css
+++ b/app/assets/v2/css/town_square.css
@@ -1049,3 +1049,48 @@ body.green.offer_view .announce {
.promo .close-promo i {
font-weight: 100;
}
+
+.new_grant {
+ border-top: 6px solid rgba(13, 7, 100, 0.25);
+}
+
+.new_kudos {
+ border-top: 6px solid rgba(0, 163, 255, 0.25);
+}
+
+.new_bounty {
+ border-top: 6px solid rgba(62, 0, 255, 0.4);
+}
+
+.new_hackathon_project {
+ border-top: 6px solid rgba(15, 206, 124, 0.25);
+}
+
+.bg-gc-blue {
+ background-color: var(--gc-blue);
+}
+
+.bg-gc-green {
+ background-color: var(--gc-green);
+}
+
+.bg-light-blue {
+ background-color: #00A3FF;
+}
+
+.bg-gc-dark-blue {
+ background-color: #0D0764;
+}
+
+.card-ribbon {
+ margin-top: -14px;
+ right: -10px;
+ width: 110px;
+ margin-bottom: 10px;
+ position: absolute;
+}
+
+.logo-metacard {
+ max-height: 4rem;
+ max-width: 4rem;
+}
diff --git a/app/dashboard/migrations/0102_auto_20200423_1227.py b/app/dashboard/migrations/0102_auto_20200423_1227.py
new file mode 100644
index 00000000000..bb0f360d3a3
--- /dev/null
+++ b/app/dashboard/migrations/0102_auto_20200423_1227.py
@@ -0,0 +1,24 @@
+# Generated by Django 2.2.4 on 2020-04-23 12:27
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('dashboard', '0101_auto_20200420_1427'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='activity',
+ name='project',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='projects_activities', to='dashboard.HackathonProject'),
+ ),
+ migrations.AlterField(
+ model_name='activity',
+ name='activity_type',
+ field=models.CharField(blank=True, choices=[('wall_post', 'Wall Post'), ('status_update', 'Update status'), ('new_bounty', 'New Bounty'), ('start_work', 'Work Started'), ('stop_work', 'Work Stopped'), ('work_submitted', 'Work Submitted'), ('work_done', 'Work Done'), ('worker_approved', 'Worker Approved'), ('worker_rejected', 'Worker Rejected'), ('worker_applied', 'Worker Applied'), ('increased_bounty', 'Increased Funding'), ('killed_bounty', 'Canceled Bounty'), ('new_tip', 'New Tip'), ('receive_tip', 'Tip Received'), ('bounty_abandonment_escalation_to_mods', 'Escalated checkin from @gitcoinbot about bounty status'), ('bounty_abandonment_warning', 'Checkin from @gitcoinbot about bounty status'), ('bounty_removed_slashed_by_staff', 'Dinged and Removed from Bounty by Staff'), ('bounty_removed_by_staff', 'Removed from Bounty by Staff'), ('bounty_removed_by_funder', 'Removed from Bounty by Funder'), ('new_crowdfund', 'New Crowdfund Contribution'), ('new_grant', 'New Grant'), ('update_grant', 'Updated Grant'), ('killed_grant', 'Cancelled Grant'), ('negative_contribution', 'Negative Grant Contribution'), ('new_grant_contribution', 'Contributed to Grant'), ('new_grant_subscription', 'Subscribed to Grant'), ('killed_grant_contribution', 'Cancelled Grant Contribution'), ('new_kudos', 'New Kudos'), ('created_kudos', 'Created Kudos'), ('receive_kudos', 'Receive Kudos'), ('joined', 'Joined Gitcoin'), ('played_quest', 'Played Quest'), ('beat_quest', 'Beat Quest'), ('created_quest', 'Created Quest'), ('updated_avatar', 'Updated Avatar'), ('mini_clr_payout', 'Mini CLR Payout'), ('leaderboard_rank', 'Leaderboard Rank'), ('consolidated_leaderboard_rank', 'Consolidated Leaderboard Rank'), ('consolidated_mini_clr_payout', 'Consolidated CLR Payout'), ('new_hackathon_project', 'New Hackathon Project'), ('hackathon_registration', 'Hackathon Registration'), ('flagged_grant', 'Flagged Grant')], db_index=True, max_length=50),
+ ),
+ ]
diff --git a/app/dashboard/models.py b/app/dashboard/models.py
index 6bd1bd98cd0..de58dc17ef6 100644
--- a/app/dashboard/models.py
+++ b/app/dashboard/models.py
@@ -2081,6 +2081,7 @@ class Activity(SuperModel):
('consolidated_leaderboard_rank', 'Consolidated Leaderboard Rank'),
('consolidated_mini_clr_payout', 'Consolidated CLR Payout'),
('hackathon_registration', 'Hackathon Registration'),
+ ('new_hackathon_project', 'New Hackathon Project'),
('flagged_grant', 'Flagged Grant'),
]
@@ -2133,6 +2134,12 @@ class Activity(SuperModel):
on_delete=models.CASCADE,
blank=True, null=True
)
+ project = models.ForeignKey(
+ 'dashboard.HackathonProject',
+ related_name='hackathon_projects',
+ on_delete=models.CASCADE,
+ blank=True, null=True
+ )
created = models.DateTimeField(auto_now_add=True, blank=True, null=True, db_index=True)
activity_type = models.CharField(max_length=50, choices=ACTIVITY_TYPES, blank=True, db_index=True)
diff --git a/app/retail/templates/shared/activity.html b/app/retail/templates/shared/activity.html
index cb3e96aac5c..77fce952bd7 100644
--- a/app/retail/templates/shared/activity.html
+++ b/app/retail/templates/shared/activity.html
@@ -15,14 +15,8 @@
along with this program. If not, see
{{ row.kudos.ui_name }}
+{{ row.kudos.description|truncatechars:200}}
+{{ row.project.name }}
+for {% if row.project.bounty.funding_organisation %} + {{ row.project.bounty.funding_organisation }} + {% else %} + {{ row.project.bounty.bounty_owner_github_username }} + {% endif %} on {{ row.project.hackathon.name }}
+ Looking for
team members
{{ row.grant.title }}
+{{ row.grant.description|truncatechars:200}}
+