PageRenderTime 40ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/Module/Task.ascx

http://2DoTasks.codeplex.com
ASP.NET | 219 lines | 207 code | 12 blank | 0 comment | 14 complexity | c083e36f26b3a0fb43269618d5e386bc MD5 | raw file
  1. <%@ Control Language="C#" Inherits="DotNetNuke.Modules._2DoTasks.Task" AutoEventWireup="false"
  2. CodeBehind="Task.ascx.cs" %>
  3. <%@ Register TagPrefix="dnn" TagName="label" Src="~/controls/LabelControl.ascx" %>
  4. <%@ Register Src="Messages.ascx" TagName="Messages" TagPrefix="uc1" %>
  5. <%@ Register Src="TaskComments.ascx" TagName="TaskComments" TagPrefix="uc2" %>
  6. <%@ Register Src="TaskTimeEntries.ascx" TagName="TaskTimeEntries" TagPrefix="uc3" %>
  7. <%@ Register Src="TaskSubTasks.ascx" TagName="TaskSubTasks" TagPrefix="uc4" %>
  8. <script>
  9. $(document).ready(function () {
  10. $.fn.StaticFooter = function () {
  11. var c = $(this);
  12. function repo() {
  13. c.css({ position: "absolute", top: ($(window).scrollTop() + $(window).height() - c.height()) + "px" });
  14. }
  15. repo();
  16. $(window).resize(repo).scroll(repo);
  17. }
  18. if (navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod') {
  19. $("#StatusBar").StaticFooter();
  20. }
  21. // jQuery UI Dialog
  22. // Initialize validation on the entire ASP.NET form.
  23. $("#Form").validate({
  24. // This prevents validation from running on every
  25. // form submission by default.
  26. onsubmit: false,
  27. ignore: '.ignore',
  28. focusInvalid: true
  29. });
  30. // Search for controls marked with the causesValidation flag
  31. // that are contained anywhere within elements marked as
  32. // validationGroups, and wire their click event up.
  33. $('.validationGroup .causesValidation').click(function (evt) {
  34. if (ValidateAndSubmit(evt, '.validationGroup')) {
  35. $(this).slideUp();
  36. return true;
  37. }
  38. return false;
  39. });
  40. // Select any input[type=text] elements within a validation group
  41. // and attach keydown handlers to all of them.
  42. $('.validationGroup :text').keydown(function (evt) {
  43. // Only execute validation if the key pressed was enter.
  44. if (evt.keyCode == 13) {
  45. ValidateAndSubmit(evt, '.validationGroup');
  46. }
  47. });
  48. $.datepicker.setDefaults({
  49. constrainInput: true,
  50. dateFormat: 'dd-mm-yy'
  51. });
  52. $("[id$='txt_targetCompletiondate']").unbind();
  53. $("[id$='txt_targetCompletiondate']").datepicker();
  54. $("[id$='txt_endDate']").unbind();
  55. $("[id$='txt_endDate']").datepicker();
  56. $("[id$='txt_startDate']").unbind();
  57. $("[id$='txt_startDate']").datepicker();
  58. //Autocomplete projects
  59. $("[id$='txt_Project']").autocomplete({
  60. minLength: 2,
  61. source: function (term, data) {
  62. var dataServiceUrl = "/DesktopModules/2DoTasks/Services/DataService.svc/Project_GetByName/" + term.term + "?portalId=<%=PortalId %>";
  63. //alert(dataServiceUrl);
  64. $.ajax({
  65. type: "GET",
  66. contentType: "application/json; charset=utf-8",
  67. url: dataServiceUrl,
  68. dataType: "json",
  69. success: function (response) {
  70. //alert(response);
  71. data(response);
  72. }
  73. });
  74. }
  75. });
  76. var currTab = $("#<%= hd_currentTabId.ClientID %>");
  77. $('#TaskTabs').bind('tabsselect', function (event, ui) {
  78. currTab.val(ui.index);
  79. });
  80. if (currTab.val() != '') {
  81. $('#TaskTabs').dnnTabs({ selected: currTab.val() });
  82. } else {
  83. $('#TaskTabs').dnnTabs({ selected: -1 });
  84. }
  85. });
  86. </script>
  87. <asp:HiddenField runat="server" ID="hd_currentTabId" Value="0" />
  88. <fieldset class="_2DoTasks validationGroup" style="display: block; margin: 15px;">
  89. <div class="dnnForm dnnClear" id="TaskTabs">
  90. <ul class="dnnAdminTabNav dnnClear" style="<%= TaskId.HasValue?"": "visibility:hidden;height:0px;" %>">
  91. <li><a href='#Tasks-tab'>
  92. <%= DotNetNuke.Services.Localization.Localization.GetString("TabTaskTitle", this.LocalResourceFile)%></a></li>
  93. <li><a href="#Comments-tab">
  94. <%= DotNetNuke.Services.Localization.Localization.GetString("TabTaskComments", this.LocalResourceFile)%></a></li>
  95. <li><a href="#Time-tab">
  96. <%= DotNetNuke.Services.Localization.Localization.GetString("TabTaskTime", this.LocalResourceFile)%></a></li>
  97. <li><a href="#SubTasks-tab">
  98. <%= DotNetNuke.Services.Localization.Localization.GetString("TabTaskSubTasks", this.LocalResourceFile)%></a></li>
  99. </ul>
  100. <div id="Tasks-tab" class="dnnClear">
  101. <div>
  102. <h3>
  103. <%= DotNetNuke.Services.Localization.Localization.GetString("TaskTitle", this.LocalResourceFile)%></h3>
  104. <p>
  105. <dnn:label id="lbl_Name" runat="server" />
  106. <br />
  107. <asp:TextBox ID="txt_Name" MaxLength="100" Width="100%" runat="server"></asp:TextBox><br />
  108. <br />
  109. <dnn:label id="lbl_Description" runat="server" />
  110. <br />
  111. <asp:TextBox ID="txt_description" TextMode="MultiLine" MaxLength="800" Rows="10"
  112. Width="100%" runat="server"></asp:TextBox><br />
  113. <br />
  114. <div style="float: left; width: 100%;">
  115. <div style="float: left; width: 48%">
  116. <dnn:label id="lbl_Project" runat="server" />
  117. <br />
  118. <asp:TextBox ID="txt_Project" CssClass="ignore" MaxLength="50" Width="100%" runat="server"></asp:TextBox><br />
  119. </div>
  120. <div style="float: right; width: 48%">
  121. <dnn:label id="lbl_targetCompletiondate" runat="server" />
  122. <br />
  123. <asp:TextBox ID="txt_targetCompletiondate" CssClass="ignore" MaxLength="10" Width="100%"
  124. runat="server"></asp:TextBox><br />
  125. </div>
  126. </div>
  127. <br class="clear" />
  128. <br />
  129. <div style="float: left; width: 100%;">
  130. <div style="float: left; width: 48%">
  131. <dnn:label id="lbl_AssignedTo" runat="server" />
  132. <br />
  133. <asp:TextBox ID="txt_assignedTo" MaxLength="256" Width="100%" runat="server"></asp:TextBox><br />
  134. <br />
  135. </div>
  136. <div style="float: right; width: 48%">
  137. <dnn:label id="lbl_RequestedBy" runat="server" />
  138. <br />
  139. <asp:TextBox ID="txt_requestedBy" MaxLength="256" Width="100%" runat="server"></asp:TextBox><br />
  140. <br />
  141. </div>
  142. </div>
  143. <br class="clear" />
  144. <div style="float: left; width: 100%;">
  145. <div style="float: left; width: 30%">
  146. <dnn:label id="lbl_taskType" runat="server" />
  147. <br />
  148. <asp:DropDownList ID="drp_taskType" Width="100%" runat="server" />
  149. <br />
  150. </div>
  151. <div style="float: left; width: 5%">
  152. &nbsp;
  153. </div>
  154. <div style="float: left; width: 30%">
  155. <dnn:label id="lbl_taskStatus" runat="server" /><br />
  156. <asp:DropDownList ID="drp_taskStatus" Width="100%" runat="server" />
  157. <br />
  158. </div>
  159. <div style="float: left; width: 5%">
  160. &nbsp;
  161. </div>
  162. <div style="float: left; width: 30%">
  163. <dnn:label id="lbl_taskPriority" runat="server" /><br />
  164. <asp:DropDownList ID="drp_taskPriority" Width="100%" runat="server" />
  165. <br />
  166. </div>
  167. </div>
  168. <br class="clear" />
  169. <br />
  170. </p>
  171. </div>
  172. </div>
  173. <div id="Comments-tab" class="dnnClear" style="<%= TaskId.HasValue?"": "visibility:hidden;" %>">
  174. <div>
  175. <h3>
  176. <%= DotNetNuke.Services.Localization.Localization.GetString("CommentsTitle", this.LocalResourceFile)%></h3>
  177. <p>
  178. <uc2:TaskComments ID="TaskComments" runat="server" Visible="false" /></p>
  179. </div>
  180. </div>
  181. <div id="Time-tab" class="dnnClear" style="<%= TaskId.HasValue?"": "visibility:hidden;" %>">
  182. <div>
  183. <h3>
  184. <%= DotNetNuke.Services.Localization.Localization.GetString("TimeTitle", this.LocalResourceFile)%></h3>
  185. <p>
  186. <uc3:TaskTimeEntries ID="TaskTimeEntries" runat="server" Visible="false" /></p>
  187. </div>
  188. </div>
  189. <div id="SubTasks-tab" class="dnnClear" style="<%= TaskId.HasValue?"": "visibility:hidden;" %>">
  190. <div>
  191. <h3>
  192. <%= DotNetNuke.Services.Localization.Localization.GetString("SubTasksTitle", this.LocalResourceFile)%></h3>
  193. <p>
  194. <uc4:TaskSubTasks ID="TaskSubTasks" runat="server" Visible="false" /></p>
  195. </div>
  196. </div>
  197. </div>
  198. <br />
  199. <hr />
  200. <div id="_2DoTasks_StatusBar">
  201. <div>
  202. <asp:Button ID="btn_cancel" runat="server" OnClick="btn_cancel_Click" />&nbsp;&nbsp;<asp:Button
  203. ID="btn_send" runat="server" CssClass="causesValidation" OnClick="btn_send_Click" /></div>
  204. </div>
  205. <br class="clear" />
  206. </fieldset>
  207. <uc1:Messages ID="Messages" runat="server" />