int RDLog::removeTracks(RDStation *station,RDUser *user,RDConfig *config) const { QString sql; RDSqlQuery *q; int count=0; RDCart *cart; QString owner=log_name; owner.replace(" ","_"); sql=QString().sprintf("select NUMBER from CART where OWNER=\"%s\"", (const char *)owner); q=new RDSqlQuery(sql); while(q->next()) { cart=new RDCart(q->value(0).toUInt()); if(!cart->remove(station,user,config)) { delete cart; return -1; } delete cart; count++; } delete q; return count; }
void Xport::RemoveCart() { RDCart *cart; int cart_number; // // Verify Post // if(!xport_post->getValue("CART_NUMBER",&cart_number)) { XmlExit("Missing CART_NUMBER",400); } // // Verify User Perms // if(!rda->user()->cartAuthorized(cart_number)) { XmlExit("No such cart",404); } if(!rda->user()->deleteCarts()) { XmlExit("Unauthorized",401); } // // Process Request // cart=new RDCart(cart_number); if(!cart->exists()) { delete cart; XmlExit("No such cart",404); } if(!cart->remove(true)) { delete cart; XmlExit("Unable to delete cart",500); } delete cart; XmlExit("OK",200); }
void ListGroups::deleteData() { RDListViewItem *item=(RDListViewItem *)list_groups_view->selectedItem(); if(item==NULL) { return; } QString sql; RDSqlQuery *q; QString warning; int carts=0; QString str; QString groupname=item->text(0); if(groupname.isEmpty()) { return; } sql=QString().sprintf("select NUMBER from CART where GROUP_NAME=\"%s\"", (const char *)groupname); q=new RDSqlQuery(sql); if((carts=q->size())>0) { str=QString(tr("member carts will be deleted along with group")); warning=QString(). sprintf("%d %s %s!\n", carts,(const char *)str,(const char *)groupname); } str=QString(tr("Are you sure you want to delete group")); warning+=QString().sprintf("%s %s?",(const char *)str, (const char *)groupname); switch(QMessageBox::warning(this,tr("Delete Group"),warning, QMessageBox::Yes,QMessageBox::No)) { case QMessageBox::No: case QMessageBox::NoButton: delete q; return; default: break; } // // Delete Member Carts // RDCart *cart; while(q->next()) { cart=new RDCart(q->value(0).toUInt()); cart->remove(admin_station,admin_user,admin_config); delete cart; } delete q; // // Delete Member Audio Perms // sql=QString().sprintf("delete from AUDIO_PERMS where GROUP_NAME=\"%s\"", (const char *)RDEscapeString(groupname)); q=new RDSqlQuery(sql); delete q; // // Delete Member User Perms // sql=QString().sprintf("delete from USER_PERMS where GROUP_NAME=\"%s\"", (const char *)RDEscapeString(groupname)); q=new RDSqlQuery(sql); delete q; // // Delete Replicator Map Records // sql=QString().sprintf("delete from REPLICATOR_MAP where GROUP_NAME=\"%s\"", (const char *)RDEscapeString(groupname)); q=new RDSqlQuery(sql); delete q; // // Delete from Group List // sql=QString().sprintf("delete from GROUPS where NAME=\"%s\"", (const char *)RDEscapeString(groupname)); q=new RDSqlQuery(sql); delete q; item->setSelected(false); delete item; }