slighly clean up pedning listrole
This commit is contained in:
parent
b15ed51c8d
commit
e5e6ffe5a8
75
admin_user.h
75
admin_user.h
@ -537,7 +537,6 @@ struct Map* sortTrans(void * ddb,int choice){
|
|||||||
|
|
||||||
//user control
|
//user control
|
||||||
struct user add_user(struct user db);
|
struct user add_user(struct user db);
|
||||||
struct user list_user(struct user db);
|
|
||||||
void * showUser(void * ddb,int index);
|
void * showUser(void * ddb,int index);
|
||||||
struct Map* SortUser(void * ddb,int choice);
|
struct Map* SortUser(void * ddb,int choice);
|
||||||
void print_user(void * ddb, int cur, int end,struct Map* map);
|
void print_user(void * ddb, int cur, int end,struct Map* map);
|
||||||
@ -565,7 +564,6 @@ void user_control(){
|
|||||||
};
|
};
|
||||||
lister(&db,NULL,db.db.row_count,"User",SortItems,3,print_user,SortUser,showUser);
|
lister(&db,NULL,db.db.row_count,"User",SortItems,3,print_user,SortUser,showUser);
|
||||||
db = read_db_user();
|
db = read_db_user();
|
||||||
db = list_user(db);
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
break;
|
break;
|
||||||
@ -640,79 +638,6 @@ struct user delete_user(struct user db,int index){
|
|||||||
return read_db_user();
|
return read_db_user();
|
||||||
}
|
}
|
||||||
struct Map* sortUser(struct user db,int choice);
|
struct Map* sortUser(struct user db,int choice);
|
||||||
struct user list_user(struct user db){
|
|
||||||
int choice = -1;
|
|
||||||
int page = 0;
|
|
||||||
int page_size = PAGE_SIZE;
|
|
||||||
int total_pages = ceil((double)db.db.row_count / page_size);
|
|
||||||
int row = db.db.row_count;
|
|
||||||
struct Map* map = NULL;
|
|
||||||
do{
|
|
||||||
Cls();
|
|
||||||
welcome_message();
|
|
||||||
printf("User list\n");
|
|
||||||
printf("0 exit\n");
|
|
||||||
printf("1 sort User decending\n");
|
|
||||||
printf("2 sort User ascending\n");
|
|
||||||
printf("3 sort Role decending\n");
|
|
||||||
printf("4 sort Role ascending\n");
|
|
||||||
printf("5 sort ID decending\n");
|
|
||||||
printf("6 sort ID ascending\n");
|
|
||||||
if(page+1==total_pages){
|
|
||||||
print_user(&db,page*page_size,db.db.row_count,map);
|
|
||||||
}else{
|
|
||||||
print_user(&db,page*page_size,(page+1)*page_size,map);
|
|
||||||
}
|
|
||||||
//page control
|
|
||||||
int current_page_size = page_size+8;
|
|
||||||
if(page+1 == total_pages){
|
|
||||||
current_page_size = row - page*page_size+6;
|
|
||||||
}
|
|
||||||
printf("%d next page\n",current_page_size+1);
|
|
||||||
printf("%d previous page\n",current_page_size+2);
|
|
||||||
printf("%d set page size\n",current_page_size+3);
|
|
||||||
bool valid;
|
|
||||||
do{
|
|
||||||
valid = true;
|
|
||||||
printf("Please input your choice\n>");
|
|
||||||
fflush_stdin();
|
|
||||||
scanf("%d",&choice);
|
|
||||||
if(choice <=6 && choice > 0){
|
|
||||||
printf("sorting...\n");
|
|
||||||
map = sortUser(db,choice);
|
|
||||||
}else if(choice == current_page_size+1 ){
|
|
||||||
if(page + 1 < total_pages){
|
|
||||||
page++;
|
|
||||||
}else{
|
|
||||||
printf("Already at last page\n");
|
|
||||||
valid = false;
|
|
||||||
}
|
|
||||||
}else if(choice == current_page_size+2){
|
|
||||||
if(page > 0){
|
|
||||||
page--;
|
|
||||||
}else{
|
|
||||||
printf("Already at first page\n");
|
|
||||||
valid = false;
|
|
||||||
}
|
|
||||||
}else if(choice == current_page_size+3){
|
|
||||||
printf("Enter page size: ");
|
|
||||||
fflush_stdin();
|
|
||||||
scanf("%d", &page_size);
|
|
||||||
total_pages = ceil((double)row / page_size);
|
|
||||||
}else if(choice >= 7 && choice <= current_page_size){
|
|
||||||
if(map == NULL){
|
|
||||||
db = *((struct user *)showUser(&db,choice - 7 + page_size*page));
|
|
||||||
}else{
|
|
||||||
db = *((struct user *)showUser(&db,map[choice - 7 + page_size*page].key));
|
|
||||||
}
|
|
||||||
}else if(choice != 0){
|
|
||||||
printf("Invalid choice\n");
|
|
||||||
valid = false;
|
|
||||||
}
|
|
||||||
}while(!valid);
|
|
||||||
}while(choice != 0);
|
|
||||||
return db;
|
|
||||||
}
|
|
||||||
|
|
||||||
void print_user(void * ddb, int cur, int end,struct Map* map){
|
void print_user(void * ddb, int cur, int end,struct Map* map){
|
||||||
struct user db = *((struct user*)ddb);
|
struct user db = *((struct user*)ddb);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user