Ticket # 303 修复了对离线申请记录操作的逻辑错误

This commit is contained in:
Li Jianxuan 2012-03-12 03:14:50 +00:00
parent e880df2546
commit 7665772a9a
2 changed files with 29 additions and 23 deletions

View File

@ -108,6 +108,7 @@ class AuthorController extends Zend_Controller_Action
if($ac == "offline") if($ac == "offline")
{ {
$pr = $this->_request->getParam('pr'); $pr = $this->_request->getParam('pr');
$oid = $this->_request->getParam('oid');
if(!empty($pr)) if(!empty($pr))
{ {
@ -116,20 +117,22 @@ class AuthorController extends Zend_Controller_Action
$this->_helper->viewRenderer->setNoRender(); $this->_helper->viewRenderer->setNoRender();
$uuid = $this->_request->getParam('uuid'); $uuid = $this->_request->getParam('uuid');
if(!preg_match("/^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/",$uuid)) if(!preg_match("/^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/",$uuid))
{ {
echo "参数有误!";exit(); echo "参数有误!";exit();
} }
//如果用户已经下载过了,就无法在更改对数据申请的意见
$sql = "select md.title,d.uuid,d.status as datastatus,d.authorpermitted from offlineapp o $sql = "select md.title,d.uuid,d.status as datastatus,d.authorpermitted from offlineapp o
left join dataorder d on o.id=d.offlineappid left join dataorder d on o.id=d.offlineappid
left join metadata md on md.uuid=d.uuid left join metadata md on md.uuid=d.uuid
left join mdauthor a on a.uuid=d.uuid left join mdauthor a on a.uuid=d.uuid
where o.ts_approved is null and o.pdflink is not null and d.uuid=? and a.userid=? where o.ts_approved is null and o.pdflink is not null and d.uuid=? and a.userid=? and d.offlineappid=?
order by o.ts_created desc"; order by o.ts_created desc";
$sth = $this->db->prepare($sql); $sth = $this->db->prepare($sql);
$sth->execute(array($uuid,$u_id)); $sth->execute(array($uuid,$u_id,$oid));
$row = $sth->fetch(); $row = $sth->fetch();
if($row['datastatus']>4) if($row['datastatus']>4)
@ -138,13 +141,14 @@ class AuthorController extends Zend_Controller_Action
exit(); exit();
} }
//同意用户下载
if($pr=="confrim") if($pr=="confrim")
{ {
$sql = "UPDATE dataorder SET authorpermitted=1 WHERE uuid=?"; $sql = "UPDATE dataorder SET authorpermitted=1 WHERE uuid=? AND offlineappid=?";
$sth = $this->db->prepare($sql); $sth = $this->db->prepare($sql);
if($sth->execute(array($uuid))) if($sth->execute(array($uuid,$oid)))
{ {
$btn = $this->createOfflineCtBtn($uuid,'c'); $btn = $this->createOfflineCtBtn($uuid,'c',$oid);
echo ''.$btn.'<script>alert("您已经同意用户的离线数据申请");</script>'; echo ''.$btn.'<script>alert("您已经同意用户的离线数据申请");</script>';
exit(); exit();
}else{ }else{
@ -152,13 +156,15 @@ class AuthorController extends Zend_Controller_Action
exit(); exit();
} }
} }
//反对用户下载
if($pr == "objection") if($pr == "objection")
{ {
$sql = "UPDATE dataorder SET authorpermitted=-1 WHERE uuid=?"; $sql = "UPDATE dataorder SET authorpermitted=-1 WHERE uuid=? AND offlineappid=?";
$sth = $this->db->prepare($sql); $sth = $this->db->prepare($sql);
if($sth->execute(array($uuid))) if($sth->execute(array($uuid,$oid)))
{ {
$btn = $this->createOfflineCtBtn($uuid,'o'); $btn = $this->createOfflineCtBtn($uuid,'o',$oid);
echo ''.$btn.'<script>alert("您已经反对用户的离线数据申请");</script>'; echo ''.$btn.'<script>alert("您已经反对用户的离线数据申请");</script>';
exit(); exit();
}else{ }else{
@ -190,11 +196,11 @@ class AuthorController extends Zend_Controller_Action
foreach ($rows as $k=>$v) foreach ($rows as $k=>$v)
{ {
if($v['authorpermitted']==0) if($v['authorpermitted']==0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'',$v['id']);}
if($v['authorpermitted']>0) if($v['authorpermitted']>0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c',$v['id']);}
if($v['authorpermitted']<0) if($v['authorpermitted']<0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o',$v['id']);}
} }
$paginator = Zend_Paginator::factory($rows); $paginator = Zend_Paginator::factory($rows);
@ -231,11 +237,11 @@ class AuthorController extends Zend_Controller_Action
foreach ($rows as $k=>$v) foreach ($rows as $k=>$v)
{ {
if($v['authorpermitted']==0) if($v['authorpermitted']==0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'',$v['id']);}
if($v['authorpermitted']>0) if($v['authorpermitted']>0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c',$v['id']);}
if($v['authorpermitted']<0) if($v['authorpermitted']<0)
{$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o');} {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o',$v['id']);}
} }
$paginator = Zend_Paginator::factory($rows); $paginator = Zend_Paginator::factory($rows);
@ -253,16 +259,16 @@ class AuthorController extends Zend_Controller_Action
* createOfflineCtBtn() 创建离线申请记录的操作按钮 * createOfflineCtBtn() 创建离线申请记录的操作按钮
* *
*/ */
function createOfflineCtBtn($uuid, $type=""){ function createOfflineCtBtn($uuid, $type="",$oid){
$urlHref = 'href="javascript:;"'; $urlHref = 'href="javascript:;"';
$baseStyle = "offline-ct-btns box-shadow"; $baseStyle = "offline-ct-btns box-shadow";
$selectedStyle = "offline-select"; $selectedStyle = "offline-select";
$confrimText = "同意"; $confrimText = "同意";
$confrimFunc = 'onclick="confrim(\''.$uuid.'\')"'; $confrimFunc = 'onclick="confrim(\''.$uuid.'\',\''.$oid.'\')"';
$objectionText = "反对"; $objectionText = "反对";
$objectionFunc = 'onclick="objection(\''.$uuid.'\')"'; $objectionFunc = 'onclick="objection(\''.$uuid.'\',\''.$oid.'\')"';
$btns=''; $btns='';
if(empty($type)) if(empty($type))

View File

@ -55,17 +55,17 @@ $this->breadcrumb()->setSeparator(' > ');
</div> </div>
<!-- //页面内容 --> <!-- //页面内容 -->
<script> <script>
function confrim(uuid){ function confrim(uuid,oid){
doPD(uuid,"confrim"); doPD(uuid,"confrim",oid);
} }
function objection(uuid){ function objection(uuid,oid){
doPD(uuid,"objection"); doPD(uuid,"objection",oid);
} }
function doPD(uuid,pr){ function doPD(uuid,pr,oid){
$.ajax({ $.ajax({
'type':"POST", 'type':"POST",
'url':'/author/inauthor/ac/offline', 'url':'/author/inauthor/ac/offline',
'data':'pr='+ pr +'&uuid='+uuid, 'data':'pr='+ pr +'&uuid='+uuid+'&oid='+oid,
'success':function(html){ 'success':function(html){
$('#ct_'+uuid).html(html);$('#data_'+uuid).html(''); $('#ct_'+uuid).html(html);$('#data_'+uuid).html('');
}, },