You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	Added links and api key links to notifications
This commit is contained in:
		| @@ -8,6 +8,7 @@ namespace NzbDrone.Api.ClientSchema | ||||
|         public string Name { get; set; } | ||||
|         public string Label { get; set; } | ||||
|         public string HelpText { get; set; } | ||||
|         public string HelpLink { get; set; } | ||||
|         public object Value { get; set; } | ||||
|         public string Type { get; set; } | ||||
|         public List<SelectOption> SelectOptions { get; set; } | ||||
|   | ||||
| @@ -26,6 +26,7 @@ namespace NzbDrone.Api.ClientSchema | ||||
|                             Name = propertyInfo.Name, | ||||
|                             Label = fieldAttribute.Label, | ||||
|                             HelpText = fieldAttribute.HelpText, | ||||
|                             HelpLink = fieldAttribute.HelpLink, | ||||
|                             Order = fieldAttribute.Order, | ||||
|                             Type = fieldAttribute.Type.ToString().ToLowerInvariant() | ||||
|                         }; | ||||
|   | ||||
| @@ -9,6 +9,7 @@ namespace NzbDrone.Api.Notifications | ||||
|     { | ||||
|         public String Name { get; set; } | ||||
|         public String ImplementationName { get; set; } | ||||
|         public String Link { get; set; } | ||||
|         public Boolean OnGrab { get; set; } | ||||
|         public Boolean OnDownload { get; set; } | ||||
|         public List<Field> Fields { get; set; } | ||||
|   | ||||
| @@ -13,6 +13,7 @@ namespace NzbDrone.Core.Annotations | ||||
|         public int Order { get; private set; } | ||||
|         public string Label { get; set; } | ||||
|         public string HelpText { get; set; } | ||||
|         public string HelpLink { get; set; } | ||||
|         public FieldType Type { get; set; } | ||||
|         public Type SelectOptions { get; set; } | ||||
|     } | ||||
|   | ||||
| @@ -22,6 +22,11 @@ namespace NzbDrone.Core.Notifications.Email | ||||
|             get { return "Email"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return null; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string subject = "NzbDrone [TV] - Grabbed"; | ||||
|   | ||||
| @@ -21,6 +21,11 @@ namespace NzbDrone.Core.Notifications.Growl | ||||
|             get { return "Growl"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "http://growl.info/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string title = "Episode Grabbed"; | ||||
|   | ||||
| @@ -6,6 +6,7 @@ namespace NzbDrone.Core.Notifications | ||||
|     { | ||||
|         string Name { get; } | ||||
|         string ImplementationName { get; } | ||||
|         string Link { get; } | ||||
|  | ||||
|         NotificationDefinition InstanceDefinition { get; set; } | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,7 @@ | ||||
|         public int Id { get; set; } | ||||
|         public string Name { get; set; } | ||||
|         public string ImplementationName { get; set; } | ||||
|         public string Link { get; set; } | ||||
|         public bool OnGrab { get; set; } | ||||
|         public bool OnDownload { get; set; } | ||||
|         public INotifcationSettings Settings { get; set; } | ||||
|   | ||||
| @@ -7,6 +7,7 @@ namespace NzbDrone.Core.Notifications | ||||
|     { | ||||
|         public abstract string Name { get; } | ||||
|         public abstract string ImplementationName { get; } | ||||
|         public abstract string Link { get; } | ||||
|  | ||||
|         public NotificationDefinition InstanceDefinition { get; set; } | ||||
|  | ||||
|   | ||||
| @@ -68,6 +68,7 @@ namespace NzbDrone.Core.Notifications | ||||
|                 newNotification.Instance = (INotification)_container.Resolve(type); | ||||
|                 newNotification.Id = i; | ||||
|                 newNotification.ImplementationName = notification.ImplementationName; | ||||
|                 newNotification.Link = notification.Link; | ||||
|  | ||||
|                 var instanceType = newNotification.Instance.GetType(); | ||||
|                 var baseGenArgs = instanceType.BaseType.GetGenericArguments(); | ||||
|   | ||||
| @@ -21,6 +21,11 @@ namespace NzbDrone.Core.Notifications.Plex | ||||
|             get { return "Plex Client"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "http://www.plexapp.com/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string header = "NzbDrone [TV] - Grabbed"; | ||||
|   | ||||
| @@ -21,6 +21,11 @@ namespace NzbDrone.Core.Notifications.Plex | ||||
|             get { return "Plex Server"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "http://www.plexapp.com/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|         } | ||||
|   | ||||
| @@ -22,6 +22,11 @@ namespace NzbDrone.Core.Notifications.Prowl | ||||
|             get { return "Prowl"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "http://www.prowlapp.com/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string title = "Episode Grabbed"; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ namespace NzbDrone.Core.Notifications.Prowl | ||||
| { | ||||
|     public class ProwlSettings : INotifcationSettings | ||||
|     { | ||||
|         [FieldDefinition(0, Label = "API Key")] | ||||
|         [FieldDefinition(0, Label = "API Key", HelpLink = "https://www.prowlapp.com/api_settings.php")] | ||||
|         public String ApiKey { get; set; } | ||||
|  | ||||
|         [FieldDefinition(1, Label = "Priority", Type = FieldType.Select, SelectOptions= typeof(ProwlPriority) )] | ||||
|   | ||||
| @@ -23,6 +23,11 @@ namespace NzbDrone.Core.Notifications.Pushover | ||||
|             get { return "Pushover"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "https://pushover.net/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string title = "Episode Grabbed"; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ namespace NzbDrone.Core.Notifications.Pushover | ||||
| { | ||||
|     public class PushoverSettings : INotifcationSettings | ||||
|     { | ||||
|         [FieldDefinition(0, Label = "User Key")] | ||||
|         [FieldDefinition(0, Label = "User Key", HelpLink = "https://pushover.net/")] | ||||
|         public String UserKey { get; set; } | ||||
|  | ||||
|         [FieldDefinition(1, Label = "Priority", Type = FieldType.Select, SelectOptions = typeof(PushoverPriority) )] | ||||
|   | ||||
| @@ -22,6 +22,11 @@ namespace NzbDrone.Core.Notifications.Xbmc | ||||
|             get { return "XBMC"; } | ||||
|         } | ||||
|  | ||||
|         public override string Link | ||||
|         { | ||||
|             get { return "http://xbmc.org/"; } | ||||
|         } | ||||
|  | ||||
|         public override void OnGrab(string message) | ||||
|         { | ||||
|             const string header = "NzbDrone [TV] - Grabbed"; | ||||
|   | ||||
| @@ -1,4 +1,6 @@ | ||||
| .control-group { | ||||
| @import "../Shared/Styles/clickable.less"; | ||||
|  | ||||
| .control-group { | ||||
|   .controls { | ||||
|     i { | ||||
|       font-size : 16px; | ||||
| @@ -31,3 +33,11 @@ | ||||
| textarea.release-restrictions { | ||||
|   width : 260px; | ||||
| } | ||||
|  | ||||
| .help-link { | ||||
|   text-decoration: none !important; | ||||
|  | ||||
|   i { | ||||
|     .clickable; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										11
									
								
								UI/Form/FormHelpPartial.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								UI/Form/FormHelpPartial.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| {{#if helpText}} | ||||
|     <span class="help-inline"> | ||||
|         <i class="icon-question-sign" title="{{helpText}}"/> | ||||
|     </span> | ||||
| {{/if}} | ||||
|  | ||||
| {{#if helpLink}} | ||||
|     <span class="help-inline"> | ||||
|         <a href="{{helpLink}}" class="help-link"><i class="icon-info-sign"/></a> | ||||
|     </span> | ||||
| {{/if}} | ||||
| @@ -3,10 +3,6 @@ | ||||
|  | ||||
|     <div class="controls"> | ||||
|         <input type="text" name="fields.{{order}}.value" spellcheck="false"/> | ||||
|         {{#if helpText}} | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="{{helpText}}"/> | ||||
|             </span> | ||||
|         {{/if}} | ||||
|         {{> FormHelpPartial}} | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -2,6 +2,9 @@ | ||||
|     <div class="row"> | ||||
|         <div class="span3"> | ||||
|             {{implementationName}} | ||||
|             {{#if link}} | ||||
|                 <a href="{{link}}"><i class="icon-info-sign"/></a> | ||||
|             {{/if}} | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -18,7 +18,11 @@ define([ | ||||
|             this.notificationCollection = options.notificationCollection; | ||||
|         }, | ||||
|  | ||||
|         addNotification: function () { | ||||
|         addNotification: function (e) { | ||||
|             if ($(e.target).hasClass('icon-info-sign')) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             this.model.set('id', undefined); | ||||
|             var editView = new EditView({ model: this.model, notificationCollection: this.notificationCollection }); | ||||
|             App.modalRegion.show(editView); | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| @import "../../Shared/Styles/card.less"; | ||||
| @import "../../Shared/Styles/clickable.less"; | ||||
|  | ||||
| .add-notification-item { | ||||
|   .card; | ||||
| @@ -6,6 +7,19 @@ | ||||
|   font-size: 24px; | ||||
|   font-weight: lighter; | ||||
|   text-align: center; | ||||
|  | ||||
|   a { | ||||
|     font-size: 16px; | ||||
|     color: #595959; | ||||
|  | ||||
|     i { | ||||
|       .clickable; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   a:hover { | ||||
|     text-decoration: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .add-notifications { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user