Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5071 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'   Reference SDK
5
'   _wform_reference_sdk.asp
6
'
5087 dpurdie 7
'   This page is designed to be loaded into a <div>
8
'   It will create a modal dialog ansd do all of its work within that
5071 dpurdie 9
'=====================================================
10
%>
11
<%
12
Option explicit
13
Response.Expires = 0	' always load the page, dont store
14
%>
15
<!--#include file="common/conf.asp"-->
16
<!--#include file="common/globals.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
<!--#include file="common/common_dbedit.asp"-->
20
<%
21
'------------ ACCESS CONTROL ------------------
22
%>
23
<!--#include file="_access_control_general.asp"-->
24
<%
25
'------------ Variable Definition -------------
26
Dim bLoggedIn, bAuthorised
27
 
28
'------------ Constants Declaration -----------
29
'------------ Variable Init -------------------
30
bLoggedIn = objAccessControl.UserLogedIn
5080 dpurdie 31
bAuthorised = canActionControlInProject("CreateSdk")
5071 dpurdie 32
'----------------------------------------------
33
%>
5087 dpurdie 34
<script>
35
//# sourceURL=_wform_reference_sdk.asp
36
$( "#refSdk" ).dialog({
37
    modal : true,
38
    autoOpen : true,
39
    width : 450,
40
    height : 250,
41
    position: { my: "top", at: "top+100", of: window },
42
    dialogClass: "rounded_box",
43
    title : "Add SDK to Release",
44
    close: function( event, ui ) { $(this).dialog('destroy').remove();},
45
    buttons: [
46
<%If bLoggedIn AND bAuthorised Then%>
47
        {
48
        text  : 'Add',
49
        click : function(){$( "#refSdk" ).submit();},
50
        },
51
<%End If%>
52
        {
53
        text : 'Cancel',
54
        click : function(){ $(this).dialog('close');},
55
        },
56
    ],
5071 dpurdie 57
 
5087 dpurdie 58
});
5071 dpurdie 59
 
5087 dpurdie 60
//  Initial population of the Ref SDK Names   
61
populateSdkNames();
62
$("#sel_sdkname").change(function(){
63
    populateSdkVersions( $("#sel_sdkname").val());
64
});
65
 
66
// Form Validation processing
5088 dpurdie 67
//      Load in the required JavaScript support
68
$.getScript("jquery/form-validator/jquery.form-validator.min.js", registerValidation);
5087 dpurdie 69
 
5088 dpurdie 70
function registerValidation()
71
{
72
    $.validate({
73
        form: '#refSdk',
74
        validateOnBlur : false,
75
        onValidate : function() { 
76
            clearInfo();
77
            $("#sdkv_progressBar").css('visibility', 'visible');
78
        },
79
        onError: function(){
80
            $("#sdkv_progressBar").css('visibility', 'hidden');
81
        },
82
        onSuccess : function(f) {
83
            var p = $.param({
84
                rtag_id : '<%=parRtag_id%>',
85
                sdk_id : $('#sel_sdkname').val(),
86
                sdktag_id : $('#sel_sdkversion').val(),
87
            });
88
            window.location = 'sdk_add_release.asp?' + p;
89
            f.dialog( "close" );
90
            return false;
91
        },
92
    });
93
}
94
 
5087 dpurdie 95
//  Populate the Reference Project
96
function populateSdkNames() {
97
    getAjaxData (
98
        "sdk_opr_json.asp",
99
        { action: "getSdkNames" },
100
        function(data){
101
            // Populate selection
102
            var $options = $("#sel_sdkname").empty();
103
            var name
104
            $options.append($("<option selected disabled />").val(null).text('Select One'));
105
            $.each(data.aaData, function (index, value) {
106
                $options.append($("<option />").val(value.SDK_ID).text(value.SDK_NAME));
107
            });
108
        });    
109
}
110
 
111
//  Populate the SDK Versions selection drop down
112
//      sdk_id  - Identify the family to select
113
//
114
function populateSdkVersions(sdk_id){
115
    getAjaxData (
116
        "sdk_opr_json.asp",
117
        { action: "getSdkVersions", sdk_id : sdk_id, active: true },
118
        function(data){
119
            // Populate selection
120
            var $options = $("#sel_sdkversion").empty();
121
            $options.append($("<option selected disabled />").val(null).text('Select One'));
122
            $.each(data.aaData, function (index, value) {
123
                $options.append($("<option />").val(value.SDKTAG_ID).text(value.SDKTAG_NAME));
124
            });
125
        });    
126
}
127
 
128
 
129
function setInfo(txt) {
130
    $("#sdkv_info").text( txt).addClass("error");
131
}
132
 
133
function clearInfo(txt) {
134
    $("#sdkv_info").text(" ").removeClass("error");
135
}
136
 
137
//  getAjaxData - with error processing
138
//      url - url to fetch
139
//      data    - additional data to pass to ajax request
140
//      success - function to call on success
141
function getAjaxData( url, data, success )
5071 dpurdie 142
{
5087 dpurdie 143
    clearInfo();
144
    $("#sdkv_progressBar").css('visibility', 'visible');
145
    $.ajax(
5071 dpurdie 146
    {
5087 dpurdie 147
        url : url,
148
        type: "POST",
149
        data : data,
150
        dataType : "json",
151
        cache: false,
152
        success:function(data, textStatus, jqXHR)
153
        {
154
            //data: return data from server
155
            //console.log ("UpdateData", data);
156
            if (data.result != 0)
157
            {
158
                setInfo("Error:" + ((data.error != 0) ? data.emsgSummary : "Reason not given"));
159
                if (data.error >= 0) disableForm();
160
                return;
161
            }
162
            //  call user success function
163
            success(data);
164
        },
165
        error: function(jqXHR, textStatus, errorThrown)
166
        {
167
            setInfo("Error:" + errorThrown);
168
            disableForm();
169
            //if fails
170
        },
171
        complete : function()
172
        {
173
            $("#sdkv_progressBar").css('visibility', 'hidden');
174
        }
175
    });
5071 dpurdie 176
}
177
</script>
5088 dpurdie 178
<link rel="stylesheet" href="jquery/form-validator.css" type="text/css">
5087 dpurdie 179
<form name="refSdk" id=refSdk>
5071 dpurdie 180
  <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
181
    <tr> 
182
      <td height="100%" width="1%">&nbsp;</td>
183
      <td valign="top" nowrap colspan="3"> 
5087 dpurdie 184
        <table width="100%" border="0" cellspacing="1" cellpadding="2"  class="form_txt">
5071 dpurdie 185
          <tr> 
186
<%If NOT bLoggedIn Then%>
187
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><img src="images/s_critical.gif"></img>You are not logged in</td>
188
<%ElseIf NOT bAuthorised Then %>    
189
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><img src="images/s_critical.gif"></img>You are not Authorized to perform this action</td>
190
<%Else%>
191
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><strong>NOTE:</strong> You can only reference a released SDK.</td>
192
<%End If%>
193
          </tr>
194
          <tr class="form_field_bg"> 
195
            <td width="1%" nowrap class="form_field">SDK</td>
5087 dpurdie 196
            <td nowrap width="100%">
197
                <select id="sel_sdkname" class=form_item>
5071 dpurdie 198
            </td>
199
          </tr>
200
          <tr class="form_field_bg"> 
201
            <td width="1%" nowrap class="form_field">Version</td>
5087 dpurdie 202
            <td nowrap width="100%"> 
203
                <select id="sel_sdkversion" data-validation="required">
5071 dpurdie 204
            </td>
205
          </tr>
5087 dpurdie 206
        <div style='min-height:25px;position:relative;'>
207
            <img id='sdkv_progressBar' src='icons/i_processing.gif' width='79' height='14'style='visibility:hidden;position:absolute;'>
208
            <div id='sdkv_info' style='position:absolute;'></div>
209
        </div>
210
 
5071 dpurdie 211
        </table>
212
      </td>
213
    </tr>
214
  </table>
215
</form>