# Source: themes/ess-dive/views/SubmitDataButtonView.js

    define(['jquery', 'underscore', 'backbone', 'models/SolrResult'],
    	function($, _, Backbone, SolrResult, template) {
    		'use strict'

            /**
    		 * Button to the data package editor
    		 *
    		 * @type {void|*}
             */
    		var SubmitDataButtonView = Backbone.View.extend({

    			tagName: "a",

    			className: "btn btn-primary",

    			/**
    			 * Initialize the button.  Specify parent element for tool tips
    			 * @param options
                 */
    			initialize: function (options) {
    				if (!options) var options = {};

    				this.parent = options.parent
    			},

    			/**
    			 * Render the submit data button.  Tool tips are added if a parent element is specified
    			 * during initialization.
    			 *
    			 * Checks that the user is logged in and has permission to submit data.
    			 *
    			 * @type {boolean}
    			 */
    			render: function(){
    				var ifUserHasPerm = MetacatUI.isAllowedtoSubmitData(MetacatUI.appUserModel);

                    if (!ifUserHasPerm) {

    					// Setup the parent element for tooltips
    					if (this.parent)
    						$(this.parent).addClass("tooltip-this")
    							.attr("data-placement", "bottom")
    							.attr("data-trigger", "hover");

    					// Determine if the user is allowed to submit data
                        if (!MetacatUI.appUserModel.get("loggedIn")) {
                            this.$el.addClass("btn-secondary disabled").removeClass('btn-primary');
    						this.$el.text("Submit Data");
    						if (this.parent)
    							$(this.parent)
    								.attr("disabled", "disabled")
    								.attr("data-title", "Login with your Orcid to submit data." +
    									" If you do not have an Orcid, click 'Sign in with Orcid' " +
    									"and follow the registration instructions.");
                        } else if (!ifUserHasPerm) {
                            this.$el.attr("href", MetacatUI.appModel.get("userRegistrationUrl"));
                            this.$el.attr("target", "_blank");
                            this.$el.text("Request Upload Access");
    						if (this.parent)
    							$(this.parent)
    								.attr("data-title", "You don't have permission to Submit Data." +
    									" Click here to request submit access.");
                        }
                    }
    				else{

    					this.$el.removeClass("btn-secondary disabled").addClass("btn-primary");
    					this.$el.removeProp("disable");
    					this.$el.removeProp("target");
    					this.$el.attr("href", "/submit");
    					this.$el.text("Submit Data");
    					if (this.parent)
    						$(this.parent).removeClass("tooltip-this")
    								.removeProp("data-placement", "bottom")
    								.removeProp("data-trigger", "hover");

    				}

    				return this;
    			}

    		});

    		return SubmitDataButtonView;
    	}
    );