summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-05-07 09:31:55 -0400
committerMichael <[email protected]>2017-05-07 09:31:55 -0400
commit47a8fdc9c725bfa468e77366e6d136400ef5e947 (patch)
tree7f35dbefcb3b9f305d6b02950301f412f178e14d
parent0ae47a126b1fb37ecbc80ecddd34a892fb6fd3b2 (diff)
downloadproject-unite-47a8fdc9c725bfa468e77366e6d136400ef5e947.tar.gz
project-unite-47a8fdc9c725bfa468e77366e6d136400ef5e947.tar.bz2
project-unite-47a8fdc9c725bfa468e77366e6d136400ef5e947.zip
View Group page
-rw-r--r--Project-Unite/ACL.cs6
-rw-r--r--Project-Unite/Controllers/GroupsController.cs11
-rw-r--r--Project-Unite/Project-Unite.csproj1
-rw-r--r--Project-Unite/Views/Groups/ViewGroup.cshtml37
4 files changed, 55 insertions, 0 deletions
diff --git a/Project-Unite/ACL.cs b/Project-Unite/ACL.cs
index cc1c511..ce3bb15 100644
--- a/Project-Unite/ACL.cs
+++ b/Project-Unite/ACL.cs
@@ -109,6 +109,12 @@ namespace Project_Unite
return hpr.ActionLink(topic.Subject, "ViewTopic", "Forum", new { id = topic.Discriminator }, null);
}
+ public static string GetUserGroup(string uid)
+ {
+ var db = new ApplicationDbContext();
+ return db.Users.FirstOrDefault(x => x.Id == uid).GroupId;
+ }
+
public static string ResolveUserLinksInMarkdown(string mkdn)
{
string[] words = mkdn.Split(' ');
diff --git a/Project-Unite/Controllers/GroupsController.cs b/Project-Unite/Controllers/GroupsController.cs
index 96aa401..e3f0907 100644
--- a/Project-Unite/Controllers/GroupsController.cs
+++ b/Project-Unite/Controllers/GroupsController.cs
@@ -15,5 +15,16 @@ namespace Project_Unite.Controllers
var db = new ApplicationDbContext();
return View(db.Groups);
}
+
+ [Authorize]
+ public ActionResult ViewGroup(string id)
+ {
+ var db = new ApplicationDbContext();
+ var group = db.Groups.FirstOrDefault(x => x.Id == id);
+ if (group == null)
+ return new HttpStatusCodeResult(404);
+
+ return View(group);
+ }
}
} \ No newline at end of file
diff --git a/Project-Unite/Project-Unite.csproj b/Project-Unite/Project-Unite.csproj
index e70f34c..24f4579 100644
--- a/Project-Unite/Project-Unite.csproj
+++ b/Project-Unite/Project-Unite.csproj
@@ -590,6 +590,7 @@
<Content Include="Views\Stats\Pong.cshtml" />
<Content Include="Views\Stats\Codepoints.cshtml" />
<Content Include="Views\Groups\Index.cshtml" />
+ <Content Include="Views\Groups\ViewGroup.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
diff --git a/Project-Unite/Views/Groups/ViewGroup.cshtml b/Project-Unite/Views/Groups/ViewGroup.cshtml
new file mode 100644
index 0000000..8409e0a
--- /dev/null
+++ b/Project-Unite/Views/Groups/ViewGroup.cshtml
@@ -0,0 +1,37 @@
+@model Project_Unite.Models.Group
+@{
+ ViewBag.Title = Model.Name + " - Groups ";
+}
+@using Microsoft.AspNet.Identity;
+
+<div class="row group_banner" style="background-color: #@Model.BannerColorHex;">
+ <h2><strong>[@Model.ShortName] @Model.Name</strong></h2>
+</div>
+
+
+<div class="row">
+ <div class="panel col-xs-8">
+ @Html.Markdown(Model.Description)
+ </div>
+ <div class="col-xs-4">
+ @if (ACL.GetUserGroup(User.Identity.GetUserId()) == Model.Id)
+ {
+ @Html.ActionLink("Leave", "LeaveGroup", "Groups", null, new { @class = "btn btn-default" })
+ }
+ else
+ {
+ @if (Model.Publicity == 0 || Model.Publicity == 2)
+ {
+ @Html.ActionLink("Join", "JoinGroup", "Groups", new { id = Model.Id }, new { @class = "btn btn-default" })
+ }
+ }
+ <hr/>
+ @if(Model.Publicity > 1)
+ {
+ <h4>This group is private.</h4>
+
+ <p>Please respect that. Do not share this group link with anyone not authorized by the group administrators.</p>
+ }
+ </div>
+</div>
+