Foundry Access Library
by justjohn
HTML
<link rel="stylesheet" href="http://phpfoundry.com:9999/rc/sencha-touch-1.1.0/resources/css/sencha-touch.css">
<script src="http://phpfoundry.com:9999/rc/sencha-touch-1.1.0/sencha-touch-debug.js"></script>
<script src="http://rc.foundryjs.com/FoundryJS.Ajax.js"></script>
<script src="http://rc.foundryjs.com/FoundryJS.Foundry.js"></script>
CSS
.x-html {
padding:0;
}
.project_overview {
background:#ddd;
border-bottom:1px solid #333;
padding:5px 5px 15px;
}
.project_page {
padding:5px;
}
.project_overview h3 {
margin:5px 0 0 5px;
font-size: 1.5em;
}
.project_overview h4 {
margin:0;
font-size: 1.1em;
color: #999;
}
JavaScript
Ext.regModel('Access', {
fields: [
'id', // DONT TOUCH
'key',
'username'
],
proxy: {
type: 'localstorage',
id : 'access'
}
});
var accessStore = new Ext.data.Store({
model : 'Access'
});
accessStore.load();
Ext.regModel('Project', {
fields: [
'name', 'key', 'category', 'description', 'admingroup', 'devgroup', 'usergroup','visibility', 'groupvisibility', 'page', 'id'
],
proxy: {
type: 'localstorage',
id : 'project'
}
});
var store = new Ext.data.Store({
model : 'Project',
sorters: [
{
property : 'category',
direction: 'ASC'
},
{
property : 'name',
direction: 'ASC'
}
],
getGroupString : function(record) {
return record.get('category');
}
});
store.load();
hub = new FoundryJS.Foundry({
api_base: "https://hub.phpfoundry.com/api/1/",
api_key: "1234",
ajaxCallback: FoundryJS.Ajax.ExtJS
});
var access = accessStore.getAt(0);
console.log("access token", access);
if (access != undefined) {
console.log("Loading from stored access token: ", access.data);
access_token = access.data.key;
hub.setAccessToken(access_token);
loadProjects();
} else {
hub.authorizeUser({
username: "test",
password: "password",
success: function(access_token) {
hub.setAccessToken(access_token);
accessStore.removeAll();
accessStore.sync();
access = {
key: access_token,
username: this.username
};
accessStore.insert(0, access);
accessStore.sync();
console.log(access);
loadProjects();
},
error: function(data) {
console.log(data);
alert("auth failure");
}
});
}
function loadProjects() {
hub.projects({
success:...