Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SA-2 student ui #124

Open
wants to merge 2 commits into
base: test
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ android {

lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
abortOnError false
}

defaultConfig {
Expand Down
74 changes: 74 additions & 0 deletions lib/Components/messtable.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import 'package:flutter/material.dart';

class MessTable extends StatelessWidget {
const MessTable({Key? key, required this.head, required this.body,this.child}) : super(key: key);
final List<List<String>> head;
final List<List<String>> body;
final Widget? child;
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [..._buildHeading(head),..._buildRows(body,child)]
),
);
}
}


List<Widget> _buildCells(List<String> val) {
return List.generate(
val.length,
(index) => Container(
alignment: Alignment.center,
width: 120.0,
height: 60.0,
color: Colors.white,
margin: EdgeInsets.all(4.0),
child: Text(val[index]),
),
);
}

List<Widget> _buildRows(List<List<String>> items,Widget? child) {

return List.generate(
items.length,
(index) => Row(
children: [..._buildCells(items[index]),
child??Container(),],
),
);
}

List<Widget> _buildHeading(List<List<String>> items) {
return List.generate(
items.length,
(index) => Row(
children: _buildCells(items[index]),
),
);
}

class RespondButton extends StatelessWidget {
const RespondButton({Key? key, required this.val, required this.color,required this.onclick}) : super(key: key);
final String val;
final Color color;
final void Function() onclick;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onclick,
child: Container(
alignment: Alignment.center,
width: 120.0,
height: 25.0,
color: color,
margin: EdgeInsets.all(4.0),
child: Text(val),
),
);
}
}
99 changes: 51 additions & 48 deletions lib/Components/side_drawer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class _SideDrawerState extends State<SideDrawer> {
depttype = service.profileData.profile!['department']!['name'] +
" " +
service.profileData.profile!['user_type'];
print(service.profileData.profile);
}

@override
Expand Down Expand Up @@ -105,50 +106,52 @@ class _SideDrawerState extends State<SideDrawer> {
),
_loading
? Card(
color: Colors.black,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// ModulesPadding(
// line: 'DashBoard', pageMover: '/dashboard'),
ModulesPadding(
line: 'Academics Module',
pageMover: '/academic_home_page',
isActive: true,
),
ModulesPadding(
line: 'Programme Curriculum',
pageMover: '/programme_curriculum_home',
isActive: true,
),
ModulesPadding(
line: 'Gymkhana Module',
pageMover: '/gymkhana_homepage'),
ModulesPadding(
line: 'Establishment Module',
pageMover: '/establishment'),
ModulesPadding(
line: 'Library Module',
pageMover: '/library_homepage'),
ModulesPadding(line: 'Awards & Scholarship Module'),
ModulesPadding(
line: 'Complaint Module', pageMover: '/complaint'),
ModulesPadding(line: 'Central Mess Module'),
ModulesPadding(line: 'Feeds Module'),
ModulesPadding(
line: 'Health Center Module',
pageMover: '/health_center',
),
ModulesPadding(line: 'Leave Module'),
ModulesPadding(line: 'Placement Module'),
ModulesPadding(line: 'Visitors Hostel Module'),
ModulesPadding(line: 'File Tracking Module'),
],
),
)
: SizedBox(
width: 2.0,
color: Colors.black,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// ModulesPadding(
// line: 'DashBoard', pageMover: '/dashboard'),
ModulesPadding(
line: 'Academics Module',
pageMover: '/academic_home_page',
isActive: true,
),
ModulesPadding(
line: 'Programme Curriculum',
pageMover: '/programme_curriculum_home',
isActive: true,
),
ModulesPadding(
line: 'Gymkhana Module',
pageMover: '/gymkhana_homepage'),
ModulesPadding(
line: 'Establishment Module',
pageMover: '/establishment'),
ModulesPadding(
line: 'Library Module',
pageMover: '/library_homepage'),
ModulesPadding(line: 'Awards & Scholarship Module'),
ModulesPadding(
line: 'Complaint Module', pageMover: '/complaint'),
ModulesPadding(line: 'Central Mess Module',
isActive : true,
pageMover: '/centralmess_home',),
ModulesPadding(line: 'Feeds Module'),
ModulesPadding(
line: 'Health Center Module',
pageMover: '/health_center',
),
ModulesPadding(line: 'Leave Module'),
ModulesPadding(line: 'Placement Module'),
ModulesPadding(line: 'Visitors Hostel Module'),
ModulesPadding(line: 'File Tracking Module'),
],
),
)
: SizedBox(
width: 2.0,
),
ModulesCard(
cardLine: 'Profile',
icon: Icons.account_circle,
Expand Down Expand Up @@ -192,11 +195,11 @@ class ModulesPadding extends StatelessWidget {
),
onPressed: isActive
? () async {
var _prefs = await StorageService.getInstance();
String token = _prefs!.userInDB?.token ?? "";
Navigator.pushReplacementNamed(context, pageMover!,
arguments: token);
}
var _prefs = await StorageService.getInstance();
String token = _prefs!.userInDB?.token ?? "";
Navigator.pushReplacementNamed(context, pageMover!,
arguments: token);
}
: () {},
);
}
Expand Down
7 changes: 5 additions & 2 deletions lib/api.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
//Server and local links
String klocalLink = "127.0.0.1:8000";
String kserverLink = "172.27.16.215:80";
String kserverLink = "172.27.16.214";

//Login Service
String kAuthUrl = "172.27.16.215:80";
String kAuthUrl = "172.27.16.214";
String kAuthLogin = "/api/auth/login/";

//Profile Service
Expand Down Expand Up @@ -39,3 +39,6 @@ String kAcademicProceduresEndTT =
String kAcademicProceduresHolidaysTT =
"/static/academic_procedures/List_of_Holidays.pdf";
String kAcademicProceduresTT = "/static/academic_procedures/";


String kMessMenu = "/mess/api/menuApi";
21 changes: 21 additions & 0 deletions lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:fusion/screens/Academic/Add_Drop_Courses/add_drop_courses.dart';
import 'package:fusion/screens/CentralMess/application_status.dart';
import 'package:fusion/screens/CentralMess/applications.dart';
import 'package:fusion/screens/CentralMess/centralmess_home.dart';
import 'package:fusion/screens/CentralMess/feedback.dart';
import 'package:fusion/screens/CentralMess/feedback_stats.dart';
import 'package:fusion/screens/CentralMess/menu.dart';
import 'package:fusion/screens/CentralMess/menuchangereq.dart';
import 'package:fusion/screens/CentralMess/registeration.dart';
import 'package:fusion/screens/CentralMess/respondmanager.dart';
import 'package:fusion/screens/CentralMess/respondmenuchange.dart';
import 'package:fusion/screens/Complaint/ComplaintHistory/complain_history.dart';
import 'package:fusion/screens/Complaint/Feedback/feedback.dart';
import 'package:fusion/screens/Complaint/LodgeComplaint/lodge_complaint.dart';
Expand Down Expand Up @@ -127,6 +137,17 @@ class MyApp extends StatelessWidget {
'/health_center/feedback': (context) => FeedBack(),
'/health_center/viewschedule': (context) => ViewSchedule(),
'/health_center/history': (context) => History(),
'/centralmess_home': (context) => CentralMessHome(ModalRoute.of(context)!.settings.arguments.toString()),
'/centralmess_home/menu': (context) => MessMenu(),
'/centralmess_home/registeration' : (context) => MessRegisteration(),
'/centralmess_home/feedback' : (context) => MessFeedback(),
'/centralmess_home/applications' : (context) => MessApplication(),
'/centralmess_home/menuchangereq': (context) => ReqMenuChange(),
'/centralmess_home/feedback_stats': (context) => FeedbackStats(),
'/centralmess_home/application_status' : (context) => Status(),
'centralmess_home/respondmanager' : (context) => RespondRequests(),
'centralmess_home/respondmenuchange' : (context) => ResMenuChange(),

},
),
);
Expand Down
96 changes: 96 additions & 0 deletions lib/models/mess.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
class MessItem{
int id;
String mealTime;
String dish;
String messOption;
MessItem({required this.id, required this.mealTime,required this.dish,required this.messOption});

factory MessItem.fromJson(Map<String,dynamic> x){
return MessItem(id:x['id'],mealTime:x['meal_time'],dish:x['dish'],messOption:x['mess_option']);
}
}

List<String> getdata(String x)
{
int len = x.length;
return [x.substring(0,len-1),x[len-1]];
}

void insertatindex(List<String> x, String time,String dish) {
if (time == 'B') {
x[0] = dish;
} else if (time == 'L') {
x[1] = dish;
} else {
x[2] = dish;
}
}

List<List<String>> processMessItems(List<MessItem> messitems){
List<String> M=['','',''];
List<String> T = ['','',''];
List<String> W = ['','',''];
List<String> TH = ['','',''];
List<String> F = ['','',''];
List<String> S = ['','',''];
List<String> SU = ['','',''];
Map<String,int> mp={};
for(var m in messitems)
{
var temp = getdata(m.mealTime);
String day=temp[0];
String time = temp[1];
if(!mp.containsKey(day))
{
mp[day]=1;
switch(day){
case 'M': insertatindex(M,time,m.dish);
break;
case 'T':insertatindex(T,time,m.dish);
break;

case 'W':insertatindex(W,time,m.dish);
break;

case 'TH':insertatindex(TH,time,m.dish);
break;

case 'F':insertatindex(F,time,m.dish);
break;

case 'S':insertatindex(S,time,m.dish);
break;

case 'SU':insertatindex(SU,time,m.dish);
break;
}
}
else if(mp[day]!<=3)
{
mp[day]= mp[day]!+1;
switch(day){
case 'M': insertatindex(M,time,m.dish);
break;
case 'T':insertatindex(T,time,m.dish);
break;

case 'W':insertatindex(W,time,m.dish);
break;

case 'TH':insertatindex(TH,time,m.dish);
break;

case 'F':insertatindex(F,time,m.dish);
break;

case 'S':insertatindex(S,time,m.dish);
break;

case 'SU':insertatindex(SU,time,m.dish);
break;
}
}
}
return [M,T,W,TH,F,S,SU];
}

Loading