Skip to content

Commit 56adbc8

Browse files
committed
Deleted unnecessary files
1 parent 4f65272 commit 56adbc8

22 files changed

+156
-117
lines changed

__init__.py

+62-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,75 @@
11
from pyramid.config import Configurator
2+
from pyramid.authentication import AuthTktAuthenticationPolicy
3+
from pyramid.authorization import ACLAuthorizationPolicy
4+
5+
from pyramid_beaker import set_cache_regions_from_settings
6+
27
from sqlalchemy import engine_from_config
38

4-
from .models import DBSession
9+
from scm.security import groupfinder
10+
from scm.models import DBSession
11+
from scm.models import StoresIssueNote, StoresIssueNoteItem
512

613
def main(global_config, **settings):
714
""" This function returns a Pyramid WSGI application.
815
"""
916
engine = engine_from_config(settings, 'sqlalchemy.')
1017
DBSession.configure(bind=engine)
11-
config = Configurator(settings=settings)
18+
authn_policy = AuthTktAuthenticationPolicy(
19+
"sosecret", callback = groupfinder)
20+
authz_policy = ACLAuthorizationPolicy()
21+
set_cache_regions_from_settings(settings)
22+
config = Configurator(settings=settings,
23+
root_factory = "scm.models.RootFactory")
24+
config.set_authentication_policy(authn_policy)
25+
config.set_authorization_policy(authz_policy)
26+
#config.add_static_view('static', 'static', cache_max_age=3600)
27+
#config.add_route('home', '/')
28+
#config.scan()
29+
#return config.make_wsgi_app()
30+
31+
32+
config.add_view('scm.views.suppliers',
33+
name='supplier',
34+
renderer='json')
35+
36+
1237
config.add_static_view('static', 'static', cache_max_age=3600)
38+
#config.add_static_view(name='static', path='/var/www/static', cache_max_age=3600)
39+
config.add_route("login", "/login")
40+
config.add_route("logout", "/logout")
1341
config.add_route('home', '/')
42+
config.add_route('proc', '/proc/')
43+
config.add_route('modem_page', '/modem/')
44+
45+
###finance
46+
config.add_route('banks_page', '/banks/')
47+
48+
#procurement
49+
config.add_route('purchase_orders_page', '/purchase_orders/')
50+
config.add_route('requisitions_page', '/requisitions/')
51+
config.add_route('departments_page', '/departments/')
52+
config.add_route('suppliers_page', '/suppliers/')
53+
config.add_route('store_issues_page', '/store_issues/')
54+
config.add_route('delivery_note_page', '/delivery_note/')
55+
config.add_route('goods_received_page', '/goods_received/')
56+
config.add_route('goods_returned_page', '/goods_returned/')
57+
config.add_route('users_page', '/users/')
58+
59+
config.add_route('bincard_page', '/bincard/')
60+
config.add_route('purchase_orders_by_status_page', '/purchase_orders_by_status/')
61+
config.add_route('purchase_orders_by_supplier_page', '/purchase_orders_by_supplier/')
62+
config.add_route('store_issues_report_page', '/store_issues_report/')
63+
config.add_route('goods_received_report_page', '/goods_received_report/')
64+
config.add_route('goods_returned_report_page', '/goods_returned_report/')
65+
config.add_route("permissions", "/permissions/")
66+
67+
#######controller operations###############################################
68+
config.add_route('supplier_controller', '/supplier/operations')
69+
70+
####admin###################
71+
config.add_route("user_controller", '/users/operations')
72+
1473
config.scan()
15-
return config.make_wsgi_app()
1674

75+
return config.make_wsgi_app()

__init__.pyc

2.08 KB
Binary file not shown.

controllers/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#!/usr/bin/env python
22
from api import ApiController
3-
from user import UserController, PermissionController
3+
from user import UserController, PermissionController, GroupController
4+
from department import DepartmentController
5+
from requisition import RequisitionController
46
from supplier import SupplierController

controllers/__init__.pyc

31 Bytes
Binary file not shown.

controllers/api.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
from abc import ABCMeta, abstractmethod
66

77
class ApiController:
8-
"""
9-
Abstract class that must be implemented by all Classes that intend to
10-
manipulate the Models
11-
12-
Abstract class contains methods to carry out CRUD - Create, Read, Update and
13-
Delete operations on models
14-
"""
8+
"""
9+
Abstract class that must be implemented by all Classes that intend to
10+
manipulate the Models
11+
12+
Abstract class contains methods to carry out CRUD - Create, Read, Update and
13+
Delete operations on models
14+
"""
1515
__metaclass__ = ABCMeta
1616

1717
@abstractmethod

controllers/api.pyc

55 Bytes
Binary file not shown.

controllers/supplier.pyc

-86 Bytes
Binary file not shown.

controllers/user.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def update(self, j_group):
243243
transaction.commit()
244244

245245
def get(self, **kwargs):
246-
return DBSession.query(Group).all()
246+
return DBSession.query(Group).filter(void = False)
247247

248248
def delete(self, j_group):
249249
try:
@@ -253,8 +253,13 @@ def delete(self, j_group):
253253
print err
254254
raise KeyError()
255255
with transaction.manager:
256-
group = DBSession.Query(Group).get(self.id)
257-
DBSession.delete(group)
256+
group = DBSession.query(Group).get(self.id)
257+
#Complete deletion may not be the best option. An alternative -
258+
#option is to void the instance
259+
#DBSession.delete(group)
260+
group.void = True
261+
DBSession.merge(group)
262+
transaction.commit()
258263

259264
class PermissionController(ApiController):
260265
permission_id = permission_name = permission_description = None
@@ -263,7 +268,7 @@ def __init__(self, **kwargs):
263268
p_name = kwargs.pop("permission_name", None)
264269

265270
def create(self, j_permission):
266-
pass
271+
267272

268273
def update():
269274
pass

controllers/user.pyc

2.39 KB
Binary file not shown.

models.py

-28
This file was deleted.

models.pyc

-1.04 KB
Binary file not shown.

models/__init__.py

+6-41
Original file line numberDiff line numberDiff line change
@@ -26,59 +26,24 @@
2626
from scm.util import dump_datetime
2727
from .meta import Base
2828
from .meta import DBSession
29-
from .user import User, Permission
29+
from .user import User, Permission, Group
30+
from location import Location
3031
from .supplier import Supplier, SupplierBranch
3132
from .store_issue import StoresIssueNote, StoresIssueNoteItem
3233
from .requisition import Requisition, RequisitionItem
3334
from .department import Department
35+
from delivery_note import DeliveryNote
3436
from .purchase_order import LocalPurchaseOrder
3537
from .goods_received import GoodsReceivedNote
36-
from .goods_returned import GoodsReturnedNote
38+
from .goods_returned import GoodsReturnedNote, GoodsReturnedNote
39+
from .item import Item
40+
from purchase_order import LocalPurchaseOrder, LocalPurchaseOrderItem
3741

3842
class RootFactory(object):
3943
__acl__ = [ (Allow, Everyone, "view"), (Allow, "group:editors", "edit") ]
4044
def __init__(self, request):
4145
pass
4246

43-
class Item(Base):
44-
45-
__tablename__ = "items"
46-
47-
id = Column(Integer, Sequence("item_id_seq"), primary_key = True)
48-
name = Column(String(50))
49-
unit_of_measurement = Column(String(50))
50-
category = Column(ForeignKey("item_categories.id"))
51-
vat_inclusive = Column(Boolean)
52-
created_by = Column(ForeignKey("users.id"))
53-
created_on = Column(DateTime, default = datetime.now())
54-
modified_by = Column(ForeignKey("users.id"))
55-
modified_on = Column(DateTime, default = datetime.now(),
56-
onupdate = datetime.now())
57-
supplier = Column(Integer, ForeignKey("supplier_branches.id"))
58-
59-
def __init__(self, name, supplier):
60-
self.name = name
61-
self.supplier = supplier
62-
63-
def __repr__(self):
64-
return "<Item: %d, %s>" % (self.id, self.name,)
65-
66-
@property
67-
def to_dict(self):
68-
return {
69-
"id": self.id,
70-
"name": self.name,
71-
"unit_of_measurement": self.unit_of_measurement,
72-
"supplier": self.supplier.to_dict,
73-
"category": self.category.to_dict,
74-
"vat_inclusive": self.vat_inclusive,
75-
"created_by": self.created_by,
76-
"created_on": self.created_on,
77-
"modified_by": self.modified_by,
78-
"modified_date": self.modified_on
79-
}
80-
81-
8247
class Status(Base):
8348

8449
__tablename__ = "status"

models/__init__.pyc

-1.14 KB
Binary file not shown.

models/item.py

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/usr/bin/env python
2+
3+
from datetime import datetime
4+
5+
from sqlalchemy import (
6+
Column,
7+
Boolean,
8+
Integer,
9+
Text,
10+
Sequence,
11+
DateTime,
12+
String,
13+
ForeignKey,
14+
Table,
15+
UniqueConstraint,
16+
)
17+
from sqlalchemy.ext.declarative import declarative_base
18+
from sqlalchemy.orm import relationship, backref, column_property
19+
20+
from zope.sqlalchemy import ZopeTransactionExtension
21+
from pyramid.security import (
22+
Allow,
23+
Everyone,
24+
)
25+
26+
from .meta import Base
27+
28+
class Item(Base):
29+
30+
__tablename__ = "items"
31+
32+
id = Column(Integer, Sequence("item_id_seq"), primary_key = True)
33+
name = Column(String(50))
34+
unit_of_measurement = Column(String(50))
35+
category = Column(ForeignKey("item_categories.id"))
36+
vat_inclusive = Column(Boolean)
37+
created_by = Column(ForeignKey("users.id"))
38+
created_on = Column(DateTime, default = datetime.now())
39+
modified_by = Column(ForeignKey("users.id"))
40+
modified_on = Column(DateTime, default = datetime.now(),
41+
onupdate = datetime.now())
42+
supplier = Column(Integer, ForeignKey("supplier_branches.id"))
43+
44+
def __init__(self, name, supplier):
45+
self.name = name
46+
self.supplier = supplier
47+
48+
def __repr__(self):
49+
return "<Item: %d, %s>" % (self.id, self.name,)
50+
51+
@property
52+
def to_dict(self):
53+
return {
54+
"id": self.id,
55+
"name": self.name,
56+
"unit_of_measurement": self.unit_of_measurement,
57+
"supplier": self.supplier.to_dict,
58+
"category": self.category.to_dict,
59+
"vat_inclusive": self.vat_inclusive,
60+
"created_by": self.created_by,
61+
"created_on": self.created_on,
62+
"modified_by": self.modified_by,
63+
"modified_date": self.modified_on
64+
}
65+
66+

models/item.pyc

2.21 KB
Binary file not shown.

models/requisition.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ class Requisition(Base):
4343
created_date = Column(DateTime, default = datetime.now())
4444
modified_by = Column(ForeignKey("users.id"))
4545
modified_date = Column(DateTime, default = datetime.now(), onupdate = datetime.now())
46+
void = Column(Boolean, default = False)
4647
requisition_items = relationship("RequisitionItem")
47-
48+
4849
@property
4950
def to_dict(self):
5051
return {

models/user.py

+1
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ class Group(Base):
153153

154154
permissions = relationship("Permission", secondary = group_permissions,
155155
backref = "groups")
156+
voided = Column("void", Boolean, default = False)
156157

157158
__table_args__ = (UniqueConstraint("name"),)
158159

models/user.pyc

1.59 KB
Binary file not shown.

scripts/populate.pyc

37 Bytes
Binary file not shown.

tests.py

-32
This file was deleted.

tests.pyc

-1.55 KB
Binary file not shown.

views.pyc

8.85 KB
Binary file not shown.

0 commit comments

Comments
 (0)