Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms
This commit is contained in:
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of automation module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package automation
|
||||
* @version $Id: control.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class automation extends control
|
||||
{
|
||||
/**
|
||||
* Project id.
|
||||
*
|
||||
* @var int
|
||||
* @access public
|
||||
*/
|
||||
public $projectID = 0;
|
||||
|
||||
/**
|
||||
* Products.
|
||||
*
|
||||
* @var array
|
||||
* @access public
|
||||
*/
|
||||
public $products = array();
|
||||
|
||||
/**
|
||||
* Construct function, load product module, assign products to view auto.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($moduleName = '', $methodName = '')
|
||||
{
|
||||
parent::__construct($moduleName, $methodName);
|
||||
|
||||
/* Set testtask menu group. */
|
||||
$this->projectID = isset($_GET['PRJ']) ? $_GET['PRJ'] : 0;
|
||||
if(!$this->projectID)
|
||||
{
|
||||
$this->app->loadConfig('qa');
|
||||
foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa';
|
||||
}
|
||||
|
||||
$this->view->products = $this->products = $this->loadModel('product')->getProductPairsByProject($this->projectID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Automation details.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param int $branch
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function browse($productID = 0, $branch = 0)
|
||||
{
|
||||
/* Set menu. */
|
||||
$productID = $this->product->saveState($productID, $this->products);
|
||||
if(empty($branch)) $branch = (int)$this->cookie->preBranch;
|
||||
$this->automation->setMenu($this->products, $productID, $branch);
|
||||
|
||||
$this->view->title = $this->lang->automation->common;
|
||||
$this->view->position[] = $this->lang->automation->index;
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = 'Admin';
|
||||
$lang->admin->index = 'Admin Home';
|
||||
$lang->admin->checkDB = 'Datenbank prüfen';
|
||||
$lang->admin->sso = 'SSO';
|
||||
$lang->admin->ssoAction = 'Link Zdoo';
|
||||
$lang->admin->safeIndex = 'Sicherheit';
|
||||
$lang->admin->checkWeak = 'Schwache Passwörter prüfen';
|
||||
$lang->admin->certifyMobile = 'Prüfen Sie die Mobilnummer';
|
||||
$lang->admin->certifyEmail = 'Prüfen Sie die Emailadresse';
|
||||
$lang->admin->ztCompany = 'Prüfen Sie das Unternehmen';
|
||||
$lang->admin->captcha = 'Bestätigungscode';
|
||||
$lang->admin->getCaptcha = 'Bestätigungscode anfordern';
|
||||
$lang->admin->register = 'Register';
|
||||
|
||||
$lang->admin->api = 'API';
|
||||
$lang->admin->log = 'Log';
|
||||
$lang->admin->setting = 'Einstellungen';
|
||||
$lang->admin->days = 'Gültige Tage';
|
||||
|
||||
$lang->admin->info = new stdclass();
|
||||
$lang->admin->info->version = 'Aktuelle Version ist %s. ';
|
||||
$lang->admin->info->links = 'You can visit links below';
|
||||
$lang->admin->info->account = 'Ihr ZenTao Konto ist %s.';
|
||||
$lang->admin->info->log = 'Logs die über die Gültigen Tage hinausgehen werden gelöscht. Aufgabenplanung muss laufen (cron).';
|
||||
|
||||
$lang->admin->notice = new stdclass();
|
||||
$lang->admin->notice->register = "Hinweiß: Sie haben sich nicht bei ZenTao (www.zentao.pm) registriert. %s um die aktuellen Updates und News zu erhalten.";
|
||||
$lang->admin->notice->ignore = "Ignorieren";
|
||||
$lang->admin->notice->int = "『%s』sollte eine positive Zahl sein.";
|
||||
|
||||
$lang->admin->registerNotice = new stdclass();
|
||||
$lang->admin->registerNotice->common = 'Verbinde neues Konto';
|
||||
$lang->admin->registerNotice->caption = 'In der Zentao Community registieren';
|
||||
$lang->admin->registerNotice->click = 'Bitte registieren Sie sich hier';
|
||||
$lang->admin->registerNotice->lblAccount = 'mindestens 3 Zeichen bitte; mit Buchsten und Ziffern.';
|
||||
$lang->admin->registerNotice->lblPasswd = 'mindestens 6 Zeichen bitte; mit Buchsten und Ziffern.';
|
||||
$lang->admin->registerNotice->submit = 'Registieren';
|
||||
$lang->admin->registerNotice->bind = "Verbinde bestehendes Konto";
|
||||
$lang->admin->registerNotice->success = "Sie haben sich erfolgreich registriert!";
|
||||
|
||||
$lang->admin->bind = new stdclass();
|
||||
$lang->admin->bind->caption = 'Konto verknüpfen';
|
||||
$lang->admin->bind->success = "Konto wurde verknüpft!";
|
||||
|
||||
$lang->admin->safe = new stdclass();
|
||||
$lang->admin->safe->common = 'Sicherheits-Regeln';
|
||||
$lang->admin->safe->set = 'PasswortStärke';
|
||||
$lang->admin->safe->password = 'Passwort Stärke';
|
||||
$lang->admin->safe->weak = 'Schwache Passwörter';
|
||||
$lang->admin->safe->reason = 'Typ';
|
||||
$lang->admin->safe->checkWeak = 'Schwache Passwörter prüfen';
|
||||
$lang->admin->safe->changeWeak = 'Ihr Passwort ist schwach. Bitte ändern.';
|
||||
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = 'Passwort nach der ersten Anmeldung ändern';
|
||||
|
||||
$lang->admin->safe->modeList[0] = 'N/A';
|
||||
$lang->admin->safe->modeList[1] = 'Medium';
|
||||
$lang->admin->safe->modeList[2] = 'Stark';
|
||||
|
||||
$lang->admin->safe->modeRuleList[1] = 'Beinhaltet Groß und Kleinbuchstaben sowie Ziffern. Länge >= 6';
|
||||
$lang->admin->safe->modeRuleList[2] = 'Beinhaltet Groß und Kleinbuchstaben, Ziffern sowie Sonderzeichen. Länge >= 10.';
|
||||
|
||||
$lang->admin->safe->reasonList['weak'] = 'Bekannte Schwache Passwörter';
|
||||
$lang->admin->safe->reasonList['account'] = 'Entspricht ihrem Konto';
|
||||
$lang->admin->safe->reasonList['mobile'] = 'Entspricht Ihrer Mobilnummer';
|
||||
$lang->admin->safe->reasonList['phone'] = 'Entspricht Ihrer Telefonnummer';
|
||||
$lang->admin->safe->reasonList['birthday'] = 'Entspricht Ihrem Geburtstag';
|
||||
|
||||
$lang->admin->safe->modifyPasswordList[1] = 'Ja';
|
||||
$lang->admin->safe->modifyPasswordList[0] = 'Nein';
|
||||
|
||||
$lang->admin->safe->loginCaptchaList[1] = 'Ja';
|
||||
$lang->admin->safe->loginCaptchaList[0] = 'Nein';
|
||||
|
||||
$lang->admin->safe->noticeMode = 'Password will be checked when a user logs in, or a user is added or edited.';
|
||||
$lang->admin->safe->noticeStrong = '';
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = 'Admin';
|
||||
$lang->admin->index = 'Admin Home';
|
||||
$lang->admin->checkDB = 'Check Database';
|
||||
$lang->admin->sso = 'Zdoo';
|
||||
$lang->admin->ssoAction = 'Link Zdoo';
|
||||
$lang->admin->safeIndex = 'Security';
|
||||
$lang->admin->checkWeak = 'Check Weak Password';
|
||||
$lang->admin->certifyMobile = 'Verify your cellphone';
|
||||
$lang->admin->certifyEmail = 'Verify your Email';
|
||||
$lang->admin->ztCompany = 'Verify your company';
|
||||
$lang->admin->captcha = 'Verification Code';
|
||||
$lang->admin->getCaptcha = 'Send Verification Code';
|
||||
$lang->admin->register = 'Register';
|
||||
|
||||
$lang->admin->api = 'API';
|
||||
$lang->admin->log = 'Log';
|
||||
$lang->admin->setting = 'Setting';
|
||||
$lang->admin->days = 'Valid Day';
|
||||
|
||||
$lang->admin->info = new stdclass();
|
||||
$lang->admin->info->version = 'Current Version is %s. ';
|
||||
$lang->admin->info->links = 'You can visit links below';
|
||||
$lang->admin->info->account = 'Your ZenTao account is %s.';
|
||||
$lang->admin->info->log = 'Log that exceeds valid days will be deleted and you have to run cron.';
|
||||
|
||||
$lang->admin->notice = new stdclass();
|
||||
$lang->admin->notice->register = "Note: You haven't registered in ZenTao official website(www.zentao.pm). %s then get the Latest ZenTao Upgrades and News.";
|
||||
$lang->admin->notice->ignore = "Ignore";
|
||||
$lang->admin->notice->int = "『%s』should be a positive integer.";
|
||||
|
||||
$lang->admin->registerNotice = new stdclass();
|
||||
$lang->admin->registerNotice->common = 'Bind Account';
|
||||
$lang->admin->registerNotice->caption = 'ZenTao Community Signup';
|
||||
$lang->admin->registerNotice->click = 'Sign Up';
|
||||
$lang->admin->registerNotice->lblAccount = '>= 3 letters and numbers';
|
||||
$lang->admin->registerNotice->lblPasswd = '>= 6 letters and numbers';
|
||||
$lang->admin->registerNotice->submit = 'Submit';
|
||||
$lang->admin->registerNotice->bind = "Bind Exsiting Account";
|
||||
$lang->admin->registerNotice->success = "You have signed up!";
|
||||
|
||||
$lang->admin->bind = new stdclass();
|
||||
$lang->admin->bind->caption = 'Link Account';
|
||||
$lang->admin->bind->success = "Account is linked!";
|
||||
|
||||
$lang->admin->safe = new stdclass();
|
||||
$lang->admin->safe->common = 'Security Policy';
|
||||
$lang->admin->safe->set = 'Password Settings';
|
||||
$lang->admin->safe->password = 'Password Strength';
|
||||
$lang->admin->safe->weak = 'Common Weak Passwords';
|
||||
$lang->admin->safe->reason = 'Type';
|
||||
$lang->admin->safe->checkWeak = 'Weak Password Scan';
|
||||
$lang->admin->safe->changeWeak = 'Force to change weak password';
|
||||
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = 'Force to change password after first login';
|
||||
|
||||
$lang->admin->safe->modeList[0] = 'I don\'t care.';
|
||||
$lang->admin->safe->modeList[1] = 'Medium';
|
||||
$lang->admin->safe->modeList[2] = 'Strong';
|
||||
|
||||
$lang->admin->safe->modeRuleList[1] = ' >= 6 upper and lower case, and numbers';
|
||||
$lang->admin->safe->modeRuleList[2] = ' >= 10 upper and lower case, numbers and special characters.';
|
||||
|
||||
$lang->admin->safe->reasonList['weak'] = 'Common Weak Password';
|
||||
$lang->admin->safe->reasonList['account'] = 'Same as account';
|
||||
$lang->admin->safe->reasonList['mobile'] = 'Same as mobilephone number';
|
||||
$lang->admin->safe->reasonList['phone'] = 'Same as phone number';
|
||||
$lang->admin->safe->reasonList['birthday'] = 'Same as DOB';
|
||||
|
||||
$lang->admin->safe->modifyPasswordList[1] = 'Yes';
|
||||
$lang->admin->safe->modifyPasswordList[0] = 'No';
|
||||
|
||||
$lang->admin->safe->loginCaptchaList[1] = 'Yes'
|
||||
$lang->admin->safe->loginCaptchaList[0] = 'No';
|
||||
|
||||
$lang->admin->safe->noticeMode = 'Password will be checked when a user logs in, or a user is added or edited.';
|
||||
$lang->admin->safe->noticeStrong = '';
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $
|
||||
* @link https://www.zentao.pm
|
||||
*/
|
||||
$lang->admin->common = 'Admin';
|
||||
$lang->admin->index = 'Admin Home';
|
||||
$lang->admin->checkDB = 'Check Database';
|
||||
$lang->admin->sso = 'Zdoo';
|
||||
$lang->admin->ssoAction = 'Link Zdoo';
|
||||
$lang->admin->safeIndex = 'Sécurité';
|
||||
$lang->admin->checkWeak = 'Contrôle niveau de sécurité des mots de passe';
|
||||
$lang->admin->certifyMobile = 'Vérifier votre smartphone';
|
||||
$lang->admin->certifyEmail = 'Vérifier votre Email';
|
||||
$lang->admin->ztCompany = 'Vérifier votre entreprise';
|
||||
$lang->admin->captcha = 'Code de vérification';
|
||||
$lang->admin->getCaptcha = 'Obtenir le Code de vérification';
|
||||
$lang->admin->register = 'Register';
|
||||
|
||||
$lang->admin->api = 'API';
|
||||
$lang->admin->log = 'Log';
|
||||
$lang->admin->setting = 'Paramétrage';
|
||||
$lang->admin->days = 'Durée de conservation';
|
||||
|
||||
$lang->admin->info = new stdclass();
|
||||
$lang->admin->info->version = 'La version actuelle est %s customisée. ';
|
||||
$lang->admin->info->links = 'Vous pouvez visiter les liens ci-dessous';
|
||||
$lang->admin->info->account = 'Votre identifiant client ZenTao est %s.';
|
||||
$lang->admin->info->log = 'Les logs qui dépassent la durée de conservation seront supprimés et vous devrez exécuter un cron.';
|
||||
|
||||
$lang->admin->notice = new stdclass();
|
||||
$lang->admin->notice->register = "Note: Vous n'êtes pas enregistré sur le site officiel de ZenTao (www.zentao.pm). %s vous pourrez ensuite obtenir les dernières Mises à Jour de ZenTao et des informations.";
|
||||
$lang->admin->notice->ignore = "Ignorer";
|
||||
$lang->admin->notice->int = "『 %s 』 devrait être un entier positif.";
|
||||
|
||||
$lang->admin->registerNotice = new stdclass();
|
||||
$lang->admin->registerNotice->common = 'Connectez-vous avec votre nouveau compte';
|
||||
$lang->admin->registerNotice->caption = "S'enregistrer sur la communauté Zentao";
|
||||
$lang->admin->registerNotice->click = "S'enregistrer ici";
|
||||
$lang->admin->registerNotice->lblAccount = '>= 3 lettres et chiffres';
|
||||
$lang->admin->registerNotice->lblPasswd = '>= 6 lettres et chiffres';
|
||||
$lang->admin->registerNotice->submit = "S'enregistrer";
|
||||
$lang->admin->registerNotice->bind = "S'associer à un compte existant";
|
||||
$lang->admin->registerNotice->success = "Vous êtes enregistré !";
|
||||
|
||||
$lang->admin->bind = new stdclass();
|
||||
$lang->admin->bind->caption = 'Lier au compte';
|
||||
$lang->admin->bind->success = "Le compte est associé !";
|
||||
|
||||
$lang->admin->safe = new stdclass();
|
||||
$lang->admin->safe->common = 'Politique de sécurité';
|
||||
$lang->admin->safe->set = 'Paramétrages du Mot de passe';
|
||||
$lang->admin->safe->password = 'Force du Mot de passe';
|
||||
$lang->admin->safe->weak = 'Mots de passes non sécurisés courrants';
|
||||
$lang->admin->safe->reason = 'Type';
|
||||
$lang->admin->safe->checkWeak = 'Balayage des mots de passe faibles';
|
||||
$lang->admin->safe->changeWeak = 'Forcer le changement des mots de passe faibles';
|
||||
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = 'Forcer le changement du mot de passe après la première connexion';
|
||||
|
||||
$lang->admin->safe->modeList[0] = "Contrôle Modéré";
|
||||
$lang->admin->safe->modeList[1] = 'Contrôle Moyen';
|
||||
$lang->admin->safe->modeList[2] = 'Contrôle Fort';
|
||||
|
||||
$lang->admin->safe->modeRuleList[1] = ' >= 6 Majuscules, minuscules et chiffres';
|
||||
$lang->admin->safe->modeRuleList[2] = ' >= 10 Majuscules, minuscules, chiffres et caractères spéciaux';
|
||||
|
||||
$lang->admin->safe->reasonList['weak'] = 'Mots de passe faibles courants';
|
||||
$lang->admin->safe->reasonList['account'] = 'Identique au compte';
|
||||
$lang->admin->safe->reasonList['mobile'] = 'Identique au numéro de mobile';
|
||||
$lang->admin->safe->reasonList['phone'] = 'Identique au téléphone fixe';
|
||||
$lang->admin->safe->reasonList['birthday'] = 'Identique à la date de naissance';
|
||||
|
||||
$lang->admin->safe->modifyPasswordList[1] = 'Oui';
|
||||
$lang->admin->safe->modifyPasswordList[0] = 'Non';
|
||||
|
||||
$lang->admin->safe->loginCaptchaList[1] = 'Oui'
|
||||
$lang->admin->safe->loginCaptchaList[0] = 'Non';
|
||||
|
||||
$lang->admin->safe->noticeMode = "Le mot de passe sera vérifié quand un utilisateur se connectera ou qu'un utilisateur sera créé ou modifier.";
|
||||
$lang->admin->safe->noticeStrong = '';
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Nguyễn Quốc Nho <quocnho@gmail.com>
|
||||
* @package admin
|
||||
* @version $Id: vi.php 4460 2013-02-26 02:28:02Z quocnho@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = 'Quản trị';
|
||||
$lang->admin->index = 'Trang quản trị';
|
||||
$lang->admin->checkDB = 'Kiểm tra CSDL';
|
||||
$lang->admin->sso = 'Zdoo';
|
||||
$lang->admin->ssoAction = 'Liên kết Zdoo';
|
||||
$lang->admin->safeIndex = 'Bảo mật';
|
||||
$lang->admin->checkWeak = 'Kiểm tra độ yếu mật khẩu';
|
||||
$lang->admin->certifyMobile = 'Xác thực di động của bạn';
|
||||
$lang->admin->certifyEmail = 'Xác thực email của bạn';
|
||||
$lang->admin->ztCompany = 'Xác thực doanh nghiệp của bạn';
|
||||
$lang->admin->captcha = 'Mã xác thực';
|
||||
$lang->admin->getCaptcha = 'Gửi Mã xác thực';
|
||||
$lang->admin->register = 'Register';
|
||||
|
||||
$lang->admin->api = 'API';
|
||||
$lang->admin->log = 'Nhật ký';
|
||||
$lang->admin->setting = 'Thiết lập';
|
||||
$lang->admin->days = 'Ngày hợp lệ';
|
||||
|
||||
$lang->admin->info = new stdclass();
|
||||
$lang->admin->info->version = 'Phiên bản hiện tại là %s. ';
|
||||
$lang->admin->info->links = ' Bạn có thể ghé thăm liên kết sau';
|
||||
$lang->admin->info->account = 'Tài khoản ZenTao của bạn là %s.';
|
||||
$lang->admin->info->log = 'Nhật ký vượt quá ngày hợp lệ sẽ bị xóa và bạn phải chay Cron.';
|
||||
|
||||
$lang->admin->notice = new stdclass();
|
||||
$lang->admin->notice->register = "Chú ý: Bạn chưa đăng ký trên trang web chính thức của ZenTao (www.zentao.pm). %s sau đó nhận Bản tin và nâng cấp mới nhất của ZenTao.";
|
||||
$lang->admin->notice->ignore = "Bỏ qua";
|
||||
$lang->admin->notice->int = "『%s』 nên là số nguyên dương.";
|
||||
|
||||
$lang->admin->registerNotice = new stdclass();
|
||||
$lang->admin->registerNotice->common = 'Kết nối tài khoản';
|
||||
$lang->admin->registerNotice->caption = 'Đăng ký cộng đồng ZenTao';
|
||||
$lang->admin->registerNotice->click = 'Đăng ký';
|
||||
$lang->admin->registerNotice->lblAccount = '>= 3 chữ và số';
|
||||
$lang->admin->registerNotice->lblPasswd = '>= 6 chữ và số';
|
||||
$lang->admin->registerNotice->submit = 'Gửi';
|
||||
$lang->admin->registerNotice->bind = "Kết nối với tài khoản đang tồn tại";
|
||||
$lang->admin->registerNotice->success = "Bạn đã đăng ký!";
|
||||
|
||||
$lang->admin->bind = new stdclass();
|
||||
$lang->admin->bind->caption = 'Liên kết tài khoản';
|
||||
$lang->admin->bind->success = "Tài khoản đã được kết nối!";
|
||||
|
||||
$lang->admin->safe = new stdclass();
|
||||
$lang->admin->safe->common = 'Chính sách bảo mật';
|
||||
$lang->admin->safe->set = 'Thiết lập mật khẩu';
|
||||
$lang->admin->safe->password = 'Độ mạnh mật khẩu';
|
||||
$lang->admin->safe->weak = 'Mật khẩu yếu thường dùng';
|
||||
$lang->admin->safe->reason = 'Loại';
|
||||
$lang->admin->safe->checkWeak = 'Quét mật khẩu yếu';
|
||||
$lang->admin->safe->changeWeak = 'Chủ động thay đổi mật khẩu yếu';
|
||||
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = 'Chủ động thay đổi mật khẩu sau lần đăng nhập đầu tiên';
|
||||
|
||||
$lang->admin->safe->modeList[0] = 'Yếu';
|
||||
$lang->admin->safe->modeList[1] = 'Trung bình';
|
||||
$lang->admin->safe->modeList[2] = 'Mạnh';
|
||||
|
||||
$lang->admin->safe->modeRuleList[1] = ' >= 6 chữ hoa, chữ thường và số';
|
||||
$lang->admin->safe->modeRuleList[2] = ' >= 10 chữ hoa, chữ thường, số và ký tự đặc biệt.';
|
||||
|
||||
$lang->admin->safe->reasonList['weak'] = 'Mật khẩu yếu thường dùng';
|
||||
$lang->admin->safe->reasonList['account'] = 'Giống tài khoản';
|
||||
$lang->admin->safe->reasonList['mobile'] = 'Giống số di động';
|
||||
$lang->admin->safe->reasonList['phone'] = 'Giống số điện thoại';
|
||||
$lang->admin->safe->reasonList['birthday'] = 'Giống ngày sinh';
|
||||
|
||||
$lang->admin->safe->modifyPasswordList[1] = 'Có';
|
||||
$lang->admin->safe->modifyPasswordList[0] = 'Không';
|
||||
|
||||
$lang->admin->safe->loginCaptchaList[1] = 'Yes'
|
||||
$lang->admin->safe->loginCaptchaList[0] = 'No';
|
||||
|
||||
$lang->admin->safe->noticeMode = 'Mật khẩu sẽ được kiểm tra khi người dùng đăng nhập hoặc người dùng thêm hoặc sửa.';
|
||||
$lang->admin->safe->noticeStrong = '';
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* The automation module zh-cn file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package automation
|
||||
* @version $Id: zh-cn.php 4767 2013-05-05 06:10:13Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->automation->common = '自动化测试';
|
||||
$lang->automation->index = '首页';
|
||||
|
||||
$lang->automation->description = '自动化测试解决方案';
|
||||
$lang->automation->ztf = 'ZTF自动化测试管理框架';
|
||||
$lang->automation->zendata = 'ZenData数据生成工具';
|
||||
|
||||
$lang->automation->details = '';
|
||||
$lang->automation->ztfDetails = '';
|
||||
$lang->automation->zendataDetails = '';
|
||||
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module zh-tw file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青島易軟天創網絡科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: zh-tw.php 4767 2013-05-05 06:10:13Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '後台管理';
|
||||
$lang->admin->index = '後台管理首頁';
|
||||
$lang->admin->checkDB = '檢查資料庫';
|
||||
$lang->admin->sso = 'ZDOO整合';
|
||||
$lang->admin->ssoAction = 'ZDOO整合';
|
||||
$lang->admin->safeIndex = '安全';
|
||||
$lang->admin->checkWeak = '弱口令檢查';
|
||||
$lang->admin->certifyMobile = '認證手機';
|
||||
$lang->admin->certifyEmail = '認證郵箱';
|
||||
$lang->admin->ztCompany = '認證公司';
|
||||
$lang->admin->captcha = '驗證碼';
|
||||
$lang->admin->getCaptcha = '獲取驗證碼';
|
||||
$lang->admin->register = '登記';
|
||||
|
||||
$lang->admin->api = '介面';
|
||||
$lang->admin->log = '日誌';
|
||||
$lang->admin->setting = '設置';
|
||||
$lang->admin->days = '日誌保存天數';
|
||||
|
||||
$lang->admin->info = new stdclass();
|
||||
$lang->admin->info->version = '當前系統的版本是%s,';
|
||||
$lang->admin->info->links = '您可以訪問以下連結:';
|
||||
$lang->admin->info->account = "您的禪道社區賬戶為%s。";
|
||||
$lang->admin->info->log = '超出存天數的日誌會被刪除,需要開啟計劃任務。';
|
||||
|
||||
$lang->admin->notice = new stdclass();
|
||||
$lang->admin->notice->register = "友情提示:您還未在禪道社區(www.zentao.net)登記,%s進行登記,以及時獲得禪道最新信息。";
|
||||
$lang->admin->notice->ignore = "不再提示";
|
||||
$lang->admin->notice->int = "『%s』應當是正整數。";
|
||||
|
||||
$lang->admin->registerNotice = new stdclass();
|
||||
$lang->admin->registerNotice->common = '註冊新帳號綁定';
|
||||
$lang->admin->registerNotice->caption = '禪道社區登記';
|
||||
$lang->admin->registerNotice->click = '點擊此處';
|
||||
$lang->admin->registerNotice->lblAccount = '請設置您的用戶名,英文字母和數字的組合,三位以上。';
|
||||
$lang->admin->registerNotice->lblPasswd = '請設置您的密碼。數字和字母的組合,六位以上。';
|
||||
$lang->admin->registerNotice->submit = '登記';
|
||||
$lang->admin->registerNotice->bind = "綁定已有帳號";
|
||||
$lang->admin->registerNotice->success = "登記賬戶成功";
|
||||
|
||||
$lang->admin->bind = new stdclass();
|
||||
$lang->admin->bind->caption = '關聯社區帳號';
|
||||
$lang->admin->bind->success = "關聯賬戶成功";
|
||||
|
||||
$lang->admin->safe = new stdclass();
|
||||
$lang->admin->safe->common = '安全策略';
|
||||
$lang->admin->safe->set = '密碼安全設置';
|
||||
$lang->admin->safe->password = '密碼安全';
|
||||
$lang->admin->safe->weak = '常用弱口令';
|
||||
$lang->admin->safe->reason = '類型';
|
||||
$lang->admin->safe->checkWeak = '弱口令掃瞄';
|
||||
$lang->admin->safe->changeWeak = '修改弱口令密碼';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = '首次登錄修改密碼';
|
||||
|
||||
$lang->admin->safe->modeList[0] = '不檢查';
|
||||
$lang->admin->safe->modeList[1] = '中';
|
||||
$lang->admin->safe->modeList[2] = '強';
|
||||
|
||||
$lang->admin->safe->modeRuleList[1] = '6位以上,包含大小寫字母,數字。';
|
||||
$lang->admin->safe->modeRuleList[2] = '10位以上,包含字母,數字,特殊字元。';
|
||||
|
||||
$lang->admin->safe->reasonList['weak'] = '常用弱口令';
|
||||
$lang->admin->safe->reasonList['account'] = '與帳號相同';
|
||||
$lang->admin->safe->reasonList['mobile'] = '與手機相同';
|
||||
$lang->admin->safe->reasonList['phone'] = '與電話相同';
|
||||
$lang->admin->safe->reasonList['birthday'] = '與生日相同';
|
||||
|
||||
$lang->admin->safe->modifyPasswordList[1] = '必須修改';
|
||||
$lang->admin->safe->modifyPasswordList[0] = '不強制';
|
||||
|
||||
$lang->admin->safe->noticeMode = '系統會在登錄、創建和修改用戶、修改密碼的時候檢查用戶口令。';
|
||||
$lang->admin->safe->noticeStrong = '密碼長度越長,含有大寫字母或數字或特殊符號越多,密碼字母越不重複,安全度越強!';
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of automation module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package automation
|
||||
* @version $Id: model.php 5148 2013-07-16 01:31:08Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class automationModel extends model
|
||||
{
|
||||
/**
|
||||
* Set the menu.
|
||||
*
|
||||
* @param array $products
|
||||
* @param int $productID
|
||||
* @param int $branch
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function setMenu($products, $productID, $branch = 0)
|
||||
{
|
||||
$this->loadModel('product');
|
||||
foreach($this->lang->testtask->menu as $key => $value)
|
||||
{
|
||||
if($this->lang->navGroup->testtask != 'qa') $this->loadModel('qa')->setSubMenu('automation', $key, $productID);
|
||||
common::setMenuVars($this->lang->testtask->menu, $key, $productID);
|
||||
}
|
||||
|
||||
if($this->lang->navGroup->automation == 'qa')
|
||||
{
|
||||
foreach($this->lang->qa->subMenu->automation as $key => $menu)
|
||||
{
|
||||
common::setMenuVars($this->lang->qa->subMenu->automation, $key, $productID);
|
||||
}
|
||||
$this->lang->qa->menu = $this->lang->automation->menu;
|
||||
$this->lang->automation->menu = $this->lang->qa->subMenu->automation;
|
||||
$this->lang->qa->switcherMenu = $this->product->getSwitcher($productID, '', $branch);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* The view file of automation module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package automation
|
||||
* @version $Id: view.html.php 2568 2012-02-09 06:56:35Z shiyangyangwork@yahoo.cn $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<ul class="nav nav-tabs nav-stacked">
|
||||
<li class="active"><a href="###" data-target="#tab3Content1" data-toggle="tab"><?php echo $lang->automation->description;?></a></li>
|
||||
<li><a href="###" data-target="#tab3Content2" data-toggle="tab"><?php echo $lang->automation->ztf;?></a></li>
|
||||
<li><a href="###" data-target="#tab3Content3" data-toggle="tab"><?php echo $lang->automation->zendata;?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-xs-9">
|
||||
<div class="tab-content col-xs-9">
|
||||
<div class="tab-pane fade active in" id="tab3Content1">
|
||||
<p>我是标签1。</p>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab3Content2">
|
||||
<p>标签2的内容。</p>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab3Content3">
|
||||
<p>这是标签3的内容。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
@@ -106,11 +106,15 @@ $lang->qa->menuOrder[30] = 'report';
|
||||
$lang->qa->menuOrder[35] = 'testsuite';
|
||||
$lang->qa->menuOrder[40] = 'caselib';
|
||||
$lang->bug->menuOrder = $lang->qa->menuOrder;
|
||||
$lang->testcase->menuOrder = $lang->bug->menuOrder;
|
||||
$lang->testtask->menuOrder = $lang->testcase->menuOrder;
|
||||
$lang->testsuite->menuOrder = $lang->testcase->menuOrder;
|
||||
$lang->caselib->menuOrder = $lang->testcase->menuOrder;
|
||||
$lang->testreport->menuOrder = $lang->testcase->menuOrder;
|
||||
$lang->testtask->menuOrder = $lang->qa->menuOrder;
|
||||
$lang->testreport->menuOrder = $lang->qa->menuOrder;
|
||||
|
||||
$lang->testcase->menuOrder[5] = 'feature';
|
||||
$lang->testcase->menuOrder[10] = 'unit';
|
||||
$lang->testcase->menuOrder[15] = 'testsuite';
|
||||
$lang->testcase->menuOrder[20] = 'caselib';
|
||||
$lang->caselib->menuOrder = $lang->testcase->menuOrder;
|
||||
$lang->testsuite->menuOrder = $lang->testcase->menuOrder;
|
||||
|
||||
$lang->ci->menuOrder[5] = 'code';
|
||||
$lang->ci->menuOrder[10] = 'build';
|
||||
|
||||
@@ -349,7 +349,7 @@ $lang->execution->viewMenu->qa = array('link' => '测试|qa|index|');
|
||||
$lang->execution->viewMenu->ci = array('link' => '代码|repo|browse|');
|
||||
$lang->execution->viewMenu->doc = array('link' => '文档|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
|
||||
$lang->execution->viewMenu->build = array('link' => '版本|execution|build|executionID=%s', 'subModule' => 'build');
|
||||
$lang->execution->viewMenu->release = array('link' => '发布|projectrelease|browse|project={PROJECT}');
|
||||
$lang->execution->viewMenu->release = array('link' => '发布|projectrelease|browse|project=%s');
|
||||
$lang->execution->viewMenu->action = array('link' => '动态|execution|dynamic|executionID=%s');
|
||||
$lang->execution->viewMenu->setting = array('link' => '设置|execution|view|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
|
||||
|
||||
@@ -377,7 +377,7 @@ $lang->qa->menu = new stdclass();
|
||||
|
||||
$lang->qa->menu->index = array('link' => '仪表盘|qa|index');
|
||||
$lang->qa->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto');
|
||||
$lang->qa->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport,groupcase,importfromlib', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->qa->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'subModule' => 'testsuite,caselib', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->qa->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report,importunitresult', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->qa->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover');
|
||||
|
||||
@@ -394,10 +394,10 @@ $lang->qa->subMenu->testtask->report = array('link' => '报告|testreport|brow
|
||||
|
||||
$lang->qa->subMenu->automation = new stdclass();
|
||||
$lang->qa->subMenu->automation->browse = array('link' => '介绍|automation|browse|productID=%s', 'alias' => '');
|
||||
$lang->qa->subMenu->automation->framework = array('link' => '框架|automation|framework|productID=%s', 'alias' => '');
|
||||
$lang->qa->subMenu->automation->data = array('link' => '数据|automation|date|productID=%s', 'alias' => '');
|
||||
$lang->qa->subMenu->automation->interface = array('link' => '接口|automation|interface|productID=%s', 'alias' => '');
|
||||
$lang->qa->subMenu->automation->environment = array('link' => '环境|automation|environment|productID=%s', 'alias' => '');
|
||||
//$lang->qa->subMenu->automation->framework = array('link' => '框架|automation|framework|productID=%s', 'alias' => '');
|
||||
//$lang->qa->subMenu->automation->data = array('link' => '数据|automation|date|productID=%s', 'alias' => '');
|
||||
//$lang->qa->subMenu->automation->interface = array('link' => '接口|automation|interface|productID=%s', 'alias' => '');
|
||||
//$lang->qa->subMenu->automation->environment = array('link' => '环境|automation|environment|productID=%s', 'alias' => '');
|
||||
|
||||
$lang->bug = new stdclass();
|
||||
$lang->bug->menu = new stdclass();
|
||||
@@ -454,6 +454,15 @@ $lang->caselib->menu->testcase = array('link' => '用例|testcase|browse|produ
|
||||
$lang->caselib->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->caselib->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover');
|
||||
|
||||
$lang->automation = new stdclass();
|
||||
$lang->automation->menu = new stdclass();
|
||||
$lang->automation->subMenu = $lang->qa->subMenu;
|
||||
$lang->automation->menu->index = array('link' => '仪表盘|qa|index');
|
||||
$lang->automation->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->automation->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->automation->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'subModule' => 'testreport', 'class' => 'dropdown dropdown-hover');
|
||||
$lang->automation->menu->automation = array('link' => '自动化|automation|browse|productID=%s', 'alias' => '', 'class' => 'dropdown dropdown-hover');
|
||||
|
||||
$lang->ci = new stdclass();
|
||||
$lang->ci->menu = new stdclass();
|
||||
$lang->ci->menu->code = array('link' => '代码|repo|browse|repoID=%s', 'alias' => 'diff,view,revision,log,blame,showsynccomment');
|
||||
@@ -583,11 +592,7 @@ $lang->menugroup->upgrade = 'admin';
|
||||
$lang->menugroup->user = 'company';
|
||||
$lang->menugroup->group = 'company';
|
||||
$lang->menugroup->bug = 'qa';
|
||||
$lang->menugroup->testcase = 'qa';
|
||||
$lang->menugroup->case = 'qa';
|
||||
$lang->menugroup->testtask = 'qa';
|
||||
$lang->menugroup->testsuite = 'qa';
|
||||
$lang->menugroup->caselib = 'qa';
|
||||
$lang->menugroup->testreport = 'qa';
|
||||
$lang->menugroup->people = 'admin';
|
||||
$lang->menugroup->dept = 'company';
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . ' Bibliothek';
|
||||
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' Bibliothek';
|
||||
$lang->doc->libTypeList['custom'] = 'Eigene Bibliothek';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['execution'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
|
||||
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' Library';
|
||||
$lang->doc->libTypeList['custom'] = 'Custom Library';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['execution'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
|
||||
$lang->doc->libTypeList['execution'] = 'Bibliothèque ' . $lang->executionCommon;
|
||||
$lang->doc->libTypeList['custom'] = 'Bib. Personnalisée';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['execution'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . ' thư viện';
|
||||
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' thư viện';
|
||||
$lang->doc->libTypeList['custom'] = 'Tùy biến thư viện';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['execution'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . '文档库';
|
||||
$lang->doc->libTypeList['execution'] = $lang->executionCommon . '文档库';
|
||||
$lang->doc->libTypeList['custom'] = '自定义文档库';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['execution'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ $lang->doc->libTypeList['product'] = $lang->productCommon . '文檔庫';
|
||||
$lang->doc->libTypeList['project'] = $lang->executionCommon . '文檔庫';
|
||||
$lang->doc->libTypeList['custom'] = '自定義文檔庫';
|
||||
|
||||
$lang->doc->libIconList['product'] = 'icon-cube';
|
||||
$lang->doc->libIconList['product'] = 'icon-product';
|
||||
$lang->doc->libIconList['project'] = 'icon-stack';
|
||||
$lang->doc->libIconList['custom'] = 'icon-folder-o';
|
||||
|
||||
|
||||
@@ -24,4 +24,4 @@
|
||||
.is-firefox .group-header:before {content: ' '; position: absolute; top: 0; right: 0; left: 0; bottom: 0; background: #fff; z-index: 0;}
|
||||
.is-firefox .group-header > a,
|
||||
.is-firefox .group-header > .groupSummary {position: relative; z-index: 1;}
|
||||
.c-hours {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
|
||||
.c-hours {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right;}
|
||||
|
||||
@@ -412,7 +412,7 @@ class executionModel extends model
|
||||
$member = new stdclass();
|
||||
$member->root = $executionID;
|
||||
$member->account = $this->app->user->account;
|
||||
$member->role = $this->lang->user->roleList[$this->app->user->role];
|
||||
$member->role = zget($this->lang->user->roleList, $this->app->user->role, '');
|
||||
$member->join = $today;
|
||||
$member->type = $sprintType;
|
||||
$member->days = $sprint->days;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
.table td.has-child > .plan-toggle > .icon:before {text-align: left;}
|
||||
.table td.has-child > .plan-toggle.collapsed > .icon {-ms-transform:rotate(90deg); -moz-transform:rotate(90deg); -o-transform:rotate(90deg); -webkit-transform:rotate(90deg); transform: rotate(90deg);}
|
||||
.main-table tbody > tr.table-children > td:first-child::before {width: 3px;}
|
||||
.hours {text-align: right;}
|
||||
@-moz-document url-prefix() {.main-table tbody > tr.table-children > td:first-child::before {width: 4px;}}
|
||||
</style>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
@@ -75,9 +76,9 @@
|
||||
<th class='thWidth'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->execution->PM);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->execution->end);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->execution->status);?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalEstimate;?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalConsumed;?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalLeft;?></th>
|
||||
<th class='w-70px hours'><?php echo $lang->execution->totalEstimate;?></th>
|
||||
<th class='w-70px hours'><?php echo $lang->execution->totalConsumed;?></th>
|
||||
<th class='w-70px hours'><?php echo $lang->execution->totalLeft;?></th>
|
||||
<th class='w-150px'><?php echo $lang->execution->progress;?></th>
|
||||
<th class='w-100px'><?php echo $lang->execution->burn;?></th>
|
||||
<?php if($canOrder):?>
|
||||
@@ -113,9 +114,9 @@
|
||||
<td class='c-status' title='<?php echo $executionStatus;?>'>
|
||||
<span class="status-execution status-<?php echo $execution->status?>"><?php echo $executionStatus;?></span>
|
||||
</td>
|
||||
<td><?php echo $execution->hours->totalEstimate . ' ' . $config->hourUnit;?></td>
|
||||
<td><?php echo $execution->hours->totalConsumed . ' ' . $config->hourUnit;?></td>
|
||||
<td><?php echo $execution->hours->totalLeft . ' ' . $config->hourUnit;?></td>
|
||||
<td class='hours'><?php echo $execution->hours->totalEstimate . ' ' . $config->hourUnit;?></td>
|
||||
<td class='hours'><?php echo $execution->hours->totalConsumed . ' ' . $config->hourUnit;?></td>
|
||||
<td class='hours'><?php echo $execution->hours->totalLeft . ' ' . $config->hourUnit;?></td>
|
||||
<td class="c-progress">
|
||||
<div class="progress progress-text-left">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="<?php echo $execution->hours->progress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $execution->hours->progress;?>%">
|
||||
@@ -157,9 +158,9 @@
|
||||
<td class='c-status' title='<?php echo $executionStatus;?>'>
|
||||
<span class="status-execution status-<?php echo $child->status?>"><?php echo $executionStatus;?></span>
|
||||
</td>
|
||||
<td><?php echo $child->hours->totalEstimate;?></td>
|
||||
<td><?php echo $child->hours->totalConsumed;?></td>
|
||||
<td><?php echo $child->hours->totalLeft;?></td>
|
||||
<td class='hours'><?php echo $child->hours->totalEstimate;?></td>
|
||||
<td class='hours'><?php echo $child->hours->totalConsumed;?></td>
|
||||
<td class='hours'><?php echo $child->hours->totalLeft;?></td>
|
||||
<td class="c-progress">
|
||||
<div class="progress progress-text-left">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="<?php echo $child->hours->progress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $child->hours->progress;?>%">
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<table class="table table-grouped text-center">
|
||||
<table class="table table-grouped">
|
||||
<thead>
|
||||
<tr class="<?php if($allCount) echo 'divider';?>">
|
||||
<th class="c-side text-left has-btn group-menu">
|
||||
@@ -117,9 +117,9 @@
|
||||
<th class="c-status"><?php echo $lang->task->status;?></th>
|
||||
<th class="text-left w-60px"><?php echo $lang->task->assignedTo;?></th>
|
||||
<th class="w-90px"><?php echo $lang->task->finishedBy;?></th>
|
||||
<th class="w-60px text-right"><?php echo $lang->task->estimateAB;?></th>
|
||||
<th class="w-50px"><?php echo $lang->task->consumedAB;?></th>
|
||||
<th class="w-50px"><?php echo $lang->task->leftAB;?></th>
|
||||
<th class="w-60px c-hours"><?php echo $lang->task->estimateAB;?></th>
|
||||
<th class="w-50px c-hours"><?php echo $lang->task->consumedAB;?></th>
|
||||
<th class="w-50px c-hours"><?php echo $lang->task->leftAB;?></th>
|
||||
<th class="w-50px" title='<?php echo $lang->task->progress;?>'><?php echo $lang->task->progressAB;?></th>
|
||||
<th class="c-type"><?php echo $lang->typeAB;?></th>
|
||||
<th class="c-date"><?php echo $lang->task->deadlineAB;?></th>
|
||||
@@ -202,7 +202,7 @@
|
||||
<td class="c-status"><span class='status-task status-<?php echo $task->status;?>'> <?php echo $this->processStatus('task', $task);?></span></td>
|
||||
<td class="c-assign text-left"><?php echo "<span class='$assignedToClass'>" . $task->assignedToRealName . "</span>";?></td>
|
||||
<td class='c-user'><?php echo zget($users, $task->finishedBy);?></td>
|
||||
<td class="c-hours em text-right" title="<?php echo $task->estimate . ' ' . $lang->execution->workHour;?>"><?php echo $task->estimate . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->estimate . ' ' . $lang->execution->workHour;?>"><?php echo $task->estimate . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->consumed . ' ' . $lang->execution->workHour;?>"><?php echo $task->consumed . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->left . ' ' . $lang->execution->workHour;?>"><?php echo $task->left . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-num em"><?php echo $task->progress . '%';?></td>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
echo html::a($storyLink, $story->title);
|
||||
?>
|
||||
</td>
|
||||
<td title='<?php echo $story->planTitle;?>'><?php echo $story->planTitle;?></td>
|
||||
<td class='text-ellipsis' title='<?php echo $story->planTitle;?>'><?php echo $story->planTitle;?></td>
|
||||
<td><?php echo zget($lang->story->stageList, $story->stage);?></td>
|
||||
<?php if($productType != 'normal'):?>
|
||||
<td><?php if(isset($branchGroups[$story->product][$story->branch])) echo $branchGroups[$story->product][$story->branch];?></td>
|
||||
|
||||
@@ -72,11 +72,11 @@ class product extends control
|
||||
* @param string $status
|
||||
* @param int $productID
|
||||
* @param int $branch
|
||||
* @param int $projectMine
|
||||
* @param int $involved
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function project($status = 'all', $productID = 0, $branch = 0, $projectMine = 0)
|
||||
public function project($status = 'all', $productID = 0, $branch = 0, $involved = 0)
|
||||
{
|
||||
$this->product->setMenu($this->products, $productID, $branch);
|
||||
$this->lang->product->switcherMenu = $this->product->getSwitcher($productID);
|
||||
@@ -88,7 +88,7 @@ class product extends control
|
||||
|
||||
/* Get PM id list. */
|
||||
$accounts = array();
|
||||
$projectStats = $this->product->getProjectStatsByProduct($productID, $status, $branch, $projectMine);
|
||||
$projectStats = $this->product->getProjectStatsByProduct($productID, $status, $branch, $involved);
|
||||
foreach($projectStats as $project)
|
||||
{
|
||||
if(!empty($project->PM) and !in_array($project->PM, $accounts)) $accounts[] = $project->PM;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
$(function()
|
||||
{
|
||||
$('#mainMenu input[name^="PRJMine"]').click(function()
|
||||
$('#mainMenu input[name^="involved"]').click(function()
|
||||
{
|
||||
var PRJMine = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('PRJMine', PRJMine, {expires:config.cookieLife, path:config.webRoot});
|
||||
var involved = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('involved', involved, {expires:config.cookieLife, path:config.webRoot});
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -875,11 +875,11 @@ class productModel extends model
|
||||
* @param int $productID
|
||||
* @param string $browseType
|
||||
* @param int $branch
|
||||
* @param int $projectMine
|
||||
* @param int $involved
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getProjectListByProduct($productID, $browseType = 'all', $branch = 0, $projectMine = 0)
|
||||
public function getProjectListByProduct($productID, $browseType = 'all', $branch = 0, $involved = 0)
|
||||
{
|
||||
$projectList = $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
@@ -887,7 +887,7 @@ class productModel extends model
|
||||
->andWhere('t2.type')->eq('project')
|
||||
->beginIF($browseType != 'all')->andWhere('t2.status')->eq($browseType)->fi()
|
||||
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi()
|
||||
->beginIF($this->cookie->projectMine or $projectMine)
|
||||
->beginIF($this->cookie->involved or $involved)
|
||||
->andWhere('t2.openedBy', true)->eq($this->app->user->account)
|
||||
->orWhere('t2.PM')->eq($this->app->user->account)
|
||||
->markRight(1)
|
||||
@@ -910,13 +910,13 @@ class productModel extends model
|
||||
* @param int $productID
|
||||
* @param string $browseType
|
||||
* @param int $branch
|
||||
* @param int $projectMine
|
||||
* @param int $involved
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getProjectStatsByProduct($productID, $browseType = 'all', $branch = 0, $projectMine = 0)
|
||||
public function getProjectStatsByProduct($productID, $browseType = 'all', $branch = 0, $involved = 0)
|
||||
{
|
||||
$projects = $this->getProjectListByProduct($productID, $browseType, $branch, $projectMine);
|
||||
$projects = $this->getProjectListByProduct($productID, $browseType, $branch, $involved);
|
||||
if(empty($projects)) return array();
|
||||
|
||||
$projectKeys = array_keys($projects);
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
foreach($userIdPairs as $userID => $name)
|
||||
{
|
||||
if(!$userID) continue;
|
||||
$searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $userID, '') . '"') : '';
|
||||
$searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $name, '') . '"') : '';
|
||||
echo html::a($this->createLink('product', 'dynamic', "productID=$productID&type=account¶m=$userID"), $name, '', $searchKey);
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<?php foreach($lang->execution->featureBar['all'] as $key => $label):?>
|
||||
<?php echo html::a(inlink("project", "status=$key&productID=$productID"), "<span class='text'>{$label}</span>" . ($status == $key ? " <span class='label label-light label-badge'>" . count($projectStats) . "</span>" : ''), '', "class='btn btn-link" . ($status == $key ? ' btn-active-text' : '') . "' id='{$key}Tab'");?>
|
||||
<?php endforeach;?>
|
||||
<?php echo html::checkbox('projectMine', array('1' => $lang->project->mine), '', $this->cookie->projectMine ? 'checked=checked' : '');?>
|
||||
<?php echo html::checkbox('involved', array('1' => $lang->project->mine), '', $this->cookie->involved ? 'checked=checked' : '');?>
|
||||
<div class="tip"><icon class='icon icon-help' data-toggle='popover' data-trigger='focus hover' data-placement='right' data-tip-class='text-muted popover-sm' data-content=<?php echo $lang->product->projectInfo;?>></icon></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -662,7 +662,7 @@ class program extends control
|
||||
foreach($projects as $id => $name)
|
||||
{
|
||||
$active = $data->cpoyProjectID == $id ? 'active' : '';
|
||||
$html .= "<div class='col-md-4 col-sm-6'><a href='javascript:;' data-id=$id class='nobr $active'>" . html::icon($this->lang->icons['project'], 'text-muted') . $name . "</a></div>";
|
||||
$html .= "<div class='col-md-4 col-sm-6'><a href='javascript:;' data-id=$id class='nobr $active'>" . html::icon($this->lang->icons['project'], 'text-muted') . $name . "</a></div>";
|
||||
}
|
||||
echo $html;
|
||||
}
|
||||
@@ -691,7 +691,7 @@ class program extends control
|
||||
{
|
||||
$programs = $this->post->programs;
|
||||
foreach($programs as $id => $order)
|
||||
{
|
||||
{
|
||||
$this->dao->update(TABLE_PROJECT)
|
||||
->set('`order`')->eq($order)
|
||||
->where('id')->eq($id)
|
||||
|
||||
@@ -128,11 +128,11 @@ class programModel extends model
|
||||
* @param string $orderBy
|
||||
* @param object $pager
|
||||
* @param int $programTitle
|
||||
* @param int $projectMine
|
||||
* @param int $involved
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getProjectList($programID = 0, $browseType = 'all', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $projectMine = 0)
|
||||
public function getProjectList($programID = 0, $browseType = 'all', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $involved = 0)
|
||||
{
|
||||
$path = '';
|
||||
if($programID)
|
||||
@@ -148,7 +148,7 @@ class programModel extends model
|
||||
->beginIF($path)->andWhere('path')->like($path . '%')->fi()
|
||||
->beginIF(!$this->app->user->admin and $this->config->systemMode == 'new')->andWhere('id')->in($this->app->user->view->projects)->fi()
|
||||
->beginIF(!$this->app->user->admin and $this->config->systemMode == 'classic')->andWhere('id')->in($this->app->user->view->sprints)->fi()
|
||||
->beginIF($this->cookie->projectMine or $projectMine)
|
||||
->beginIF($this->cookie->involved or $involved)
|
||||
->andWhere('openedBy', true)->eq($this->app->user->account)
|
||||
->orWhere('PM')->eq($this->app->user->account)
|
||||
->markRight(1)
|
||||
@@ -777,14 +777,14 @@ class programModel extends model
|
||||
* @param string $orderBy
|
||||
* @param object $pager
|
||||
* @param string $programTitle
|
||||
* @param int $projectMine
|
||||
* @param int $involved
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getProjectStats($programID = 0, $browseType = 'undone', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $projectMine = 0)
|
||||
public function getProjectStats($programID = 0, $browseType = 'undone', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $involved = 0)
|
||||
{
|
||||
/* Init vars. */
|
||||
$projects = $this->getProjectList($programID, $browseType, $queryID, $orderBy, $pager, $programTitle, $projectMine);
|
||||
$projects = $this->getProjectList($programID, $browseType, $queryID, $orderBy, $pager, $programTitle, $involved);
|
||||
if(empty($projects)) return array();
|
||||
|
||||
$projectKeys = array_keys($projects);
|
||||
|
||||
@@ -26,7 +26,7 @@ js::set('browseType', $browseType);
|
||||
<?php if($browseType == $key) $label .= " <span class='label label-light label-badge'>{$pager->recTotal}</span>";?>
|
||||
<?php echo html::a(inlink('project', "programID=$programID&browseType=$key"), $label, '', "class='btn btn-link $active'");?>
|
||||
<?php endforeach;?>
|
||||
<?php echo html::checkbox('involved ', array('1' => $lang->project->mine), '', $this->cookie->PRJMine ? 'checked=checked' : '');?>
|
||||
<?php echo html::checkbox('involved ', array('1' => $lang->project->mine), '', $this->cookie->involved ? 'checked=checked' : '');?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php if(isset($this->config->maxVersion)):?>
|
||||
@@ -98,10 +98,10 @@ js::set('browseType', $browseType);
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('#PRJMine1').click(function()
|
||||
$('input[name^="involved"]').click(function()
|
||||
{
|
||||
var PRJMine = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('PRJMine', PRJMine, {expires:config.cookieLife, path:config.webRoot});
|
||||
var involved = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('involved', involved, {expires:config.cookieLife, path:config.webRoot});
|
||||
window.location.reload();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
$(function()
|
||||
{
|
||||
$('#projectMine').click(function()
|
||||
$('input[name^="involved"]').click(function()
|
||||
{
|
||||
var mine = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('projectMine', mine, {expires:config.cookieLife, path:config.webRoot});
|
||||
var involved = $(this).is(':checked') ? 1 : 0;
|
||||
$.cookie('involved', involved, {expires:config.cookieLife, path:config.webRoot});
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -92,6 +92,7 @@ $lang->project->teamCount = 'Team';
|
||||
$lang->project->longTime = 'Long-Term Project';
|
||||
$lang->project->future = 'TBD';
|
||||
$lang->project->moreProject = 'More Project';
|
||||
$lang->project->days = 'Manntage';
|
||||
|
||||
$lang->project->productNotEmpty = 'Please link products or create products.';
|
||||
$lang->project->existProductName = 'Product name already exists.';
|
||||
|
||||
@@ -92,6 +92,7 @@ $lang->project->teamCount = 'Team';
|
||||
$lang->project->longTime = 'Long-Term Project';
|
||||
$lang->project->future = 'TBD';
|
||||
$lang->project->moreProject = 'More Project';
|
||||
$lang->project->days = 'Available Days';
|
||||
|
||||
$lang->project->productNotEmpty = 'Please link products or create products.';
|
||||
$lang->project->existProductName = 'Product name already exists.';
|
||||
|
||||
@@ -92,6 +92,7 @@ $lang->project->teamCount = 'Team';
|
||||
$lang->project->longTime = 'Long-Term Project';
|
||||
$lang->project->future = 'TBD';
|
||||
$lang->project->moreProject = 'More Project';
|
||||
$lang->project->days = 'Available Days';
|
||||
|
||||
$lang->project->productNotEmpty = 'Please link products or create products.';
|
||||
$lang->project->existProductName = 'Product name already exists.';
|
||||
|
||||
@@ -92,6 +92,7 @@ $lang->project->teamCount = 'Team';
|
||||
$lang->project->longTime = 'Long-Term Project';
|
||||
$lang->project->future = 'TBD';
|
||||
$lang->project->moreProject = 'More Project';
|
||||
$lang->project->days = 'Available Days';
|
||||
|
||||
$lang->project->productNotEmpty = 'Please link products or create products.';
|
||||
$lang->project->existProductName = 'Product name already exists.';
|
||||
|
||||
@@ -93,6 +93,7 @@ $lang->project->teamCount = '项目成员';
|
||||
$lang->project->longTime = '长期';
|
||||
$lang->project->future = '待定';
|
||||
$lang->project->moreProject = '更多项目';
|
||||
$lang->project->days = '可用工作日';
|
||||
|
||||
$lang->project->productNotEmpty = '请关联产品或创建产品。';
|
||||
$lang->project->existProductName = '产品名称已存在。';
|
||||
|
||||
@@ -35,7 +35,7 @@ js::set('browseType', $browseType);
|
||||
<?php if($browseType == $key) $label .= " <span class='label label-light label-badge'>{$pager->recTotal}</span>";?>
|
||||
<?php echo html::a(inlink('browse', "programID=$programID&browseType=$key"), $label, '', "class='btn btn-link $active'");?>
|
||||
<?php endforeach;?>
|
||||
<?php echo html::checkbox('projectMine', array('1' => $lang->project->mine), '', $this->cookie->projectMine ? 'checked=checked' : '');?>
|
||||
<?php echo html::checkbox('involved', array('1' => $lang->project->mine), '', $this->cookie->involved ? 'checked=checked' : '');?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php if(isset($this->config->maxVersion)):?>
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
</tr>
|
||||
<?php if($project->model == 'scrum'):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->days;?></th>
|
||||
<th><?php echo $lang->project->days;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('days', $project->days, "class='form-control'");?>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?php
|
||||
$config->qa->menuList = array('caselib', 'testreport', 'testsuite', 'testtask', 'testcase', 'bug', 'qa');
|
||||
$config->qa->menuList = array('caselib', 'testreport', 'testsuite', 'testtask', 'testcase', 'bug', 'qa', 'automation');
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
<th class='w-40px'> <?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->story->title;?></th>
|
||||
<th class='w-100px'><?php echo $lang->story->assignedTo;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->story->estimate;?></th>
|
||||
<th class='w-90px'> <?php echo $lang->story->estimate;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->story->status;?></th>
|
||||
<th class='w-200px'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
|
||||
@@ -43,7 +43,6 @@ class testtask extends control
|
||||
{
|
||||
$this->app->loadConfig('qa');
|
||||
foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa';
|
||||
//$this->lang->noMenuModule[] = $this->app->rawModule;
|
||||
}
|
||||
|
||||
$this->loadModel('product');
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
td.delayed {color: #fff; background: #e84e0f !important;}
|
||||
.hours {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
|
||||
.hours {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right;}
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
<?php $vars = "userID={$user->id}&storyType=$storyType&type=$type&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='w-200px'> <?php common::printOrderLink('product', $orderBy, $vars, $lang->story->product);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='w-150px'> <?php common::printOrderLink('plan', $orderBy, $vars, $lang->story->plan);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-80px'> <?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='w-200px'><?php common::printOrderLink('product', $orderBy, $vars, $lang->story->product);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('plan', $orderBy, $vars, $lang->story->plan);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-80px text-right'><?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-status'><?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
</tr>
|
||||
@@ -59,7 +59,7 @@
|
||||
<td class='text-left nobr'><?php echo html::a($storyLink, $story->title);?></td>
|
||||
<td title='<?php echo $story->planTitle;?>'><?php echo $story->planTitle;?></td>
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo $story->estimate . ' ' . $config->hourUnit;?></td>
|
||||
<td class='text-right' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . ' ' . $config->hourUnit;?></td>
|
||||
<td class='story-<?php echo $story->status;?>'><?php echo $this->processStatus('story', $story);?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
|
||||
@@ -41,15 +41,15 @@
|
||||
<?php $vars = "userID={$user->id}&type=$type&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'><?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-pri'><?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th><?php common::printOrderLink('execution', $orderBy, $vars, $lang->task->execution);?></th>
|
||||
<th><?php common::printOrderLink('name', $orderBy, $vars, $lang->task->name);?></th>
|
||||
<th class='w-70px'><?php common::printOrderLink('estimate', $orderBy, $vars, $lang->task->estimateAB);?></th>
|
||||
<th class='w-70px'><?php common::printOrderLink('consumed', $orderBy, $vars, $lang->task->consumedAB);?></th>
|
||||
<th class='w-hour'><?php common::printOrderLink('left', $orderBy, $vars, $lang->task->leftAB);?></th>
|
||||
<th class='w-date'><?php common::printOrderLink('deadline', $orderBy, $vars, $lang->task->deadlineAB);?></th>
|
||||
<th class='w-70px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-70px hours'><?php echo $lang->task->estimateAB;?></th>
|
||||
<th class='w-70px hours'><?php echo $lang->task->consumedAB;?></th>
|
||||
<th class='w-hour hours'><?php echo $lang->task->leftAB;?></th>
|
||||
<th class='w-date'><?php echo $lang->task->deadlineAB;?></th>
|
||||
<th class='w-70px'><?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
Reference in New Issue
Block a user