text:
<!DOCTYPE html>

    <title>Manage Job - StepUp Careers</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link rel="stylesheet" href="assets/vendors/bootstrap/css/bootstrap.min.css" type="text/css"/>
    <link rel="stylesheet" href="assets/vendors/font-awesome/css/font-awesome.min.css" type="text/css"/>
    <link rel="stylesheet" href="assets/vendors/pushy/css/pushy.css" type="text/css"/>
    <link rel="stylesheet" href="assets/vendors/font-elegant/style.css" type="text/css"/>
    <link rel="stylesheet" href="assets/css/styles.css" type="text/css" media="all"/>

                                            <form method="post" action="#" id="loginform" name="loginform">

                                                    Username
                                                    <input type="email" class="form-control" id="user_login" placeholder="Username">

                                                    Password
                                                    <input type="password" class="form-control" id="user_pass" placeholder="Password">

                                                <button type="submit" class="button button-primary" id="user_submit">Log In</button>
                                            </form>

Welcome admin

Logged in as Administrator

Dashboard

Profile

Logout

We reply on all questions within

                                            24 h

                                                Email and Skype support for our clients

                                                 Mon - Fri 8:00am - 6:00pm (GMT +8)

 Our address:

                                                Stepup Careers

                                                Room 747, 7/F Star House,

                                                3 Salisbury Road, TST, Hong Kong

 Have any questions?

info@stepupcareers.com

 Call us:

+852 9161 8423

Version 0.6 - Jul 17, 2014

Added: 3 New Header Styles

Added: Secondary Header Menu for Stack Header Style

Fixed: DB code cleanup

                                        My page

                                        Jobs

Post New Jobs

Manage Jobs

                                        Candidates

Advance Search

Saved Search

High Potentials

New Candidates

Favorites List

                                        Messages

Inbox

Template

                                        Projects

                                        My Profile

Post New Jobs

Home

Post New Jobs

                            <form id="registration_jobseeker" enctype="multipart/form-data" action="#" method="post" class="form-horizontal" name="registration_jobseeker">

* indicates a required field | job posting requirements

                                    * Job ID:

                                        <input type="text" class="form-control" name="job-title" placeholder="Enter a name for your reference only"/>

                                    * Job Title(Position):

                                        <input type="text" class="form-control" name="job-position" placeholder="What type of position is this?"/>

                                    * Job Location:

                                        <select name="job-location" class="form-control">
                                            <option value="">---</option>
                                            <option value="142">Afghanistan</option>
                                            <option value="143">Albanian</option>
                                            <option value="144">Algeria</option>
                                            <option value="145">American Samoa</option>
                                            <option value="146">Andorran</option>
                                            <option value="147">Angolan</option>
                                            <option value="334">Anguilla</option>
                                            <option value="335">Antarctica</option>
                                            <option value="148">Antigua and Barbuda</option>
                                            <option value="149">Argentina</option>
                                            <option value="150">Armenia</option>
                                            <option value="336">Aruba</option>
                                            <option value="151">Australia</option>
                                            <option value="152">Austria</option>
                                            <option value="153">Azerbaijan</option>
                                            <option value="154">Bahamas</option>
                                            <option value="155">Bahrain</option>
                                            <option value="156">Bangladesh</option>
                                            <option value="157">Barbados</option>
                                            <option value="159">Belarus</option>
                                            <option value="338">Belgium</option>
                                            <option value="339">Belize</option>
                                            <option value="340">Benin</option>
                                            <option value="341">Bermuda</option>
                                            <option value="342">Bhutan</option>
                                            <option value="343">Bolivia</option>
                                            <option value="344">Bosnia and Herzegovina</option>
                                            <option value="345">Botswana</option>
                                            <option value="346">Brazil</option>
                                            <option value="347">British Virgin Islands</option>
                                            <option value="348">Brunei</option>
                                            <option value="349">Bulgaria</option>
                                            <option value="350">Burkina Faso</option>
                                            <option value="351">Burma (Myanmar)</option>
                                            <option value="352">Burundi</option>
                                            <option value="353">Cambodia</option>
                                            <option value="354">Cameroon</option>
                                            <option value="355">Canada</option>
                                            <option value="356">Cape Verde</option>
                                            <option value="357">Cayman Islands</option>
                                            <option value="358">Central African Republic</option>
                                            <option value="359">Chad</option>
                                            <option value="360">Chile</option>
                                            <option value="361">China</option>
                                            <option value="362">Christmas Island</option>
                                            <option value="363">Cocos (Keeling) Islands</option>
                                            <option value="364">Colombia</option>
                                            <option value="365">Comoros</option>
                                            <option value="366">Cook Islands</option>
                                            <option value="367">Costa Rica</option>
                                            <option value="368">Croatia</option>
                                            <option value="369">Cuba</option>
                                            <option value="370">Cyprus</option>
                                            <option value="371">Czech Republic</option>
                                            <option value="372">Democratic Republic of the Congo</option>
                                            <option value="373">Denmark</option>
                                            <option value="374">Dominica</option>
                                            <option value="375">Dominican Republic</option>
                                            <option value="376">Ecuador</option>
                                            <option value="377">Egypt</option>
                                            <option value="378">El Salvador</option>
                                            <option value="379">Equatorial Guinea</option>
                                            <option value="380">Eritrea</option>
                                            <option value="381">Estonia</option>
                                            <option value="382">Ethiopia</option>
                                            <option value="383">Falkland Islands</option>
                                            <option value="384">Faroe Islands</option>
                                            <option value="385">Fiji</option>
                                            <option value="386">Finland</option>
                                            <option value="387">France</option>
                                            <option value="388">French Polynesia</option>
                                            <option value="389">Gabon</option>
                                            <option value="390">Gambia</option>
                                            <option value="391">Georgia</option>
                                            <option value="392">Germany</option>
                                            <option value="393">Ghana</option>
                                            <option value="394">Gibraltar</option>
                                            <option value="395">Greece</option>
                                            <option value="396">Greenland</option>
                                            <option value="397">Grenada</option>
                                            <option value="398">Guam</option>
                                            <option value="399">Guatemala</option>
                                            <option value="400">Guinea</option>
                                            <option value="401">Guinea-Bissau</option>
                                            <option value="402">Guyana</option>
                                            <option value="403">Haiti</option>
                                            <option value="404">Holy See (Vatican City)</option>
                                            <option value="405">Honduras</option>
                                            <option value="406">Hong Kong</option>
                                            <option value="407">Hungary</option>
                                            <option value="408">Iceland</option>
                                            <option value="409">India</option>
                                            <option value="410">Indonesia</option>
                                            <option value="411">Iran</option>
                                            <option value="412">Iraq</option>
                                            <option value="413">Ireland</option>
                                            <option value="414">Isle of Man</option>
                                            <option value="415">Israel</option>
                                            <option value="416">Italy</option>
                                            <option value="417">Ivory Coast</option>
                                            <option value="418">Jamaica</option>
                                            <option value="419">Japan</option>
                                            <option value="420">Jordan</option>
                                            <option value="421">Kazakhstan</option>
                                            <option value="422">Kenya</option>
                                            <option value="423">Kiribati</option>
                                            <option value="424">Kuwait</option>
                                            <option value="425">Kyrgyzstan</option>
                                            <option value="426">Laos</option>
                                            <option value="427">Latvia</option>
                                            <option value="428">Lebanon</option>
                                            <option value="429">Lesotho</option>
                                            <option value="430">Liberia</option>
                                            <option value="431">Libya</option>
                                            <option value="432">Liechtenstein</option>
                                            <option value="433">Lithuania</option>
                                            <option value="434">Luxembourg</option>
                                            <option value="435">Macau</option>
                                            <option value="436">Macedonia</option>
                                            <option value="437">Madagascar</option>
                                            <option value="438">Malawi</option>
                                            <option value="439">Malaysia</option>
                                            <option value="440">Maldives</option>
                                            <option value="441">Mali</option>
                                            <option value="442">Malta</option>
                                            <option value="443">Marshall Islands</option>
                                            <option value="444">Mauritania</option>
                                            <option value="445">Mauritius</option>
                                            <option value="446">Mayotte</option>
                                            <option value="447">Mexico</option>
                                            <option value="448">Micronesia</option>
                                            <option value="449">Moldova</option>
                                            <option value="450">Monaco</option>
                                            <option value="451">Mongolia</option>
                                            <option value="452">Montenegro</option>
                                            <option value="453">Montserrat</option>
                                            <option value="454">Morocco</option>
                                            <option value="455">Mozambique</option>
                                            <option value="456">Namibia</option>
                                            <option value="457">Nauru</option>
                                            <option value="458">Nepal</option>
                                            <option value="459">Netherlands</option>
                                            <option value="460">Netherlands Antilles</option>
                                            <option value="461">New Caledonia</option>
                                            <option value="462">New Zealand</option>
                                            <option value="463">Nicaragua</option>
                                            <option value="464">Niger</option>
                                            <option value="465">Nigeria</option>
                                            <option value="466">Niue</option>
                                            <option value="467">Norfolk Island</option>
                                            <option value="468">North Korea</option>
                                            <option value="469">Northern Mariana Islands</option>
                                            <option value="470">Norway</option>
                                            <option value="471">Oman</option>
                                            <option value="472">Pakistan</option>
                                            <option value="473">Palau</option>
                                            <option value="474">Panama</option>
                                            <option value="475">Papua New Guinea</option>
                                            <option value="476">Papua New Guinea</option>
                                            <option value="477">Peru</option>
                                            <option value="478">Philippines</option>
                                            <option value="479">Pitcairn Islands</option>
                                            <option value="480">Poland</option>
                                            <option value="481">Portugal</option>
                                            <option value="482">Puerto Rico</option>
                                            <option value="483">Qatar</option>
                                            <option value="484">Republic of the Congo</option>
                                            <option value="485">Romania</option>
                                            <option value="486">Russia</option>
                                            <option value="487">Rwanda</option>
                                            <option value="488">Saint Barthelemy</option>
                                            <option value="489">Saint Helena</option>
                                            <option value="490">Saint Kitts and Nevis</option>
                                            <option value="491">Saint Lucia</option>
                                            <option value="492">Saint Martin</option>
                                            <option value="493">Saint Pierre and Miquelon</option>
                                            <option value="494">Saint Vincent and the Grenadines</option>
                                            <option value="495">Samoa</option>
                                            <option value="496">San Marino</option>
                                            <option value="497">Sao Tome and Principe</option>
                                            <option value="498">Saudi Arabia</option>
                                            <option value="499">Senegal</option>
                                            <option value="500">Serbia</option>
                                            <option value="501">Seychelles</option>
                                            <option value="502">Sierra Leone</option>
                                            <option value="503">Singapore</option>
                                            <option value="504">Slovakia</option>
                                            <option value="505">Slovenia</option>
                                            <option value="506">Solomon Islands</option>
                                            <option value="507">Somalia</option>
                                            <option value="508">South Africa</option>
                                            <option value="509">South Korea</option>
                                            <option value="510">Spain</option>
                                            <option value="511">Sri Lanka</option>
                                            <option value="512">Sudan</option>
                                            <option value="513">Suriname</option>
                                            <option value="514">Swaziland</option>
                                            <option value="515">Sweden</option>
                                            <option value="516">Switzerland</option>
                                            <option value="517">Syria</option>
                                            <option value="518">Taiwan</option>
                                            <option value="519">Tajikistan</option>
                                            <option value="520">Tanzania</option>
                                            <option value="521">Thailand</option>
                                            <option value="522">Timor-Leste</option>
                                            <option value="523">Togo</option>
                                            <option value="524">Tokelau</option>
                                            <option value="525">Tonga</option>
                                            <option value="526">Trinidad and Tobago</option>
                                            <option value="527">Tunisia</option>
                                            <option value="528">Turkey</option>
                                            <option value="529">Turkmenistan</option>
                                            <option value="530">Turks and Caicos Islands</option>
                                            <option value="531">Tuvalu</option>
                                            <option value="532">Uganda</option>
                                            <option value="533">Ukraine</option>
                                            <option value="534">United Arab Emirates</option>
                                            <option value="535">United Kingdom</option>
                                            <option value="536">United States</option>
                                            <option value="537">Uruguay</option>
                                            <option value="538">US Virgin Islands</option>
                                            <option value="539">Uzbekistan</option>
                                            <option value="540">Vanuatu</option>
                                            <option value="541">Venezuela</option>
                                            <option value="542">Vietnam</option>
                                            <option value="543">Wallis and Futuna</option>
                                            <option value="544">Yemen</option>
                                            <option value="545">Zambia</option>
                                            <option value="546">Zimbabwe</option>
                                        </select>

                                    * Job City Name:

                                        <input type="text" class="form-control" name="job-city-name"/>

                                    * Annual Salary:

                                                <select name="anual-salary-start" class="form-control">
                                                    <option value="">---</option>
                                                    <option value="80000">US$80,000,00</option>
                                                    <option value="90000">US$90,000,00</option>
                                                    <option value="100000">US$100,000,00</option>
                                                    <option value="110000">US$110,000,00</option>
                                                    <option value="120000">US$120,000,00</option>
                                                    <option value="130000">US$130,000,00</option>
                                                    <option value="140000">US$140,000,00</option>
                                                    <option value="150000">US$150,000,00</option>
                                                    <option value="160000">US$160,000,00</option>
                                                    <option value="170000">US$170,000,00</option>
                                                    <option value="180000">US$180,000,00</option>
                                                    <option value="190000">US$190,000,00</option>
                                                    <option value="200000">US$200,000,00</option>
                                                    <option value="210000">US$210,000,00</option>
                                                    <option value="220000">US$220,000,00</option>
                                                    <option value="230000">US$230,000,00</option>
                                                    <option value="240000">US$240,000,00</option>
                                                    <option value="250000">US$250,000,00</option>
                                                    <option value="260000">US$260,000,00</option>
                                                    <option value="270000">US$270,000,00</option>
                                                    <option value="280000">US$280,000,00</option>
                                                    <option value="290000">US$290,000,00</option>
                                                    <option value="300000">US$300,000,00</option>
                                                    <option value="310000">US$310,000,00</option>
                                                    <option value="320000">US$320,000,00</option>
                                                    <option value="330000">US$330,000,00</option>
                                                    <option value="340000">US$340,000,00</option>
                                                    <option value="350000">US$350,000,00</option>
                                                    <option value="360000">US$360,000,00</option>
                                                    <option value="370000">US$370,000,00</option>
                                                    <option value="380000">US$380,000,00</option>
                                                    <option value="390000">US$390,000,00</option>
                                                    <option value="400000">US$400,000,00</option>
                                                    <option value="410000">US$410,000,00</option>
                                                    <option value="420000">US$420,000,00</option>
                                                    <option value="430000">US$430,000,00</option>
                                                    <option value="440000">US$440,000,00</option>
                                                    <option value="450000">US$450,000,00</option>
                                                    <option value="460000">US$460,000,00</option>
                                                    <option value="470000">US$470,000,00</option>
                                                    <option value="480000">US$480,000,00</option>
                                                    <option value="490000">US$490,000,00</option>
                                                    <option value="500000">US$500,000,00</option>
                                                </select>

                                                <select name="anual-salary-end" class="form-control">
                                                    <option value="">---</option>
                                                    <option value="80000">US$80,000,00</option>
                                                    <option value="90000">US$90,000,00</option>
                                                    <option value="100000">US$100,000,00</option>
                                                    <option value="110000">US$110,000,00</option>
                                                    <option value="120000">US$120,000,00</option>
                                                    <option value="130000">US$130,000,00</option>
                                                    <option value="140000">US$140,000,00</option>
                                                    <option value="150000">US$150,000,00</option>
                                                    <option value="160000">US$160,000,00</option>
                                                    <option value="170000">US$170,000,00</option>
                                                    <option value="180000">US$180,000,00</option>
                                                    <option value="190000">US$190,000,00</option>
                                                    <option value="200000">US$200,000,00</option>
                                                    <option value="210000">US$210,000,00</option>
                                                    <option value="220000">US$220,000,00</option>
                                                    <option value="230000">US$230,000,00</option>
                                                    <option value="240000">US$240,000,00</option>
                                                    <option value="250000">US$250,000,00</option>
                                                    <option value="260000">US$260,000,00</option>
                                                    <option value="270000">US$270,000,00</option>
                                                    <option value="280000">US$280,000,00</option>
                                                    <option value="290000">US$290,000,00</option>
                                                    <option value="300000">US$300,000,00</option>
                                                    <option value="310000">US$310,000,00</option>
                                                    <option value="320000">US$320,000,00</option>
                                                    <option value="330000">US$330,000,00</option>
                                                    <option value="340000">US$340,000,00</option>
                                                    <option value="350000">US$350,000,00</option>
                                                    <option value="360000">US$360,000,00</option>
                                                    <option value="370000">US$370,000,00</option>
                                                    <option value="380000">US$380,000,00</option>
                                                    <option value="390000">US$390,000,00</option>
                                                    <option value="400000">US$400,000,00</option>
                                                    <option value="410000">US$410,000,00</option>
                                                    <option value="420000">US$420,000,00</option>
                                                    <option value="430000">US$430,000,00</option>
                                                    <option value="440000">US$440,000,00</option>
                                                    <option value="450000">US$450,000,00</option>
                                                    <option value="460000">US$460,000,00</option>
                                                    <option value="470000">US$470,000,00</option>
                                                    <option value="480000">US$480,000,00</option>
                                                    <option value="490000">US$490,000,00</option>
                                                    <option value="500000">US$500,000,00</option>
                                                </select>

                                            <input type="checkbox" value="1" name="Allow_Ml"/> Allow ML+ members to apply
                                            ?

                                    * Job Function:

                                        <select name="job-function-1" class="form-control">
                                            <option value="">Select at least one</option>
                                            <option value="139">Account Management, Channel Sales</option>
                                            <option value="92">Accounting / HR / Legal / Admin</option>
                                            <option value="93">Accounting, Finance</option>
                                            <option value="94">Administrative, Office Management</option>
                                            <option value="98">Architecture, Development, DB, Security, Analysis</option>
                                            <option value="99">Banking / Investment / Insurance</option>
                                            <option value="135">Biotech, Pharma, Medical Device R&D</option>
                                            <option value="117">Business Development</option>
                                            <option value="118">CEO, COO, Regional / Country Manager</option>
                                            <option value="136">Chemical, Non-Health R&D</option>
                                            <option value="101">Commercial / Retail Banking</option>
                                            <option value="126">Communications, PR, Gov't Relations</option>
                                            <option value="127">Construction / Civil Engineering</option>
                                            <option value="60">Consulting</option>
                                            <option value="121">Corporate Planning, Business Analysis</option>
                                            <option value="100">CTO, IT Project Management</option>
                                            <option value="128">Design, Creative</option>
                                            <option value="132">Energy / Natural Resources Engineering</option>
                                            <option value="124">Engineering</option>
                                            <option value="103">Equities</option>
                                            <option value="105">Financial IT</option>
                                            <option value="106">Financial Operations</option>
                                            <option value="107">Fixed Income, FX, Money Mkt, Commodities</option>
                                            <option value="122">General Management, Operations</option>
                                            <option value="137">Healthcare Operations, Admin</option>
                                            <option value="109">Hedge Funds, PE, Asset Management</option>
                                            <option value="95">HR, Recruiting, Training & Dev</option>
                                            <option value="129">Industrial / Manufacturing Engineering</option>
                                            <option value="110">Insurance, Actuary</option>
                                            <option value="111">Investment Banking, M&A</option>
                                            <option value="96">IT / Software Development / Design</option>
                                            <option value="119">IT Consulting</option>
                                            <option value="97">Legal, Compliance</option>
                                            <option value="104">Logistics / SCM / Quality Assurance</option>
                                            <option value="108">Logistics, Supply Chain Mgt, Purchasing</option>
                                            <option value="116">Management / Business Development</option>
                                            <option value="125">Marketing / Communications</option>
                                            <option value="130">Marketing Director, Marketing Strategy, Brand Mgt</option>
                                            <option value="131">Mechanical / Electrical Engineering</option>
                                            <option value="120">Operation Consulting</option>
                                            <option value="112">Private Banking, Wealth Management</option>
                                            <option value="133">Product Marketing, Online Marketing, Market Research</option>
                                            <option value="113">Quality Assurance, Plant / Facility Mgt</option>
                                            <option value="134">R&D / Sciences / Medical</option>
                                            <option value="114">Real Estate, Mortgage</option>
                                            <option value="115">Risk Mgt, Credit, Quant, Research</option>
                                            <option value="138">Sales</option>
                                            <option value="140">Sales Director, Sales Management</option>
                                            <option value="141">Sales Support, Pre-Sales, Customer Support</option>
                                            <option value="102">Software Implementation & Consulting</option>
                                            <option value="123">Strategic / Management Consulting</option>
                                        </select>

                                        <select name="job-function-2" class="form-control">
                                            <option value="">---</option>
                                            <option value="139">Account Management, Channel Sales</option>
                                            <option value="92">Accounting / HR / Legal / Admin</option>
                                            <option value="93">Accounting, Finance</option>
                                            <option value="94">Administrative, Office Management</option>
                                            <option value="98">Architecture, Development, DB, Security, Analysis</option>
                                            <option value="99">Banking / Investment / Insurance</option>
                                            <option value="135">Biotech, Pharma, Medical Device R&D</option>
                                            <option value="117">Business Development</option>
                                            <option value="118">CEO, COO, Regional / Country Manager</option>
                                            <option value="136">Chemical, Non-Health R&D</option>
                                            <option value="101">Commercial / Retail Banking</option>
                                            <option value="126">Communications, PR, Gov't Relations</option>
                                            <option value="127">Construction / Civil Engineering</option>
                                            <option value="60">Consulting</option>
                                            <option value="121">Corporate Planning, Business Analysis</option>
                                            <option value="100">CTO, IT Project Management</option>
                                            <option value="128">Design, Creative</option>
                                            <option value="132">Energy / Natural Resources Engineering</option>
                                            <option value="124">Engineering</option>
                                            <option value="103">Equities</option>
                                            <option value="105">Financial IT</option>
                                            <option value="106">Financial Operations</option>
                                            <option value="107">Fixed Income, FX, Money Mkt, Commodities</option>
                                            <option value="122">General Management, Operations</option>
                                            <option value="137">Healthcare Operations, Admin</option>
                                            <option value="109">Hedge Funds, PE, Asset Management</option>
                                            <option value="95">HR, Recruiting, Training & Dev</option>
                                            <option value="129">Industrial / Manufacturing Engineering</option>
                                            <option value="110">Insurance, Actuary</option>
                                            <option value="111">Investment Banking, M&A</option>
                                            <option value="96">IT / Software Development / Design</option>
                                            <option value="119">IT Consulting</option>
                                            <option value="97">Legal, Compliance</option>
                                            <option value="104">Logistics / SCM / Quality Assurance</option>
                                            <option value="108">Logistics, Supply Chain Mgt, Purchasing</option>
                                            <option value="116">Management / Business Development</option>
                                            <option value="125">Marketing / Communications</option>
                                            <option value="130">Marketing Director, Marketing Strategy, Brand Mgt</option>
                                            <option value="131">Mechanical / Electrical Engineering</option>
                                            <option value="120">Operation Consulting</option>
                                            <option value="112">Private Banking, Wealth Management</option>
                                            <option value="133">Product Marketing, Online Marketing, Market Research</option>
                                            <option value="113">Quality Assurance, Plant / Facility Mgt</option>
                                            <option value="134">R&D / Sciences / Medical</option>
                                            <option value="114">Real Estate, Mortgage</option>
                                            <option value="115">Risk Mgt, Credit, Quant, Research</option>
                                            <option value="138">Sales</option>
                                            <option value="140">Sales Director, Sales Management</option>
                                            <option value="141">Sales Support, Pre-Sales, Customer Support</option>
                                            <option value="102">Software Implementation & Consulting</option>
                                            <option value="123">Strategic / Management Consulting</option>
                                        </select>
                                        <select name="job-function-3" class="form-control">
                                            <option value="">---</option>
                                            <option value="139">Account Management, Channel Sales</option>
                                            <option value="92">Accounting / HR / Legal / Admin</option>
                                            <option value="93">Accounting, Finance</option>
                                            <option value="94">Administrative, Office Management</option>
                                            <option value="98">Architecture, Development, DB, Security, Analysis</option>
                                            <option value="99">Banking / Investment / Insurance</option>
                                            <option value="135">Biotech, Pharma, Medical Device R&D</option>
                                            <option value="117">Business Development</option>
                                            <option value="118">CEO, COO, Regional / Country Manager</option>
                                            <option value="136">Chemical, Non-Health R&D</option>
                                            <option value="101">Commercial / Retail Banking</option>
                                            <option value="126">Communications, PR, Gov't Relations</option>
                                            <option value="127">Construction / Civil Engineering</option>
                                            <option value="60">Consulting</option>
                                            <option value="121">Corporate Planning, Business Analysis</option>
                                            <option value="100">CTO, IT Project Management</option>
                                            <option value="128">Design, Creative</option>
                                            <option value="132">Energy / Natural Resources Engineering</option>
                                            <option value="124">Engineering</option>
                                            <option value="103">Equities</option>
                                            <option value="105">Financial IT</option>
                                            <option value="106">Financial Operations</option>
                                            <option value="107">Fixed Income, FX, Money Mkt, Commodities</option>
                                            <option value="122">General Management, Operations</option>
                                            <option value="137">Healthcare Operations, Admin</option>
                                            <option value="109">Hedge Funds, PE, Asset Management</option>
                                            <option value="95">HR, Recruiting, Training & Dev</option>
                                            <option value="129">Industrial / Manufacturing Engineering</option>
                                            <option value="110">Insurance, Actuary</option>
                                            <option value="111">Investment Banking, M&A</option>
                                            <option value="96">IT / Software Development / Design</option>
                                            <option value="119">IT Consulting</option>
                                            <option value="97">Legal, Compliance</option>
                                            <option value="104">Logistics / SCM / Quality Assurance</option>
                                            <option value="108">Logistics, Supply Chain Mgt, Purchasing</option>
                                            <option value="116">Management / Business Development</option>
                                            <option value="125">Marketing / Communications</option>
                                            <option value="130">Marketing Director, Marketing Strategy, Brand Mgt</option>
                                            <option value="131">Mechanical / Electrical Engineering</option>
                                            <option value="120">Operation Consulting</option>
                                            <option value="112">Private Banking, Wealth Management</option>
                                            <option value="133">Product Marketing, Online Marketing, Market Research</option>
                                            <option value="113">Quality Assurance, Plant / Facility Mgt</option>
                                            <option value="134">R&D / Sciences / Medical</option>
                                            <option value="114">Real Estate, Mortgage</option>
                                            <option value="115">Risk Mgt, Credit, Quant, Research</option>
                                            <option value="138">Sales</option>
                                            <option value="140">Sales Director, Sales Management</option>
                                            <option value="141">Sales Support, Pre-Sales, Customer Support</option>
                                            <option value="102">Software Implementation & Consulting</option>
                                            <option value="123">Strategic / Management Consulting</option>
                                        </select>

                                    * Work Type:

                                        <select name="work-type" class="form-control">
                                            <option value="">---</option>
                                            <option value="60">Consulting</option>
                                            <option value="59">Freelance/contract</option>
                                            <option value="57">Permanent</option>
                                            <option value="58">Temporary</option>
                                            <option value="61">Volunteer</option>

                                        </select>

                                    * Job Industry:

                                        <select name="job-industry-1" class="form-control">
                                            <option value="">Select at least one</option>
                                            <option value="">---</option>
                                            <option value="32">Business Services</option>
                                            <option value="33">Consumer Goods, Food, Clothing</option>
                                            <option value="34">Electronics, Semiconductor, Automotive</option>
                                            <option value="35">Energy, Utilities, Minerals</option>
                                            <option value="36">Engineering, Construction, Design</option>
                                            <option value="37">Financial Services</option>
                                            <option value="38">IT, Internet, Telecom Systems</option>
                                            <option value="39">Management Consulting Services</option>
                                            <option value="40">Manufacturing – Other</option>
                                            <option value="41">Media, PR, Publishing</option>
                                            <option value="42">Medicine, Healthcare, Bio, Chemical</option>
                                            <option value="43">NPO, Government, Military</option>
                                            <option value="44">Real Estate, Property Management</option>
                                            <option value="45">Services -Other</option>
                                        </select>
                                        <select name="job-industry-2" class="form-control">
                                            <option value="">---</option>
                                            <option value="32">Business Services</option>
                                            <option value="33">Consumer Goods, Food, Clothing</option>
                                            <option value="34">Electronics, Semiconductor, Automotive</option>
                                            <option value="35">Energy, Utilities, Minerals</option>
                                            <option value="36">Engineering, Construction, Design</option>
                                            <option value="37">Financial Services</option>
                                            <option value="38">IT, Internet, Telecom Systems</option>
                                            <option value="39">Management Consulting Services</option>
                                            <option value="40">Manufacturing – Other</option>
                                            <option value="41">Media, PR, Publishing</option>
                                            <option value="42">Medicine, Healthcare, Bio, Chemical</option>
                                            <option value="43">NPO, Government, Military</option>
                                            <option value="44">Real Estate, Property Management</option>
                                            <option value="45">Services -Other</option>
                                        </select>

                                    * Hiring Company Name:

                                        <textarea class="form-control css-auto-height" placeholder="Ex: A fortune 500 company, Leading IT & Software Development Company" name="hiring-company-name" rows="3"></textarea>

                                    * Hiring Company Description:

                                        <textarea class="form-control css-auto-height" placeholder="Ex: A leading IT & software development company in the Asia Pacific region with over 30 branches in Asia is now expanding and looking for dedicated individuals to join their prestigious company." id="Hiring_Company_Description" name="hiring-company-description" rows="3"></textarea>

                                    * Job Description:

                                        <textarea class="form-control css-auto-height" placeholder="Provide a description of the job responsibilities and candidate requirements for the role." name="job-description"></textarea>

                                    CC Email Addresses:

Add additional email addresses so other people can be notified when new candidates apply to this job.

                                        <input type="checkbox" class="showextra" name="cc-email-addresses"> Send applications to other emails.

                                    Application Filtering:

You can set filtering criteria to ensure that you only receive applications from candidates that qualify for your role. Please select the filtering criteria by checking the desired boxes below.

Note: By activating this feature, you will only receive notifications about candidates that fulfill your filtering criteria. Candidates that do not meet your criteria will be set aside in your job folder. By enabling this feature, you might receive fewer applications than before

                                        <input type="checkbox" name="application-filtering" class="showextra"> Set minimum qualification required

                                        <button type="submit" class="button button-primary">Summit</button>

                            </form>

We love who we are and we are very proud to be the part of your business

Stepup Careers is a leading jobs, employment and recruitment website, providing job vacancies, interview skills and tips.

                                            July 22, 2014

                                                admin commented on Announce news here.

                                            July 22, 2014

                                                admin commented on First post

                                                    1

Announce news here.

                                                    July 22, 2014

                                                    1

First post

                                                    July 22, 2014

                                                    0

Hello world !

                                                    July 22, 2014

Privacy Policy

About Step Up

Contact Us

StepUp Careers

                            <address class="copyright">
                                © 2015 StepUp Careers. All Rights Reserved. StepUp Careers
                            </address>

                My page

                Jobs

Post New Jobs

Manage Jobs

                Candidates

Advance Search

Saved Search

High Potentials

New Candidates

Favorites List

                Messages

Inbox

Template

                Projects

                My Profile


text:
from django.conf import settings
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible

@python_2_unicode_compatible
class Like(models.Model):

    sender = models.ForeignKey(settings.AUTH_USER_MODEL,
                               related_name="liking", on_delete=models.CASCADE)

    receiver_content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    receiver_object_id = models.PositiveIntegerField()
    receiver = GenericForeignKey(
        ct_field="receiver_content_type",
        fk_field="receiver_object_id"
    )

    timestamp = models.DateTimeField(default=timezone.now)

    class Meta:
        unique_together = (
            ("sender", "receiver_content_type", "receiver_object_id"),
        )

    def __str__(self):
        return "{0} likes {1}".format(self.sender, self.receiver)

    @classmethod
    def like(cls, sender, content_type, object_id):
        obj, liked = cls.objects.get_or_create(
            sender=sender,
            receiver_content_type=content_type,
            receiver_object_id=object_id
        )
        if not liked:
            obj.delete()
        return obj, liked

redpajama_set_name: RedPajamaGithub


text:
package org.pentaho.di.trans.steps.changefileencoding;

import org.apache.commons.vfs2.FileObject;
import org.pentaho.di.core.row.RowMetaInterface;
import org.pentaho.di.trans.step.BaseStepData;
import org.pentaho.di.trans.step.StepDataInterface;

/**
 * @author Samatar
 * @since 03-Juin-2008
 *
 */
public class ChangeFileEncodingData extends BaseStepData implements StepDataInterface {
  public int indexOfFileename;
  public int indexOfTargetFileename;
  public FileObject sourceFile;

  public String sourceEncoding;
  public String targetEncoding;

  public RowMetaInterface inputRowMeta;

  public ChangeFileEncodingData() {
    super();
    indexOfFileename = -1;
    indexOfTargetFileename = -1;
    sourceFile = null;
    sourceEncoding = null;
    targetEncoding = null;
  }

}


text:
#ifndef _ACUTMIGR_H
#define _ACUTMIGR_H

#include "acutmem.h"

#pragma pack (push, 8)

// Unicode: leaving newBuffer and delBuffer pointer args as char *.
//
inline Acad::ErrorStatus newBuffer(char *&pOutput, size_t size)
{
    return ::acutNewBuffer(pOutput, size);
}

inline Acad::ErrorStatus newString(const ACHAR* pInput, ACHAR*& pOutput)
{
    return ::acutNewString(pInput, pOutput);
}

inline Acad::ErrorStatus newString(ACHAR*& pOutput, int nNumChars)
{
    return ::acutNewString(pOutput, nNumChars);
}

inline Acad::ErrorStatus updString(const ACHAR* pInput, ACHAR*& pOutput)
{
    return ::acutUpdString(pInput, pOutput);
}

inline void delString(ACHAR*& pString)
{
    ::acutDelString(pString);
}

inline void delBuffer(char*& pString)
{
    ::acutDelString(pString);
}

#pragma pack (pop)
#endif // _ACUTMGR_H


text:
using System;
using System.Net;
using FluentFTP;

namespace Examples {
    static class DeleteDirectoryExample {
        public static void DeleteDirectory() {
            using (FtpClient conn = new FtpClient()) {
                conn.Host = "localhost";
                conn.Credentials = new NetworkCredential("ftptest", "ftptest");

                // Remove the directory and all objects beneath it.
                conn.DeleteDirectory("/path/to/directory");
            }
        }
    }
}


text:
'use strict'
var debug = require('debug')('generator-swiftserver:app')

var Generator = require('yeoman-generator')
var chalk = require('chalk')
var path = require('path')
var Handlebars = require('../lib/handlebars.js')
var actions = require('../lib/actions')
var helpers = require('../lib/helpers')
var validateDirName = helpers.validateDirName
var validateAppName = helpers.validateAppName
var validateCredential = helpers.validateRequiredCredential
var validatePort = helpers.validatePort
var generateServiceName = helpers.generateServiceName

module.exports = Generator.extend({

  constructor: function () {
    Generator.apply(this, arguments)
    // Allow the user to pass the application name into the generator directly
    this.argument('name', {
      desc: 'Name of the application to scaffold.',
      required: false,
      type: String
    })

    this.option('init', {
      type: Boolean,
      desc: 'Generate basic default scaffold without prompting user for input.',
      defaults: false
    })

    this.option('skip-build', {
      type: Boolean,
      desc: 'Skip building the generated application',
      defaults: false
    })

    this.option('single-shot', {
      type: Boolean,
      desc: 'Creates application without including generator metadata files',
      defaults: false
    })

    this.option('type', {
      type: String,
      desc: 'Give a specific type of application to generate',
      defaults: 'basic'
    })

    this.option('metrics', {
      type: Boolean,
      desc: 'Add health checking to project',
      defaults: false
    })

    this.option('docker', {
      type: Boolean,
      desc: 'Generate a Dockerfile for the project',
      defaults: false
    })

    this.option('healthcheck', {
      type: Boolean,
      desc: 'Add health checking to project',
      defaults: true
    })

    this.option('openapi', {
      type: Boolean,
      desc: 'Add Kitura-OpenAPI to project',
      defaults: false
    })
  },

  initializing: {
    ensureNotInProject: actions.ensureNotInProject,

    checkWorkingDirectory: function () {
        // check for %:;=<>"|\ since they break xcode if they are
        //  anywhere in the directory path.
      if (validateDirName(process.cwd()) !== true) {
        this.env.error(chalk.red(process.cwd(), 'directory path contains one or more of the following: %:;=<>"|\\ and will not compile in Xcode'))
      }
    },

    initAppName: function () {
      // save the initial directory for use by the fromSwagger processing.
      this.initialWorkingDir = process.cwd()

      this.appname = null // Discard yeoman default appname
      this.skipPromptingAppName = false
      if (this.options.name) {
        // User passed a desired application name as an argument
        var validation = validateAppName(this.options.name)
        if (validation === true) {
          // Desired application name is valid, skip prompting for it
          // later
          this.appname = this.options.name
          this.skipPromptingAppName = true
        } else {
          // Log reason for validation failure, if provided
          validation = validation || 'Application name not valid'
          debug(this.options.name, ' is not valid because ', validation)
          this.log(validation)
        }
      }

      if (this.appname === null) {
        // Fall back to name of current working directory
        var sanitizedCWD = path.basename(process.cwd()).replace(/[åç/]+?/g, '-')
        // if the name still contains characters %:;=<>"|\\ which
        // will cause Xcode to crash, default to 'app'
        if (validateAppName(sanitizedCWD) === true) {
          this.appname = sanitizedCWD
        } else {
          // Fall back again to a known valid name
          this.log('Failed to produce a valid application name from the current working directory')
          debug(sanitizedCWD, ' is not a valid application name and defaulting to \'app\'')
          this.appname = 'app'
        }
      }
    },

    _writeHandlebarsFile: function (templateFile, destinationFile, data) {
      var template = this.fs.read(this.templatePath(templateFile))
      var compiledTemplate = Handlebars.compile(template)
      var output = compiledTemplate(data)
      this.fs.write(this.destinationPath(destinationFile), output)
    },

    initSpec: function () {
      function isTrue (value) {
        return (value === true || value === 'true')
      }

      if (this.options.bluemix) {
        this.skipPrompting = true

        if (this.options.type) {
          this.appType = this.options.type
        }

        if (typeof (this.options.bluemix) === 'string') {
          this.options.bluemix = JSON.parse(this.options.bluemix)
        }

        if (typeof (this.options.starterOptions) === 'string') {
          this.options.starterOptions = JSON.parse(this.options.starterOptions)
        }

        var appName = this.options.bluemix.name
        var metrics = isTrue(this.options.metrics) || undefined
        var docker = isTrue(this.options.docker) || undefined
        var openapi = isTrue(this.options.openapi) || undefined
        var usecase = isTrue(this.options.enableUsecase) || undefined
        var starterOptions = this.options.starterOptions || undefined
        var healthcheck = (typeof this.options.healthcheck === 'undefined') ? true : isTrue(this.options.healthcheck)

        var web = (this.appType === 'web' || this.appType === 'bff' || undefined)
        var hostSwagger = (this.appType === 'bff' || undefined)
        var exampleEndpoints = (this.appType === 'bff' || undefined)
        var swaggerUI = (this.appType === 'bff' || undefined)

        this.spec = {
          appName: appName,
          appType: 'scaffold',
          appDir: '.',
          docker: docker,
          web: web,
          openapi: openapi,
          hostSwagger: hostSwagger,
          exampleEndpoints: exampleEndpoints,
          swaggerUI: swaggerUI,
          bluemix: this.options.bluemix,
          metrics: metrics,
          repoType: 'clone',
          healthcheck: healthcheck,
          usecase: usecase,
          starterOptions: starterOptions,
          deploymentOrg: this.options.deploymentOrg,
          deploymentSpace: this.options.deploymentSpace,
          deploymentRegion: this.options.deploymentRegion,
          toolchainName: this.options.toolchainName
        }
      } else if (this.options.init) {
        // User passed the --init flag, so no prompts, just generate basic default scaffold
        this.destinationSet = true
        if (this.appname !== path.basename(this.destinationRoot())) {
          this.destinationRoot(path.resolve(this.appname))
        }
        this.skipPrompting = true
        this.appPattern = 'Basic'
        this.spec = {
          appType: 'scaffold',
          appName: this.appname,
          docker: true,
          metrics: true,
          bluemix: {}
        }
      } else if (this.options.spec) {
        try {
          this.spec = JSON.parse(this.options.spec)
          this.skipPrompting = true
        } catch (err) {
          this.env.error(chalk.red(err))
        }
      }
    },

    initForPrompting: function () {
      if (this.skipPrompting) return
      // initialize for prompting
      this.bluemix = { server: {} }
    }
  },

  _addService: function (serviceType, serviceName) {
    this.services = this.services || {}
    var service = {
      serviceInfo: {
        label: helpers.getBluemixServiceLabel(serviceType),
        name: serviceName,
        plan: helpers.getBluemixDefaultPlan(serviceType)
      }
    }
    if (helpers.isThisServiceAnArray(serviceType)) service = [service]
    this.services[serviceType] = service
  },

  prompting: {
    promptAppName: function () {
      if (this.skipPrompting) return
      this.log(chalk.magenta('Initialization prompts'))
      if (this.skipPromptingAppName) { return }

      var prompts = [
        {
          name: 'name',
          message: 'What\'s the name of your application?',
          default: this.appname,
          validate: validateAppName
        }
      ]
      return this.prompt(prompts).then((props) => {
        this.appname = props.name
      })
    },

    /*
     * Configure the destination directory, asking the user if required.
     * Set up the generator environment so that destinationRoot is set
     * to point to the directory where we want to generate code.
     */
    promptAppDir: function () {
      if (this.skipPrompting) return
      if (this.appname === path.basename(this.destinationRoot())) {
        // When the project name is the same as the current directory,
        // we are assuming the user has already created the project dir
        this.destinationSet = true
        return
      }

      var prompts = [
        {
          name: 'dir',
          message: 'Enter the name of the directory to contain the project:',
          default: this.appname,
          validate: validateDirName
        }
      ]
      return this.prompt(prompts).then((answers) => {
        if (answers.dir !== '.') {
          this.destinationSet = true
          this.destinationRoot(path.resolve(answers.dir))
        }
      })
    },

    ensureEmptyDirectory: function () {
      if (this.skipPrompting) return
      actions.ensureEmptyDirectory.call(this)
    },

    promptAppType: function () {
      if (this.skipPrompting) return

      var prompts = [{
        name: 'appType',
        type: 'list',
        message: 'Select type of project:',
        choices: [ 'Scaffold a starter', 'Generate a CRUD application' ],
        default: 'Scaffold a starter'
      }]
      return this.prompt(prompts).then((answers) => {
        switch (answers.appType) {
          case 'Scaffold a starter': this.appType = 'scaffold'; break
          case 'Generate a CRUD application': this.appType = 'crud'; break
          default:
            this.env.error(chalk.red(`Internal error: unknown application type ${answers.appType}`))
        }
      })
    },

    /*
     * Determine the application pattern so that the capability
     * defaults can be set appropriately.
     */
    promptApplicationPattern: function () {
      if (this.skipPrompting) return
      if (this.appType !== 'scaffold') return

      var prompts = [{
        name: 'appPattern',
        type: 'list',
        message: 'Select capability presets for application pattern:',
        choices: [ 'Basic', 'Web' ],
        default: 'Basic'
      }]
      return this.prompt(prompts).then((answers) => {
        switch (answers.appPattern) {
          case 'Basic': this.appPattern = 'Basic'; break
          case 'Web': this.appPattern = 'Web'; break
          default:
            this.env.error(chalk.red(`Internal error: unknown application pattern ${answers.appPattern}`))
        }
      })
    },

    promptCapabilities: function () {
      if (this.skipPrompting) return

      var self = this
      function displayName (property) {
        switch (property) {
          case 'web': return 'Static web file serving'
          case 'swaggerUI': return 'Swagger UI'
          case 'metrics': return 'Embedded metrics dashboard'
          case 'docker': return 'Docker files'
          case 'openapi': return 'Kitura OpenAPI'
          default:
            self.env.error(chalk.red(`Internal error: unknown property ${property}`))
        }
      }

      function defaultCapabilities (appPattern) {
        switch (appPattern) {
          case 'Basic': return [
            'Docker files',
            'Embedded metrics dashboard'
          ]
          case 'Web': return [
            'Static web file serving',
            'Embedded metrics dashboard',
            'Docker files'
          ]
          default:
            self.env.error(chalk.red(`Internal error: unknown application pattern ${appPattern}`))
        }
      }

      var choices = ['metrics', 'docker', 'openapi']
      var defaults = choices.map(displayName)

      if (this.appType === 'scaffold') {
        choices.unshift('swaggerUI')
        choices.unshift('web')
        defaults = defaultCapabilities(this.appPattern)
      }

      var prompts = [{
        name: 'capabilities',
        type: 'checkbox',
        message: 'Select capabilities:',
        choices: choices.map(displayName),
        default: defaults
      }]
      return this.prompt(prompts).then((answers) => {
        choices.forEach((choice) => {
          this[choice] = (answers.capabilities.indexOf(displayName(choice)) !== -1)
        })
      })
    },

    promptServicesForScaffold: function () {
      if (this.skipPrompting) return
      if (this.appType !== 'scaffold') return

      var choices = [
        'Cloudant / CouchDB',
        'Redis',
        'MongoDB',
        'PostgreSQL',
        'ElephantSQL',
        'AppID',
        'Auto-scaling',
        'Watson Assistant, formerly Conversation',
        'Alert Notification',
        'Push Notifications'
      ]
      var prompts = [{
        name: 'services',
        type: 'checkbox',
        message: 'Generate boilerplate for services:',
        choices: choices,
        default: []
      }]
      return this.prompt(prompts).then((answers) => {
        if (answers.services.indexOf('Cloudant / CouchDB') !== -1) {
          this._addService('cloudant', generateServiceName(this.appname, 'Cloudant'))
        }
        if (answers.services.indexOf('Redis') !== -1) {
          this._addService('redis', generateServiceName(this.appname, 'Redis'))
        }
        if (answers.services.indexOf('MongoDB') !== -1) {
          this._addService('mongodb', generateServiceName(this.appname, 'MongoDB'))
        }
        if (answers.services.indexOf('PostgreSQL') !== -1) {
          this._addService('postgresql', generateServiceName(this.appname, 'PostgreSQL'))
        }
        if (answers.services.indexOf('ElephantSQL') !== -1) {
          this._addService('elephantsql', generateServiceName(this.appname, 'ElephantSQL'))
        }
        if (answers.services.indexOf('AppID') !== -1) {
          this._addService('appid', generateServiceName(this.appname, 'AppID'))
        }
        if (answers.services.indexOf('Watson Assistant, formerly Conversation') !== -1) {
          this._addService('conversation', generateServiceName(this.appname, 'WatsonAssistant'))
        }
        if (answers.services.indexOf('Alert Notification') !== -1) {
          this._addService('alertNotification', generateServiceName(this.appname, 'AlertNotification'))
        }
        if (answers.services.indexOf('Push Notifications') !== -1) {
          this._addService('push', generateServiceName(this.appname, 'PushNotifications'))
        }
        if (answers.services.indexOf('Auto-scaling') !== -1) {
          this._addService('autoscaling', generateServiceName(this.appname, 'AutoScaling'))
        }
      })
    },

    /*
     * Configure the data store, asking the user what type of data store they
     * are using and configuring the data store if needed. These answers will
     * be the basis for the config.json.
     */
    promptDataStoreForCRUD: function () {
      if (this.skipPrompting) return
      if (this.appType !== 'crud') return

      var prompts = [
        {
          name: 'store',
          message: 'Select data store:',
          type: 'list',
          choices: ['Memory (for development purposes)', 'Cloudant / CouchDB'],
          filter: (store) => store.split(' ')[0]
        }
      ]
      return this.prompt(prompts).then((answer) => {
        // NOTE(tunniclm): no need to do anything for memory it is the default
        // if no crudservice is passed to the refresh generator
        if (answer.store === 'Cloudant') {
          this._addService('cloudant', 'crudDataStore')
          this.crudservice = 'crudDataStore'
        }
      })
    },

    promptServicesForCRUD: function () {
      if (this.skipPrompting) return
      if (this.appType !== 'crud') return

      var choices = ['Auto-scaling']

      var prompts = [{
        name: 'services',
        type: 'checkbox',
        message: 'Generate boilerplate for services:',
        choices: choices,
        default: []
      }]
      return this.prompt(prompts).then((answers) => {
        if (answers.services.indexOf('Auto-scaling') !== -1) {
          this._addService('autoscaling', generateServiceName(this.appname, 'AutoScaling'))
        }
      })
    },

    // NOTE(tunniclm): This part of the prompting assumes there can only
    // be one of each type of service.
    promptConfigureServices: function () {
      if (this.skipPrompting) return
      if (!this.services) return
      if (Object.keys(this.services).length === 0) return

      var self = this
      function serviceDisplayType (serviceType) {
        switch (serviceType) {
          case 'cloudant': return 'Cloudant / CouchDB'
          case 'redis': return 'Redis'
          case 'mongodb': return 'MongoDB'
          case 'postgresql': return 'PostgreSQL'
          case 'elephantsql': return 'ElephantSQL'
          case 'appid': return 'AppID'
          case 'autoscaling': return 'Auto-scaling'
          case 'conversation': return 'Watson Assistant'
          case 'alertNotification': return 'Alert Notification'
          case 'push': return 'Push Notifications'
          default:
            self.env.error(chalk.red(`Internal error: unknown service type ${serviceType}`))
        }
      }

      var choices = Object.keys(this.services)
      var prompts = [{
        name: 'configure',
        type: 'checkbox',
        message: 'Configure service credentials (leave unchecked for defaults):',
        choices: choices.map(serviceDisplayType),
        default: []
      }]
      return this.prompt(prompts).then((answers) => {
        this.servicesToConfigure = {}
        choices.forEach((serviceType) => {
          this.servicesToConfigure[serviceType] =
            (answers.configure.indexOf(serviceDisplayType(serviceType)) !== -1)
        })
      })
    },

    promptConfigureCloudant: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.cloudant) return

      this.log()
      this.log('Configure Cloudant / CouchDB')
      var prompts = [
        { name: 'cloudantName',
          message: 'Enter name (blank for default):',
          when: (answers) => this.appType !== 'crud'
        },
        { name: 'cloudantHost', message: 'Enter host name (blank for localhost):' },
        {
          name: 'cloudantPort',
          message: 'Enter port (blank for default):',
          validate: (port) => validatePort(port),
          filter: (port) => (port ? parseInt(port) : port)
        },
        {
          name: 'cloudantSecured',
          message: 'Secure (https)?',
          type: 'confirm',
          default: false
        },
        { name: 'cloudantUsername', message: 'Enter username (blank for none):' },
        {
          name: 'cloudantPassword',
          message: 'Enter password:',
          type: 'password',
          when: (answers) => answers.cloudantUsername,
          validate: (password) => validateCredential(password)
        }
      ]
      return this.prompt(prompts).then((answers) => {
        var cloudantService = this.services.cloudant[0]
        this.services.cloudant[0] = {
          host: answers.cloudantHost || undefined,
          port: answers.cloudantPort || undefined,
          secured: answers.cloudantSecured || undefined,
          username: answers.cloudantUsername || undefined,
          password: answers.cloudantPassword || undefined,
          serviceInfo: {
            label: cloudantService.serviceInfo.label,
            name: answers.cloudantName || cloudantService.serviceInfo.name,
            plan: cloudantService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigureRedis: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.redis) return

      this.log()
      this.log('Configure Redis')
      var prompts = [
        { name: 'redisName',
          message: 'Enter name (blank for default):'
        },
        { name: 'redisHost', message: 'Enter host name:' },
        {
          name: 'redisPort',
          message: 'Enter port:',
          validate: (port) => validatePort(port),
          filter: (port) => (port ? parseInt(port) : port)
        },
        { name: 'redisPassword', message: 'Enter password:', type: 'password' }
      ]
      return this.prompt(prompts).then((answers) => {
        var redisService = this.services.redis
        this.services.redis = {
          host: answers.redisHost || undefined,
          port: answers.redisPort || undefined,
          password: answers.redisPassword || undefined,
          serviceInfo: {
            label: redisService.serviceInfo.label,
            name: answers.redisName || redisService.serviceInfo.name,
            plan: redisService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigureMongoDB: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.mongodb) return

      this.log()
      this.log('Configure MongoDB')
      var prompts = [
        { name: 'mongodbName',
          message: 'Enter name (blank for default):'
        },
        { name: 'mongodbHost', message: 'Enter host name:' },
        {
          name: 'mongodbPort',
          message: 'Enter port:',
          validate: (port) => validatePort(port),
          filter: (port) => (port ? parseInt(port) : port)
        },
        { name: 'mongodbPassword', message: 'Enter password:', type: 'password' },
        { name: 'mongodbDatabase', message: 'Enter database name:' }
      ]
      return this.prompt(prompts).then((answers) => {
        var mongoService = this.services.mongodb
        this.services.mongodb = {
          host: answers.mongodbHost || undefined,
          port: answers.mongodbPort || undefined,
          password: answers.mongodbPassword || undefined,
          database: answers.mongodbDatabase || undefined,
          serviceInfo: {
            label: mongoService.serviceInfo.label,
            name: answers.mongodbName || mongoService.serviceInfo.name,
            plan: mongoService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigurePostgreSQL: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.postgresql) return

      this.log()
      this.log('Configure PostgreSQL')
      var prompts = [
        { name: 'postgresqlName',
          message: 'Enter name (blank for default):'
        },
        { name: 'postgresqlHost', message: 'Enter host name:' },
        {
          name: 'postgresqlPort',
          message: 'Enter port:',
          validate: (port) => validatePort(port),
          filter: (port) => (port ? parseInt(port) : port)
        },
        { name: 'postgresqlUsername', message: 'Enter username:' },
        { name: 'postgresqlPassword', message: 'Enter password:', type: 'password' },
        { name: 'postgresqlDatabase', message: 'Enter database name:' }
      ]
      return this.prompt(prompts).then((answers) => {
        var postgreService = this.services.postgresql
        this.services.postgresql = {
          host: answers.postgresqlHost || undefined,
          port: answers.postgresqlPort || undefined,
          username: answers.postgresqlUsername || undefined,
          password: answers.postgresqlPassword || undefined,
          database: answers.postgresqlDatabase || undefined,
          serviceInfo: {
            label: postgreService.serviceInfo.label,
            name: answers.postgresqlName || postgreService.serviceInfo.name,
            plan: postgreService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigureElephantSQL: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.elephantsql) return

      this.log()
      this.log('Configure ElephantSQL')
      var prompts = [
        { name: 'elephantsqlName',
          message: 'Enter name (blank for default):'
        },
        { name: 'elephantsqlHost', message: 'Enter host name:' },
        {
          name: 'elephantsqlPort',
          message: 'Enter port:',
          validate: (port) => validatePort(port),
          filter: (port) => (port ? parseInt(port) : port)
        },
        { name: 'elephantsqlUsername', message: 'Enter username:' },
        { name: 'elephantsqlPassword', message: 'Enter password:', type: 'password' },
        { name: 'elephantsqlDatabase', message: 'Enter database name:' }
      ]
      return this.prompt(prompts).then((answers) => {
        var elephantsqlService = this.services.elephantsql
        this.services.elephantsql = {
          host: answers.elephantsqlHost || undefined,
          port: answers.elephantsqlPort || undefined,
          username: answers.elephantsqlUsername || undefined,
          password: answers.elephantsqlPassword || undefined,
          database: answers.elephantsqlDatabase || undefined,
          serviceInfo: {
            label: elephantsqlService.serviceInfo.label,
            name: answers.elephantsqlName || elephantsqlService.serviceInfo.name,
            plan: elephantsqlService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigureAutoscaling: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.autoscaling) return

      this.log()
      this.log('Configure Autoscaling')
      var prompts = [
        { name: 'autoscalingName', message: 'Enter name (blank for default):' }
      ]
      return this.prompt(prompts).then((answers) => {
        this.services.autoscaling.serviceInfo.name = answers.autoscalingName || this.services.autoscaling.serviceInfo.name
      })
    },

    promptConfigureWatsonAssistant: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.conversation) return

      this.log()
      this.log('Configure Watson Assistant')
      var prompts = [
        { name: 'watsonAssistantName', message: 'Enter name (blank for default):' },
        { name: 'watsonAssistantAPIKey', message: 'Enter API key (blank for none):' },
        { name: 'watsonAssistantUrl', message: 'Enter url (blank for default):' }
      ]
      return this.prompt(prompts).then((answers) => {
        var watsonService = this.services.conversation
        this.services.conversation = {
          apikey: answers.watsonAssistantAPIKey || undefined,
          url: answers.watsonAssistantUrl || undefined,
          serviceInfo: {
            label: watsonService.serviceInfo.label,
            name: answers.watsonAssistantName || watsonService.serviceInfo.name,
            plan: watsonService.serviceInfo.plan
          }
        }
      })
    },

    promptConfigureAlertNotification: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.alertNotification) return
      this.log()
      this.log('Configure Alert Notification')
      var prompts = [
        { name: 'alertNotificationName', message: 'Enter service name (blank for default):' },
        { name: 'alertNotificationUsername', message: 'Enter username (blank for none):' },
        { name: 'alertNotificationPassword', message: 'Enter password:', type: 'password' },
        { name: 'alertNotificationUrl', message: 'Enter url (blank for none):' }
      ]
      return this.prompt(prompts).then((answers) => {
        var alertNotificationService = this.services.alertNotification
        this.services.alertNotification = {
          name: answers.alertNotificationUsername || undefined,
          password: answers.alertNotificationPassword || undefined,
          url: answers.alertNotificationUrl || undefined,
          serviceInfo: {
            label: alertNotificationService.serviceInfo.label,
            name: answers.alertNotificationName || alertNotificationService.serviceInfo.name,
            plan: alertNotificationService.plan
          }
        }
      })
    },

    promptConfigurePushNotifications: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.push) return

      this.log()
      this.log('Configure Push Notifications')

      var prompts = [
        { name: 'pushNotificationsName', message: 'Enter service name (blank for default):' },
        { name: 'pushNotificationsAppGuid', message: 'Enter app GUID (blank for none):' },
        { name: 'pushNotificationsAPIKey', message: 'Enter API Key (blank for none):', type: 'password' },
        {
          name: 'pushNotificationsRegion',
          type: 'list',
          message: 'Enter Bluemix region:',
          choices: [ 'US South', 'United Kingdom', 'Sydney' ],
          default: 'US South'
        }
      ]
      return this.prompt(prompts).then((answers) => {
        var pushService = this.services.push
        this.services.push = {
          appGuid: answers.pushNotificationsAppGuid || undefined,
          apikey: answers.pushNotificationsAPIKey || undefined,
          serviceInfo: {
            label: pushService.serviceInfo.label,
            name: answers.pushNotificationsName || pushService.serviceInfo.name,
            plan: pushService.serviceInfo.plan
          }
        }
        switch (answers.pushNotificationsRegion) {
          case 'US South': this.services.push.url = 'https://imfpush.ng.bluemix.net'; break
          case 'United Kingdom': this.services.push.url = 'https://imfpush.eu-gb.bluemix.net'; break
          case 'Sydney': this.services.push.url = 'https://imfpush.au-syd.bluemix.net'; break
          default:
            this.env.error(chalk.red(`Internal error: unknown region ${answers.pushNotificationsRegion}`))
        }
      })
    },

    promptConfigureAppID: function () {
      if (this.skipPrompting) return
      if (!this.servicesToConfigure) return
      if (!this.servicesToConfigure.appid) return
      this.log()
      this.log('Configure AppID')
      var prompts = [
        { name: 'appidName', message: 'Enter name (blank for default):' },
        { name: 'appidTenantId', message: 'Enter tenant ID:' },
        { name: 'appidClientId', message: 'Enter client ID:' },
        { name: 'appidSecret', message: 'Enter secret:', type: 'password' }
      ]
      return this.prompt(prompts).then((answers) => {
        var appidService = this.services.appid
        this.services.appid = {
          tenantId: answers.appidTenantId || undefined,
          clientId: answers.appidClientId || undefined,
          secret: answers.appidSecret || undefined,
          serviceInfo: {
            label: appidService.serviceInfo.label,
            name: answers.appidName || appidService.serviceInfo.name,
            plan: appidService.serviceInfo.plan
          }
        }
      })
    }
  },

  createSpecFromAnswers: function () {
    if (this.skipPrompting) return
    // NOTE(tunniclm): This spec object may not exploit all possible functionality,
    // some may only be available via non-prompting route.
    if (this.services) {
      this.bluemix.server.services = []
      Object.keys(this.services).forEach(serviceType => {
        var services = Array.isArray(this.services[serviceType]) ? this.services[serviceType] : [this.services[serviceType]]
        services.forEach(service => {
          this.bluemix.server.services.push(service.serviceInfo.name)
        })
      })
    }
    this.spec = {
      appType: this.appType,
      appName: this.appname,
      docker: this.docker || undefined,
      web: this.web || undefined,
      openapi: this.openapi || undefined,
      exampleEndpoints: this.exampleEndpoints || undefined,
      fromSwagger: this.fromSwagger || undefined,
      generateCodableRoutes: this.generateCodableRoutes || undefined,
      serverSwaggerFiles: this.serverSwaggerFiles || undefined,
      hostSwagger: this.hostSwagger || undefined,
      swaggerUI: this.swaggerUI || undefined,
      metrics: this.metrics || undefined,
      crudservice: this.crudservice,
      bluemix: Object.assign(this.bluemix, this.services) || {}
    }
  },

  install: {

    buildDefinitions: function () {
      // this.composeWith() causes problems with testing using yeoman-test.
      //
      // When we composeWith() using the namespace:name format, then we
      // have trouble with errors finding the composed generator when testing
      // (it works usually when running while not testing.)
      //
      // So we resolve the generator to a real path to get around this, which
      // works in both cases. However, this means the yeoman-test RunContext
      // call withGenerators() no longer works to stub out dependent generators
      // with dummies for unit testing.
      //
      // This problem is documented in https://github.com/yeoman/yeoman-test/issues/16
      //
      // To work around the problem, our unit tests will pass in an option 'testmode'
      // and we will use the namespace:name form in that case.
      var refreshGenerator = this.options.testmode ? 'swiftserver:refresh' : require.resolve('../refresh')
      this.composeWith(refreshGenerator, {
        // Pass in the option to refresh to decided whether or not we create the *-product.yml
        apic: this.options.apic,
        specObj: this.spec,
        singleShot: this.options['single-shot'],
        destinationSet: (this.destinationSet === true)
      })
    },

    buildApp: function () {
      if (this.skipBuild || this.options['skip-build']) return

      var buildGenerator = this.options.testmode ? 'swiftserver:build' : require.resolve('../build')
      this.composeWith(buildGenerator, {
        // Pass in the option of doing single-shot so the appropriate checks are performed
        singleShot: this.options['single-shot']
      })
    }
  },

  end: function () {
    // Inform the user what they should do next
    this.log('Next steps:')
    this.log()
    if (this.destinationRoot() && this.destinationRoot() !== '.') {
      this.log('  Change directory to your app')
      this.log(chalk.green('    $ cd ' + this.destinationRoot()))
      this.log()
    }
    if (this.appType === 'crud') {
      var createModelInstruction = '    $ yo swiftserver:model'
      if (process.env.RUN_BY_COMMAND === 'swiftservergenerator') {
        createModelInstruction = '    $ swiftservergenerator --model'
      } else if (process.env.RUN_BY_COMMAND === 'apic') {
        createModelInstruction = '    $ apic create --type model-swiftserver'
      }

      this.log('  Create a model in your app')
      this.log(chalk.green(createModelInstruction))
      this.log()
    }
    this.log('  Run your app')
    this.log(chalk.green('    $ .build/debug/' + this.appname))
    this.log()
  }
})
module.exports._yeoman = Generator