Support was added for branches (subdomains)
authorunknown <JKKN@.wrks.jkkn.net>
Sun, 7 Mar 2010 05:15:17 +0000 (06:15 +0100)
committerunknown <JKKN@.wrks.jkkn.net>
Sun, 7 Mar 2010 05:15:17 +0000 (06:15 +0100)
content/quickbox.js
content/quickbox.xul
content/tv2developer.js
locale/da-DK/tv2developer.dtd
locale/en-US/tv2developer.dtd
version
webroot/index.html
webroot/whatsnew.xhtml

index c9ff1f5d7daa3cedcb1f8a64c4a2ce6cdc55a812..2d8036f47ebdc71ec07c8b51a3825bbe0007d11c 100644 (file)
@@ -15,7 +15,7 @@ var TV2DeveloperQuickBox = {
     _saveInitials: false, /* save the alternative initials field */
     
     /* assemble a final url */
-    _makeUrl: function(protocol, env, sitetype, php4, username, site, uri, dynsite) {
+    _makeUrl: function(protocol, env, sitetype, branch, php4, username, site, uri, dynsite) {
       var domain;
       // Assemble domain
       // Always remove -dyn on test and -static on live
@@ -51,6 +51,10 @@ var TV2DeveloperQuickBox = {
               domain = site + '.';
           }
       }
+      // handle branch
+      if (env != 'live' && branch) {
+          domain += branch + '.';
+      }
       // handle environment
       if (env == 'test') {
           domain += username + '.';
@@ -105,10 +109,13 @@ var TV2DeveloperQuickBox = {
             document.getElementById('sitetype').disabled = !makeSiteURL;
             document.getElementById('php4branch').disabled = (action != 'go-gitweb');
             document.getElementById('viewcontent').disabled = (action != 'go-gitweb');
-            document.getElementById('environment').disabled = (action == 'go-gitweb');
+            document.getElementById('environment').disabled = (action == 'go-gitweb' || action == 'go-bugzilla');
         }
         document.getElementById('php4site').disabled = (!makeSiteURL || action == 'go-pdolog' || action == 'go-gitweb')
                                                       || (environment && environment.id == 'live');
+               document.getElementById('subdomain.label').disabled =
+        document.getElementById('subdomain').disabled = ((action == 'go-gitweb' || action == 'go-bugzilla')
+                                                                                                       || (environment && environment.id == 'live'));
         if (!this._autoChange) { /* avoid updating if this was triggered by updateQuickbox() */
             if (target.id == 'testname' &&
                 document.getElementById('environment').selectedItem.id != 'othertest') {
@@ -153,6 +160,7 @@ var TV2DeveloperQuickBox = {
             var auto_sitetype = 'webroot';
             var auto_env      = 'live';
             var auto_username = null;
+            var auto_branch   = '';
             var auto_php4     = false;
             var validState    = true;
             
@@ -206,14 +214,6 @@ var TV2DeveloperQuickBox = {
 
                 // optional username
                 if (!auto_username) {
-                    if (part.length == 5) {
-                                               var lastChar = part.substr(part.length-1, 1);
-                                               if (lastChar == '4' || lastChar == '5') {
-                                                       part = part.substr(0, part.length-1); // handle 'jkkn4' as short for php4 site, ...
-                                                       auto_php4 = (lastChar == '4');
-                                               }
-                        // will also continue into next if-statement since we cut off one character
-                    }
                     if (part.length == 4) {
                         auto_username = part;
                         if (auto_env == 'live') {
@@ -222,7 +222,7 @@ var TV2DeveloperQuickBox = {
                         continue;
                     }
                 }
-
+                
                 // detect short sitetype (.o, .op, .opd,.. )
                 var used = false;
                 for (var j=0; j<this._sitetypes.length; j++) {
@@ -233,6 +233,21 @@ var TV2DeveloperQuickBox = {
                 }
                 if (used) continue;
 
+                               // optional subdomain (for branches)
+                               if (!auto_branch) {
+                                       if (auto_username && part.length == 4) {
+                                               // if both set, we expect user to have written them in the right order
+                                               auto_branch = auto_username;
+                                               auto_username = part;
+                                       } else {
+                                               auto_branch = part;
+                                       }
+                                       if (auto_env == 'live') {
+                                               auto_env = 'test';
+                                       }
+                                       continue;
+                               }
+                               
                 // handle other kinds of usernames
                 if (!auto_username) {
                     if (part.substr(part.length-1, 1) == '4') {
@@ -254,6 +269,7 @@ var TV2DeveloperQuickBox = {
             var sitetype;
             var php4;
             var action;
+            var branch;
             if (manual) {
                 // read options
                 env = document.getElementById('environment').selectedItem.id;
@@ -264,6 +280,9 @@ var TV2DeveloperQuickBox = {
                     env = 'test';
                     username = document.getElementById('testname').value;
                 }
+                if (env != 'live') {
+                                       branch = document.getElementById('subdomain').value;
+                }
             } else {
                 // determind action
                 var cur_action = document.getElementById('action').selectedItem;
@@ -314,6 +333,8 @@ var TV2DeveloperQuickBox = {
                 } else {
                     document.getElementById('environment').selectedItem=document.getElementById(env);
                 }
+                               branch = auto_branch;
+                               document.getElementById('subdomain').value=branch;
                 document.getElementById('sitetype').selectedItem=document.getElementById(sitetype);
                 document.getElementById('action').selectedItem=document.getElementById(action);
                 document.getElementById('php4site').checked = php4;
@@ -323,7 +344,7 @@ var TV2DeveloperQuickBox = {
             // Store constructed url before action
             var entered_url;
             if (this._shouldMakeURL(action)) {
-                entered_url = this._makeUrl(protocol, env, sitetype, php4, username, site, uri, false);
+                entered_url = this._makeUrl(protocol, env, sitetype, branch, php4, username, site, uri, false);
             }
 
             // Handle actions - part one set host
@@ -373,7 +394,7 @@ var TV2DeveloperQuickBox = {
             case 'go-tango-page':
             case 'go-tango-requeue':
             case 'go-dynamic':
-                action_on_url_encoded = encodeURIComponent(this._makeUrl(protocol, env, sitetype, php4, username, site, uri, true));
+                action_on_url_encoded = encodeURIComponent(this._makeUrl(protocol, env, sitetype, branch, php4, username, site, uri, true));
                 action_uses_opdatering = true;
                 site = 'i2';
                 break;
@@ -387,6 +408,7 @@ var TV2DeveloperQuickBox = {
             if (action_uses_opdatering) {
                 protocol='http';
                 sitetype = 'opdatering';
+                branch = '';
                 php4 = false;
             }
             // Handle actions - part two set uri
@@ -450,7 +472,7 @@ var TV2DeveloperQuickBox = {
                     uri = uriOnly = '/' + clsname;
                     site = 'globals';
                     // must update entered url manually since it was stored before these changes
-                    entered_url = this._makeUrl(protocol, env, sitetype, php4, username, site, uri, false);
+                    entered_url = this._makeUrl(protocol, env, sitetype, branch, php4, username, site, uri, false);
                 }
                 var git_sitename = (!site) ? 'www' : site.replace(/-(static|dyn)/, '');
                 url = 'http://flimmer.tv2.dk/git/?p=';
@@ -567,7 +589,7 @@ var TV2DeveloperQuickBox = {
             }
             
             if (url=='') {
-                url = this._makeUrl(protocol, env, sitetype, php4, username, site, uri, false);
+                url = this._makeUrl(protocol, env, sitetype, branch, php4, username, site, uri, false);
             }
             
             document.getElementById('url').setAttribute('tooltiptext',
index 2359de8f7c4446aa8aa98e44ce0c46c388646b12..5c7806076cac5632391998dc662262968500e02d 100644 (file)
           <radio id="robot"      label="robot"      accesskey="r"/>
           <radio id="template"   label="template"/>
         </radiogroup>
+        <hbox>
+                       <label id="subdomain.label" control="subdomain" value="&quickbox.subdomain;" accesskey="&quickbox.subdomain.accesskey;"/>
+                       <textbox id="subdomain" size="14" maxlength="20"
+                oninput="TV2DeveloperQuickBox.setManuel(this, false)"/>
+        </hbox>
       </groupbox>
       <groupbox flex="1">
         <caption label="&quickbox.environment;"/>
index 1661b1d521bd0e1011ce87ec29165fe2fbee6e5f..565b9f9bda5216b7cbd603dc89f27d8c9d17adf4 100644 (file)
@@ -200,7 +200,8 @@ var TV2Developer = {
     },
  
     /* Main function for adding all the links for the menu popup */   
-    _reg_tv2: /^https?:\/\/([^/.]*)?([^/]*?)(\.(robot|opdatering|template)\.?)?(\.(php4|php5)\.?)?(\.((test3?|snapshot3?|stage))\.)?tv2\.dk((\/[^#\?]*).*)?$/,
+    _reg_tv2: /^https?:\/\/([^/.]*)?(\.([^/]*?))?(\.(robot|opdatering|template)\.?)?(\.(php4|php5)\.?)?(\.((test3?|snapshot3?|stage))\.)?tv2\.dk((\/[^#\?]*).*)?$/,
+    _reg_branchuser: /(([^.]*?)\.)?([^.]*)/,
     _reg_php: /^(.*\.php)/,
     _reg_nodeid: /([0-9]{2,})/g,
     _reg_i2files: /\/([0-9]+)-/,
@@ -222,18 +223,17 @@ var TV2Developer = {
         if (tv2 && !fromgitweb) {
             var skip_treenodes = false;
             var tv2_sitename = tv2[1];
-            var tv2_user     = tv2[2];
-            var tv2_sitetype = tv2[4];
-                       var tv2_apptype  = tv2[6]; // php4 or php5
-            var tv2_testsite = tv2[8];
-            var tv2_testtype = tv2[9]; /* no 3 */
-            var tv2_uri      = tv2[10];
-            var tv2_uriOnly  = tv2[11]; // no parameters, anchers
+            var tv2_branchuser   = tv2[3];
+            var tv2_sitetype = tv2[5];
+                       var tv2_apptype  = tv2[7]; // php4 or php5
+            var tv2_testsite = tv2[9];
+            var tv2_testtype = tv2[10]; /* no 3 */
+            var tv2_uri      = tv2[11];
+            var tv2_uriOnly  = tv2[12]; // no parameters, anchers
 
             // Strip -dyn and -static
             if (tv2_sitename) tv2_sitename = tv2_sitename.replace(/-(dyn|static)$/, '');
-            if (tv2_user) tv2_user = tv2_user.replace(/^\./, '');
-
+            
                        // convert old URLs (.test3 / .snapshot3)
                        if (tv2_testsite == 'test3') {
                                tv2_testsite = 'test';
@@ -242,6 +242,21 @@ var TV2Developer = {
                                tv2_testsite = 'snapshot';
                                tv2_apptype = 'php4';
                        }
+       
+                       var tv2_user;
+                       var tv2_branch;
+               // In stage and snapshot and test - split username and branch
+            if (tv2_testsite == 'snapshot' || tv2_testsite == 'stage' || tv2_testsite == 'test' && tv2_branchuser) {
+                               if (tv2_testsite == 'test') { // if only one - this is the username
+                                       var bc = this._reg_branchuser.exec(tv2_branchuser);
+                                       if (bc) {
+                                               tv2_branch = bc[2];
+                                               tv2_user = bc[3];
+                                       }
+                               } else { // we do not have usernames on snapshot/stage, so this is the branch
+                                       tv2_branch = tv2_branchuser;
+                               }
+                       }
                        
             // php4 site
             var php4 = this._isPhp4(tv2_sitename);
@@ -286,10 +301,10 @@ var TV2Developer = {
                 }
             }
             
-            var testprompturl = git_sitename+'.'+'?'+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.test'+'.tv2.dk';
-            var testurl       = git_sitename+'.'+initials+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.test'+'.tv2.dk';
-            var snapshoturl   = git_sitename+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.snapshot'+'.tv2.dk';
-            var stageurl      = git_sitename+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.stage'+'.tv2.dk';
+            var testprompturl = git_sitename+(tv2_branch?'.'+tv2_branch:'')+'.?'+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.test'+'.tv2.dk';
+            var testurl       = git_sitename+(tv2_branch?'.'+tv2_branch:'')+'.'+initials+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.test'+'.tv2.dk';
+            var snapshoturl   = git_sitename+(tv2_branch?'.'+tv2_branch:'')+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.snapshot'+'.tv2.dk';
+            var stageurl      = git_sitename+(tv2_branch?'.'+tv2_branch:'')+(tv2_sitetype?'.'+tv2_sitetype:'')+'.'+tv2_apptype+'.stage'+'.tv2.dk';
             
             // Add the two urls we are not at
             if (!tv2_testsite) { // always add swaps to stage, snapshot and the test site
@@ -320,7 +335,7 @@ var TV2Developer = {
             links.push(new this.TV2LinkSplit());
             
             // Add link to .opdatering, .template, .robot
-            var _prefix = (tv2_testsite ? git_sitename : live_sitename) + (tv2_user ? '.' + tv2_user : '');
+            var _prefix = (tv2_testsite ? git_sitename : live_sitename) + (tv2_branch?'.'+tv2_branch:'') + (tv2_user ? '.' + tv2_user : '');
             var _postfix = (tv2_testsite ? '.'+tv2_apptype+'.'+tv2_testsite : '') + '.tv2.dk';
             var opdatering = _prefix + '.opdatering' + _postfix;
             //var template = _prefix + '.template' + _postfix;
index bd36c53564d7ad4c19733cee61323425ae804db9..0b5def5ec0e7123cb1c61bfc3fd4d598a8a6b068 100644 (file)
@@ -48,6 +48,9 @@
 <!ENTITY quickbox.environment "Miljø">
 <!ENTITY quickbox.sitetype "Site type">
 
+<!ENTITY quickbox.subdomain "Version:">
+<!ENTITY quickbox.subdomain.accesskey "b">
+
 <!ENTITY quickbox.tangolookup "Tango: Vis information om siden">
 <!ENTITY quickbox.tangolookup.accesskey "g">
 
@@ -64,8 +67,7 @@
 <!ENTITY quickbox.viewcontent.accesskey "h">
 
 <!ENTITY quickbox.php4branch "PHP 4 branch">
-<!ENTITY quickbox.php4branch.accesskey "b">
-
+<!ENTITY quickbox.php4branch.accesskey "2">
 
 <!ENTITY quickbox.examinedbqueries "Undersøg database forespørgsler på siden">
 <!ENTITY quickbox.examinedbqueries.accesskey "x">
index ab07860bf004de36c16135f81015cb6575f10918..eee7d62b83c28c440cbfaaf039acbf5194e8136e 100644 (file)
@@ -47,6 +47,9 @@
 <!ENTITY quickbox.environment "Environment">
 <!ENTITY quickbox.sitetype "Site type">
 
+<!ENTITY quickbox.subdomain "Subdomain:">
+<!ENTITY quickbox.subdomain.accesskey "b">
+
 <!ENTITY quickbox.tangolookup "Tango: Lookup">
 <!ENTITY quickbox.tangolookup.accesskey "g">
 
@@ -63,7 +66,7 @@
 <!ENTITY quickbox.viewcontent.accesskey "h">
 
 <!ENTITY quickbox.php4branch "PHP 4 branch">
-<!ENTITY quickbox.php4branch.accesskey "b">
+<!ENTITY quickbox.php4branch.accesskey "2">
 
 <!ENTITY quickbox.examinedbqueries "Examine database queries">
 <!ENTITY quickbox.examinedbqueries.accesskey "x">
diff --git a/version b/version
index c37136a848249f696b75d36771e7de99844f07d7..ebf55b3d7679cbb5a0a641d792c54a423f75e28b 100644 (file)
--- a/version
+++ b/version
@@ -1 +1 @@
-0.13.5
+0.13.6
index c373e5a5aafbbe529c7adea0752b0b038ef0e591..e9d2634af400e10df044ac274e6e214f8d3a1b08 100644 (file)
@@ -91,6 +91,7 @@
                 <li>Skift mellem test, stage og snapshot ved at bruge forkortelser så som: <code>t</code>, <code>st</code>, <code>s</code>, <code>t3</code> eller <code>s</code></li>
                 <li>Skift mellem opdatering, robot, template ved at bruge forkortelser så som: <code>o</code>, <code>r</code> eller <code>tem</code></li>
                 <li>Genkender andres test webs hvis der indtastes initialer på 4 bogstaver, eller der angives <code>.t.</code></li>
+                <li>Genkender subdomain/branching i URL's, e.x. <code>vmhf2010.query.jkkn.php5.test.tv2.dk</code>, osv..</li>
                 <li>Slå sider op i Tango, vis den dynamiske version eller slå op i GIT direkte fra en forkortet URL</li>
                 <li>Genkender klasse-navne (start med stort bogstav) og slår dem op i GIT i globals, indtast f.eks.: <code>ORM</code>, tilføj / for at se pakke-bibliotek.</li>
                 <li>Navigér videre rundt i GitWeb let ved hjælp af korte url'er, prøv <code>ALT+3</code> i GitWeb</li>
index cf44c185e1500f17ddb5be6e53e8e03e142ac181..3accb0f0dcde42388958668e76d358093d52150d 100644 (file)
@@ -6,6 +6,10 @@
     </head>
     <body>
         <h1>What's new:</h1>
+        <li>0.13.6</li>
+        <ul>
+            <li>Tilføjede support for branches/subdomains, e.x. vmhf2010.query.php5.stage.tv2.dk</li>
+        </ul>
         <li>0.13.4</li>
         <ul>
             <li>Tilføjede support for .stage.tv2.dk (forkortelsen er .st og genvej META+e)</li>